:root {
  --navy: #1f2a44;
  --slate: #34456b;
  --wine: #8c2f45;
  --rose: #f4e8ec;
  --wine-line: #ab4961;
  --muted: #536078;
  --quiet: #667185;
  --line: #d5dbe5;
  --input-line: #bbc4d2;
  --paper: #f5f6f9;
  --pale: #edf0f6;
  --focus: #536fa1;
  --focus-ring: #536fa124;
  --shadow: #1f2a4412;
  --overlay: #1f2a4455;
  --dialog-shadow: #1f2a4433;
  --white: #ffffff;
}
:root{font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;color:var(--navy);background:var(--paper);font-synthesis:none;font-size:15px;line-height:1.7}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible{outline:3px solid var(--focus);outline-offset:4px}button{border:0}a{color:inherit}.masthead{height:88px;padding:0 6%;display:flex;align-items:center;gap:32px;border-bottom:1px solid var(--line);background:var(--white)}.brand{font-size:21px;letter-spacing:.16em;font-weight:750;text-decoration:none;display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:35px;height:38px;background:var(--navy);color:var(--white);font-size:25px;border-radius:10px;letter-spacing:0}.masthead-caption{border-left:1px solid var(--line);padding-left:30px;color:var(--muted);font-size:12px}.language{margin-left:auto;color:var(--muted);font-size:12px}.language span{margin-left:8px;border:1px solid var(--line);padding:4px 7px;border-radius:5px;font-size:10px}main{max-width:1230px;margin:auto;padding:56px 38px 76px}.intro{display:flex;align-items:center;justify-content:space-between;gap:52px;margin-bottom:52px}.eyebrow{font-size:10px;letter-spacing:.18em;color:var(--wine);font-weight:700;margin:0 0 18px}h1{font-size:38px;line-height:1.55;font-weight:650;letter-spacing:.045em;margin:0 0 20px}.lead{font-size:13px;line-height:2;color:var(--muted);margin:0}.intro-note{max-width:330px;border-left:2px solid var(--wine-line);padding:8px 0 8px 25px}.note-icon{display:block;color:var(--wine);font-size:13px;letter-spacing:.2em;margin-bottom:14px}.intro-note strong{font-size:13px;font-weight:600}.intro-note p{font-size:11px;color:var(--muted);line-height:2;margin:10px 0 0}.workspace{display:grid;grid-template-columns:250px minmax(0,1fr);gap:42px;align-items:start}.sidebar{position:sticky;top:26px}.sidebar-label{font-size:11px;letter-spacing:.1em;color:var(--muted);margin:0 0 14px 14px}nav{display:flex;flex-direction:column;gap:5px}.step{background:none;color:var(--muted);display:flex;align-items:center;gap:12px;text-align:left;padding:12px 13px;border-radius:8px;width:100%;font-size:12px;line-height:1.6}.step-index{flex-shrink:0;font-size:11px;color:var(--quiet);width:25px;height:25px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--line)}.step.active{background:var(--pale);color:var(--navy);font-weight:650}.step.active .step-index{background:var(--navy);color:white;border-color:var(--navy)}.step:hover{background:var(--pale)}.step.done .step-index{color:var(--slate);border-color:var(--input-line)}.draft-box{margin:30px 13px 0;border-top:1px solid var(--line);padding-top:20px;font-size:11px;color:var(--muted)}.draft-box strong{font-weight:600;color:var(--muted)}.draft-box p{line-height:1.9}.draft-box label{display:flex;align-items:center;gap:7px;color:var(--muted)}.draft-box input{accent-color:var(--navy)}.draft-box button{background:none;color:var(--muted);padding:10px 0;font-size:10px;text-decoration:underline;text-underline-offset:4px}#draft-status{display:block;font-size:10px;margin-top:7px}.form-area{background:white;border:1px solid var(--line);border-radius:16px;padding:28px 36px 22px;box-shadow:0 5px 30px var(--shadow)}.progress-top{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;gap:10px}#step-caption{color:var(--slate);font-weight:600}progress{display:block;width:100%;height:4px;border:0;border-radius:8px;background:var(--pale);margin:12px 0 30px;overflow:hidden}progress::-webkit-progress-bar{background:var(--pale)}progress::-webkit-progress-value{background:var(--wine);border-radius:8px}h2{font-size:22px;font-weight:600;letter-spacing:.03em;margin:0 0 10px}.section-description{font-size:12px;color:var(--muted);margin-bottom:28px}.field{margin-bottom:28px}.field label{display:flex;align-items:start;gap:10px;font-size:13px;font-weight:600;line-height:1.6;margin-bottom:9px}.field-number{color:var(--quiet);font-size:11px;padding-top:2px;min-width:16px;font-weight:400}.badge{font-size:9px;font-weight:500;border-radius:3px;padding:1px 5px;color:var(--muted);background:var(--pale);white-space:nowrap;margin-left:auto}.badge.required{color:var(--wine);background:var(--rose)}.field input,.field textarea,.field select{width:100%;border:1px solid var(--input-line);background:var(--white);border-radius:7px;padding:12px 13px;color:var(--navy);font-size:13px;outline:none;transition:border-color .15s,box-shadow .15s}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--focus);box-shadow:0 0 0 3px var(--focus-ring)}.field textarea{resize:vertical;min-height:110px;line-height:1.9}.field input::placeholder,.field textarea::placeholder{color:var(--quiet)}.help{color:var(--muted);font-size:11px;line-height:1.9;margin:8px 0 0;white-space:pre-line}.field.invalid input,.field.invalid textarea,.field.invalid select{border-color:var(--wine-line)}.field-error{color:var(--wine);font-size:11px;margin-top:7px}.form-actions{display:flex;align-items:center;gap:15px;border-top:1px solid var(--pale);padding:24px 0 8px;margin-top:35px}.primary{background:var(--navy);color:white;padding:12px 25px;border-radius:7px;font-size:12px;font-weight:600;white-space:nowrap}.primary:hover{background:var(--slate)}.primary span{margin-left:25px}.secondary{padding:10px 13px;background:white;border:1px solid var(--line);border-radius:7px;color:var(--muted);font-size:12px}.form-actions .primary{margin-left:auto}#action-hint{font-size:10px;color:var(--muted)}.form-footnote{text-align:center;font-size:10px;color:var(--muted);margin:15px 0 0}.notice,.error{padding:12px 15px;border-radius:7px;font-size:12px;margin:15px 0}.notice{background:var(--pale);color:var(--muted)}.error{background:var(--rose);color:var(--wine)}.honey{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}footer{border-top:1px solid var(--line);max-width:1154px;margin:0 auto;padding:27px 0;display:flex;align-items:center;gap:25px;color:var(--muted);font-size:10px}.footer-brand{font-size:13px;letter-spacing:.14em;font-weight:700;color:var(--slate)}footer button{margin-left:auto;font-size:10px;background:none;color:var(--muted)}.review-section{margin:25px 0}.review-heading{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 0 10px}.review-heading h3{font-size:13px;font-weight:600}.review-heading button{font-size:11px;background:var(--pale);color:var(--slate);padding:6px 10px;border-radius:4px}.review-row{padding:13px 0;border-bottom:1px solid var(--pale)}.review-row dt{font-size:11px;color:var(--muted);margin-bottom:6px}.review-row dd{font-size:13px;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.review-row .empty{color:var(--quiet)}.consent{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:20px;font-size:12px;line-height:1.9}.consent label{display:flex;align-items:start;gap:10px}.consent input{margin-top:6px;accent-color:var(--navy)}.consent button{background:none;color:var(--slate);text-decoration:underline;padding:0;font-size:inherit}.consent p{font-size:10px;color:var(--muted)}.success{text-align:center;max-width:670px;margin:35px auto;padding:55px 35px;background:var(--white);border:1px solid var(--line);border-radius:15px}.success-mark{display:grid;place-items:center;margin:0 auto 25px;width:64px;height:64px;background:var(--pale);color:var(--slate);border-radius:50%;font-size:30px}.success h1{font-size:26px}.success p{font-size:13px;color:var(--muted);line-height:2}.receipt{margin:25px 0;padding:18px;background:var(--paper);border-radius:7px;font-size:12px;word-break:break-all}.receipt strong{display:block;font-size:14px;letter-spacing:.03em;margin-top:8px}dialog{border:0;border-radius:14px;padding:0;width:min(600px,92vw);max-height:85vh;color:var(--navy);box-shadow:0 20px 80px var(--dialog-shadow)}dialog::backdrop{background:var(--overlay)}.privacy-body{padding:40px;position:relative}.privacy-body p:not(.eyebrow){font-size:13px;line-height:2.1;color:var(--muted)}.dialog-close{position:absolute;right:15px;top:10px;background:none;font-size:25px;color:var(--muted)}[hidden]{display:none!important}@media(max-width:950px){main{padding:35px 24px}.intro{gap:30px}.intro-note{max-width:260px}.workspace{grid-template-columns:210px minmax(0,1fr);gap:23px}.form-area{padding:24px}.step{font-size:11px;padding:10px}.masthead{padding:0 4%;height:75px}footer{margin:0 24px}#action-hint{display:none}h1{font-size:31px}}@media(max-width:680px){.masthead-caption{display:none}.masthead{height:69px;padding:0 22px}.brand{font-size:18px}main{padding:30px 17px 45px}.intro{display:block;margin-bottom:28px}.intro h1{font-size:29px}.intro .lead{font-size:12px}.intro-note{max-width:none;margin-top:24px;padding-left:17px}.intro-note .note-icon{display:none}.intro-note p{margin-top:5px}.workspace{display:block}.sidebar{position:static;margin-bottom:22px}.sidebar-label{display:none}nav{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.step{justify-content:center;font-size:0;padding:8px}.step-index{font-size:11px}.draft-box{margin:12px 4px 0;padding-top:13px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.draft-box>strong,.draft-box>p{display:none}.draft-box label{font-size:10px}#draft-status{margin:0}.draft-box button{margin-left:auto;padding:0}.form-area{padding:23px 20px;border-radius:12px}h2{font-size:19px}.field label{font-size:12px}.field input,.field textarea,.field select{font-size:16px}.desktop{display:none}.primary{padding:12px 18px}.primary span{margin-left:15px}.form-actions{gap:10px}.language{font-size:10px}footer{margin:0 20px;gap:15px;flex-wrap:wrap}footer>span:nth-child(2){display:none}.privacy-body{padding:30px 23px}.success{padding:38px 22px}.success h1{font-size:23px}}

.logo-input { display:grid; gap:7px; }
.logo-picker { display:flex; align-items:center; gap:12px; padding:9px; border:1px solid var(--line); border-radius:7px; background:var(--paper); }
.logo-choose { position:relative; flex:none; padding:7px 12px; border:1px solid var(--input-line); border-radius:5px; background:var(--pale); color:var(--navy); }
.logo-choose:focus-within { outline:2px solid var(--slate); outline-offset:2px; }
.logo-choose input[type=file] { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; padding:0; margin:0; }
.logo-filename { min-width:0; overflow-wrap:anywhere; }
.field.invalid .logo-picker { border-color:var(--wine-line); }
.logo-input small,.logo-status { margin:0; font-size:.82rem; color:var(--muted); }
.logo-status:empty { display:none; }
.logo-preview { display:flex; align-items:center; gap:12px; }
.logo-preview[hidden],.logo-input [hidden] { display:none; }
.logo-preview img,.review-row img { object-fit:contain; border:1px solid var(--line); border-radius:5px; }
.field .logo-input label { margin:6px 0 0; }

#legacy-draft:not([hidden]){display:block;margin:8px 0;color:inherit;text-underline-offset:3px}

/* The navy cover, white pages and burgundy section markers of the media plan. */
main:has(> .intro) { padding-top:0; }
.intro {
  background:var(--navy); color:white; position:relative;
  box-shadow:0 0 0 100vmax var(--navy); clip-path:inset(0 -100vmax);
  padding:clamp(30px,4vw,54px) 0; margin-bottom:clamp(26px,3vw,42px);
}
.intro .eyebrow { display:flex; align-items:center; gap:12px; color:#c6cfe0; margin-bottom:12px; }
.intro .eyebrow::before { content:""; width:32px; height:3px; background:#c87287; }
.intro h1 { font-size:clamp(24px,3vw,37px); line-height:1.4; letter-spacing:.035em; margin:0 0 12px; }
.intro .lead,.intro-note p { color:#d4dbe7; }
.intro-note { border-color:#ac5a71; }
.intro .note-icon { color:#e4bac5; }
.step.active,.step.active:hover { background:var(--navy); color:white; }
.step.active .step-index { color:white; background:var(--slate); border-color:#73819d; }
progress::-moz-progress-bar { background:var(--wine); }
@media(max-width:680px) {
  .intro { padding:24px 0; }
  .intro-note { margin-top:16px; padding-top:0; padding-bottom:0; }
}
