/* Standalone editorial brief builder; inherits Vividry fonts, colours and site chrome. */
.brief-page { --brief-ink:#030303; --brief-paper:#fff; --brief-rule:#d1d1d1; --brief-muted:#666; font-size:16px; line-height:1.5; letter-spacing:0; text-transform:none; }
.brief-page h1,.brief-page h2,.brief-page h3,.brief-page p { margin-top:0; }
.brief-page .site-header { background:rgba(255,255,255,.94); }
.brief-page .site-nav a { text-transform:uppercase; }
.brief-page :focus-visible { outline:2px solid currentColor; outline-offset:4px; }
.brief-hero { padding:clamp(9rem,15vw,14rem) var(--pad) clamp(5rem,10vw,9rem); }
.brief-eyebrow { margin:0 0 1.5rem; font-size:.7rem; font-weight:600; letter-spacing:.11em; text-transform:uppercase; }
.brief-hero__content { display:grid; grid-template-columns:1.2fr .65fr; gap:clamp(2rem,9vw,10rem); align-items:end; }
.brief-hero h1 { max-width:48rem; margin:0; font-size:clamp(2.55rem,5.2vw,5rem); font-weight:800; line-height:1.18; letter-spacing:0; text-transform:uppercase; }
.brief-hero__content > div { max-width:440px; padding-bottom:.35rem; }
.brief-hero__content p { margin:0 0 1.8rem; font-size:clamp(1rem,1.3vw,1.2rem); line-height:1.55; }
.brief-button { display:inline-flex; align-items:center; justify-content:space-between; gap:2rem; min-height:3.5rem; padding:.9rem 1.2rem; border:1px solid var(--brief-ink); border-radius:0; font-size:.85rem; font-weight:600; text-decoration:none; cursor:pointer; transition:background .2s,color .2s,opacity .2s; }
.brief-button--dark { background:var(--brief-ink); color:var(--brief-paper); }.brief-button--dark:hover:not(:disabled) { background:#333; }
.brief-button--light { background:transparent; color:var(--brief-ink); }.brief-button--light:hover:not(:disabled) { background:#eee; }
.brief-button:disabled { cursor:not-allowed; opacity:.38; }
.brief-time { display:inline-block; margin-left:1rem; color:var(--brief-muted); font-size:.77rem; }
.builder { padding:clamp(3rem,7vw,7rem) var(--pad); background:var(--brief-paper); scroll-margin-top:6rem; }
.builder__top { display:flex; align-items:flex-end; justify-content:space-between; gap:2rem; max-width:1100px; margin:0 auto 3.5rem; }
.builder__top h2 { margin:0; font-size:clamp(1.9rem,4vw,3.7rem); font-weight:800; line-height:1.03; letter-spacing:-.05em; text-transform:uppercase; }
.step h3 { text-transform:uppercase; }
.text-button { padding:.5rem 0; border:0; border-bottom:1px solid currentColor; background:transparent; color:inherit; font-size:.78rem; cursor:pointer; }
.progress { max-width:1100px; margin:0 auto 3.5rem; }
.progress__labels { display:flex; justify-content:space-between; gap:1rem; margin-bottom:.75rem; font-size:.72rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.progress__track { height:2px; background:#d2d2ce; }.progress__track span { display:block; width:16.666%; height:100%; background:var(--brief-ink); transition:width .35s ease; }
#brief-form { max-width:1100px; margin:0 auto; }
.step { animation:step-in .28s ease both; }.step[hidden],.summary[hidden] { display:none; }
.step { text-transform:uppercase; }
.step__number { margin-bottom:.6rem!important; color:var(--brief-muted); font-size:.69rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
.step h3 { margin:0 0 .35rem; font-size:clamp(2rem,4.4vw,4rem); font-weight:600; line-height:1.05; letter-spacing:-.05em; }
.step__prompt { margin:0 0 2.5rem; color:#4a4a4a; font-size:1.02rem; text-transform:none; }
.field { display:grid; gap:.65rem; max-width:780px; margin:0 0 2.3rem; font-size:.84rem; font-weight:600; }
.field b,.choice-group b { color:#555; font-size:.71rem; font-weight:400; }.field i { color:#555; font-size:.75rem; font-weight:400; font-style:normal; }
.field textarea,.field input { width:100%; min-height:3rem; padding:.75rem 0; border:0; border-bottom:1px solid #898985; border-radius:0; background:transparent; color:var(--brief-ink); font:400 1rem/1.5 var(--font); letter-spacing:0; text-transform:none; }
.field textarea { min-height:7rem; resize:vertical; }.field input { min-height:2.8rem; }
.field textarea::placeholder,.field input::placeholder { color:#757575; opacity:1; text-transform:uppercase; }
.choice-group { min-width:0; padding:0; margin:0 0 2.6rem; border:0; }
.choice-group legend { margin-bottom:1rem; font-size:.84rem; font-weight:600; }
.choices { display:flex; flex-wrap:wrap; gap:.65rem; }
.choice { min-height:2.9rem; padding:.7rem 1rem; border:1px solid #8f8f8b; border-radius:0; background:transparent; color:var(--brief-ink); font-size:.79rem; line-height:1.3; text-align:left; cursor:pointer; transition:background .15s,color .15s,border-color .15s; }
.step .choice { text-transform:uppercase; }
.choice:hover { border-color:var(--brief-ink); }.choice[aria-pressed="true"] { border-color:var(--brief-ink); background:var(--brief-ink); color:white; }
.contact-fields { display:grid; grid-template-columns:1fr 1fr; gap:0 2rem; max-width:850px; }
.consent { display:flex; align-items:flex-start; gap:.75rem; max-width:580px; font-size:.82rem; cursor:pointer; }.consent input { width:1.15rem; height:1.15rem; flex:none; margin:.05rem 0 0; accent-color:#030303; }
.step-controls { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-top:3.5rem; padding-top:1.5rem; border-top:1px solid #d1d1cd; }
.step-controls .brief-button { text-transform:uppercase; }
.form-error { margin:1.5rem 0 0; color:#9d2525; font-size:.85rem; }
.summary { padding:clamp(4rem,9vw,9rem) var(--pad); }
.summary > .brief-eyebrow,.summary > h2 { max-width:1100px; margin-right:auto; margin-left:auto; }
.summary > h2 { margin-bottom:3.5rem; }
.summary__layout { display:grid; grid-template-columns:1.1fr .7fr; gap:clamp(2.5rem,8vw,8rem); max-width:1100px; margin:0 auto; }
.summary-list { display:grid; grid-template-columns:1fr 1.5fr; margin:0; }
.summary-list div { display:contents; }.summary-list dt,.summary-list dd { padding:1rem 0; border-top:1px solid var(--brief-rule); font-size:.86rem; line-height:1.5; overflow-wrap:anywhere; }.summary-list dt { padding-right:1rem; font-weight:600; }.summary-list dd { margin:0; }
.understanding { padding:1.5rem; background:var(--brief-paper); }.understanding > p:not(.brief-eyebrow) { font-size:1.05rem; line-height:1.6; }.understanding .brief-eyebrow { margin-bottom:.9rem; font-size:.66rem; }.fit { margin-top:2.3rem; padding-top:1.5rem; border-top:1px solid #c6c6c2; }.fit h3 { margin:0 0 .5rem; font-size:1.25rem; font-weight:600; }.fit p:last-child { margin:0; font-size:.88rem; line-height:1.55; }
.summary-actions { display:flex; flex-direction:column; align-items:flex-start; gap:1rem; margin:2rem 0 0; padding-top:1.5rem; border-top:1px solid var(--brief-rule); }.summary-actions__buttons { display:flex; flex-wrap:wrap; gap:.7rem; }.summary-actions__buttons .brief-button { text-transform:uppercase; }.submission-status { margin:1.3rem 0 0; padding:1rem; border:1px solid var(--brief-rule); font-size:.9rem; }.submission-status[data-state="error"] { border-color:#9d2525; color:#842020; }
.brief-page .site-footer { text-transform:uppercase; }
.brief-page .site-footer a:not(.brand-icon) { text-decoration:underline; text-underline-offset:.2em; }

@keyframes step-in { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
@media (max-width:760px) {
  .brief-page .site-nav { max-width:75%; }
  .brief-hero { padding-top:9rem; }.brief-hero__content { grid-template-columns:1fr; gap:2rem; }.brief-hero h1 { max-width:650px; }.brief-hero__content > div { max-width:600px; }
  .brief-time { display:block; margin:1rem 0 0; }
  .builder__top { align-items:flex-start; }.builder__top .text-button { flex:none; }
  .summary__layout { grid-template-columns:1fr; }
}
@media (max-width:520px) {
  .brief-page .brand-icon { width:3.5rem; }.brief-page .site-nav { max-width:78%; }
  .brief-hero { padding-inline:1.25rem; }.brief-hero h1 { font-size:2.5rem; }
  .builder,.summary { padding-right:1.25rem; padding-left:1.25rem; }.builder__top { flex-direction:column; margin-bottom:2.5rem; }.builder__top .text-button { align-self:flex-start; }
  .progress { margin-bottom:2.5rem; }.step h3 { font-size:2.35rem; }.contact-fields { grid-template-columns:1fr; }.choice { min-height:2.8rem; padding:.65rem .8rem; }.summary-list { grid-template-columns:1fr; }.summary-list dt { padding-bottom:.2rem; border-bottom:0; }.summary-list dd { padding-top:0; }
  .brief-page .site-footer { grid-template-columns:auto 1fr; }.brief-page .site-footer small:last-child { display:none; }
}
@media (prefers-reduced-motion:reduce) { .brief-page *, .brief-page *::before,.brief-page *::after { scroll-behavior:auto!important; animation-duration:.01ms!important; transition-duration:.01ms!important; } }
