/* Consultation landing: restrained brand, clear choices, one coherent form. */
:root{--paper:#f7f8fc;--ink:#171b29;--muted:#606778;--line:#dde2ed;--radius:12px;scroll-padding-top:24px}
body{background:var(--paper)}
.shell{width:min(1088px,calc(100% - 64px))}
.site-head{padding:10px 0;border-color:#dce1ec}
.site-head>a:first-child{width:192px;margin-left:-16px}
.head-link{display:inline-flex;align-items:center;gap:20px;font-weight:550;min-height:44px}
.head-link span{margin-left:0}
.intro{grid-template-columns:minmax(0,1.5fr) minmax(260px,.8fr);gap:72px;padding-block:60px 64px;align-items:center}
.intro-copy{min-width:0}
.eyebrow{font-size:10px;letter-spacing:.14em;margin-bottom:20px;font-weight:650}
.intro h1{font-size:clamp(44px,5.2vw,68px);font-weight:550;letter-spacing:-.06em;line-height:1.08;margin-bottom:20px;overflow-wrap:anywhere}
.intro .welcome{font-size:21px;line-height:1.4;margin-bottom:24px;letter-spacing:-.025em}
.lead{font-size:18px;line-height:1.7;margin-bottom:18px;max-width:580px}
.intro-note{font-size:15px;line-height:1.8;margin-bottom:26px;color:var(--muted)}
.intro-note strong{color:var(--ink);font-weight:550}
.button{min-height:48px;border-radius:7px;padding:14px 20px;transition:background .15s ease}
.intro-panel{background:transparent;color:var(--ink);border:0;border-left:2px solid var(--blue);border-radius:0;box-shadow:none;padding:4px 0 4px 28px;min-height:0}
.panel-label{color:var(--blue);font-size:11px;font-weight:600}
.intro-panel>p{font-size:28px;line-height:1.25;font-weight:500;letter-spacing:-.045em;margin:20px 0 26px}
.panel-bottom{display:grid;gap:0;color:var(--muted);font-size:13px;counter-reset:service}
.panel-bottom span{display:flex;align-items:center;gap:16px;padding-block:11px;border-top:1px solid var(--line);counter-increment:service}
.panel-bottom span::before{content:'0' counter(service);font-size:10px;color:var(--blue);font-variant-numeric:tabular-nums}
h2{font-size:clamp(30px,3.2vw,40px);letter-spacing:-.045em;line-height:1.2;font-weight:520}
.what{padding-block:40px 48px}
.section-heading{display:grid;grid-template-columns:1fr 2fr;gap:32px;align-items:start;margin-bottom:28px}
.section-heading .eyebrow{margin-top:8px}
.section-heading h2{margin:0}
.services{gap:32px}
.services article{padding-top:20px}
.number{margin-bottom:16px;font-size:11px}
.services h3{font-size:19px;line-height:1.4;margin-bottom:12px;max-width:260px}
.services p{font-size:14px;line-height:1.8}
.partner{grid-template-columns:1fr 1.15fr;gap:56px;padding:32px 36px;background:#eaf0ff;border:0;border-radius:var(--radius);margin-top:8px;margin-bottom:8px}
.partner .eyebrow{color:var(--blue);margin-bottom:12px}
.partner h2{font-size:29px;margin-bottom:0}
.partner p:not(.eyebrow){font-size:14px;line-height:1.8;margin-bottom:12px}
.partner p:last-child{margin-bottom:0}
.conversation{padding-block:52px 48px}
.conversation-copy{display:grid;grid-template-columns:1fr 1.15fr;gap:56px;max-width:none;margin-bottom:28px}
.conversation-copy h2{margin-bottom:0;max-width:360px}
.conversation-copy .eyebrow{margin-bottom:14px}
.conversation-copy p:not(.eyebrow){font-size:15px;line-height:1.8;margin-bottom:10px}
.conversation-details>a{display:inline-block;color:var(--blue);text-decoration:none;font-size:13px;min-height:32px;padding-top:4px}
.conversation form{padding:32px;border-color:#d4dbea;border-radius:var(--radius);box-shadow:0 8px 24px #182c5a04}
.input-options{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:28px;margin-bottom:28px}
.text-box{border:0;border-radius:0;padding:0;background:transparent}
.text-box>label{font-size:16px;font-weight:550;margin:0 0 12px;line-height:1.4}
.text-box textarea{margin:0;min-height:232px;background:#fff;font-size:15px;line-height:1.8;padding:16px;border-color:#cbd3e2;border-radius:8px}
.text-box textarea:focus{border-color:var(--blue)}
.input-options .voice-box{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#eef3ff;border:0;border-radius:8px;padding:22px 24px 24px;text-align:center;margin-top:0}
.input-options .voice-box[hidden]{display:none}
.voice-box legend{float:left;width:100%;padding:0;text-align:left;font-size:16px;line-height:1.4;margin-bottom:12px;color:var(--ink)}
.voice-idle{display:flex;align-items:center;justify-content:center;gap:5px;min-height:118px;width:100%;flex:1}
.voice-idle span{display:block;width:5px;height:12px;border-radius:4px;background:var(--blue);opacity:.55}
.voice-idle span:nth-child(2n){height:26px}.voice-idle span:nth-child(3n){height:42px}.voice-idle span:nth-child(5n){height:30px}.voice-idle span:nth-child(7){height:56px}
.voice-box:has(.recording-display:not([hidden])) .voice-idle{display:none}
.voice-box>#recordVoice{margin:0;justify-content:center;min-height:48px;width:100%;max-width:260px;font-size:14px}
.recording-display{margin:4px 0 16px;width:100%;padding:14px;border:0;box-shadow:none}
.voice-box #voiceStatus{text-align:left;width:100%;margin-top:12px}
.fields{grid-template-columns:1fr 1fr;gap:24px;padding-top:24px;border-top:1px solid var(--line)}
.fields label{font-size:13px;margin-bottom:22px}
input,textarea,.meeting-fields select{border-radius:7px;border-color:#cbd3e2;background:#fff}
input{min-height:48px;padding:11px 13px;font-size:15px}
.meeting-box{border:0;background:#f5f7fb;border-radius:8px;margin:0 0 24px;padding:20px}
.meeting-box legend{float:left;width:100%;margin:0 0 16px;padding:0;font-size:13px}
.meeting-fields{clear:both;gap:24px}
.meeting-fields label{font-size:12px}
.meeting-fields input,.meeting-fields select{padding:11px 13px;font-size:15px;min-height:48px}
.form-foot{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center}
.form-foot #acceptVoice{grid-column:2;grid-row:1;min-width:148px;width:auto;margin:0}
.conversation .form-foot .privacy{grid-column:1;grid-row:1;font-size:10px;line-height:1.8;max-width:560px;margin:0}
.inline-review{margin-top:14px}
.text-box .inline-review h3{font-size:16px}
.page-foot{padding-block:24px;font-size:11px}
select:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
@media(max-width:900px){
 .intro{gap:36px;grid-template-columns:minmax(0,1.4fr) minmax(230px,.8fr);padding-block:44px 48px}
 .intro-panel{padding-left:20px}.intro-panel>p{font-size:25px}
 .section-heading{grid-template-columns:1fr 1.6fr}.services{gap:24px}
 .partner,.conversation-copy{gap:32px}.partner{padding:28px}
 .conversation form{padding:24px}.input-options{gap:20px}.input-options .voice-box{padding:20px}
}
@media(max-width:700px){
 .shell{width:calc(100% - 36px)}.site-head{padding-block:8px}.site-head>a:first-child{width:156px;margin-left:-12px}.head-link{max-width:140px;font-size:11px;gap:8px}
 .intro{grid-template-columns:1fr;gap:28px;padding-block:32px 36px}
 .intro h1{font-size:clamp(40px,10vw,54px);margin-bottom:16px}.intro .welcome{font-size:19px;margin-bottom:20px}
 .lead{font-size:16px;line-height:1.75;margin-bottom:14px}.intro-note{font-size:14px;line-height:1.8;margin-bottom:22px}
 .intro-panel{padding:4px 0 4px 20px}.intro-panel>p{font-size:24px;line-height:1.25;margin:14px 0 18px}
 .panel-bottom{font-size:12px}.panel-bottom span{padding-block:9px}.panel-label{font-size:10px}
 .what{padding-block:30px 34px}.section-heading{display:block;margin-bottom:24px}.section-heading .eyebrow{margin-top:0;margin-bottom:14px}.section-heading h2{font-size:29px}
 .services{gap:22px}.services article{display:grid;grid-template-columns:24px 1fr;gap:0 16px;padding-top:18px}.number{grid-row:1/3;margin-top:5px;margin-bottom:0}.services h3{font-size:18px;max-width:none;margin-bottom:8px}.services p{font-size:13px;line-height:1.8}
 .partner{grid-template-columns:1fr;gap:18px;padding:24px;margin-block:0}.partner h2{font-size:27px}.partner p:not(.eyebrow){font-size:13px}
 .conversation{padding-block:34px}.conversation-copy{display:block;margin-bottom:22px}.conversation-copy h2{font-size:30px;max-width:none;margin-bottom:18px}.conversation-copy p:not(.eyebrow){font-size:14px}
 .conversation form{padding:18px}.input-options{grid-template-columns:1fr;gap:18px;margin-bottom:22px}.text-box>label,.voice-box legend{font-size:15px}.text-box textarea{min-height:200px;font-size:15px;padding:13px}
 .input-options .voice-box{padding:18px}.voice-idle{min-height:70px}.voice-box>#recordVoice{max-width:none}.voice-box legend{margin-bottom:4px}
 .fields{gap:14px;padding-top:20px}.fields label{font-size:12px;margin-bottom:20px}.fields input{font-size:16px;padding:10px;min-height:46px}
 .meeting-box{padding:16px;margin-bottom:20px}.meeting-fields{gap:12px}.meeting-fields input,.meeting-fields select{font-size:16px;padding:10px;min-height:46px}
 .form-foot{display:flex;flex-direction:column;gap:14px;align-items:stretch}.form-foot #acceptVoice{width:100%;min-height:48px}.conversation .form-foot .privacy{font-size:10px;max-width:none}
 .page-foot{gap:12px;font-size:10px;padding-block:20px}
}
@media(max-width:500px){.fields,.meeting-fields{grid-template-columns:1fr;gap:14px}.fields label{margin-bottom:4px}.fields{padding-bottom:20px}.meeting-fields input{width:100%;min-width:0}}
@media(max-width:360px){.partner{padding:20px}.site-head>a:first-child{width:140px}.head-link{max-width:116px}}
@media(prefers-reduced-motion:reduce){.button{transition:none}}

/* One brief, two input methods. Both panels keep their height in every state. */
.input-heading{font-size:22px;font-weight:550;line-height:1.35;letter-spacing:-.035em;margin:0 0 20px}
.input-options{grid-template-columns:minmax(0,7fr) minmax(0,3fr);gap:20px;align-items:stretch}
.text-box,.input-options .voice-box{height:310px;min-height:0;padding:20px;border-radius:8px;overflow:hidden}
.text-box{border:1px solid #cbd3e2;display:flex;flex-direction:column}
.text-box>label{font-size:14px;margin:0 0 14px;flex:none}
.text-box textarea{height:auto;min-height:0;flex:1;resize:none;border:0;border-radius:0;padding:0;margin:0;font-size:15px;line-height:1.8;overflow-y:auto;background:transparent}
.text-box:focus-within{border-color:var(--blue)}
.text-box textarea:focus-visible{outline:2px solid var(--blue);outline-offset:4px;border-radius:2px}
.input-options .voice-box{padding:20px;justify-content:flex-start}
.voice-box legend{font-size:14px;margin:0 0 14px;flex:none}
.voice-idle{min-height:0;height:auto;flex:1}
.voice-box>#recordVoice{margin-top:auto;flex:none;font-size:13px;padding-inline:12px;max-width:none}
.voice-box .recording-display{flex:1;min-height:0;margin:0 0 12px;padding:12px 8px;background:transparent}
.voice-box .voice-meter{height:70px;margin:8px 0}
.voice-box .mic-activity{font-size:10px}
.voice-box #voiceStatus{font-size:11px;line-height:1.5;max-height:58px;overflow:auto;margin:8px 0 0;flex:none}
.voice-box #voicePreview{margin:0;flex:none}.voice-box .voice-actions{gap:0}.voice-box .secondary{min-height:36px;padding:6px 10px}
.inline-review{flex:none;margin-top:12px}.text-box .inline-review h3{font-size:14px}
.fields{grid-template-columns:1fr 1.1fr 1.1fr;gap:20px}.company-field{min-width:0}.optional{font-size:10px;font-weight:400;color:var(--muted)}
.company-field>label{margin-bottom:0}.company-field input{font-weight:400}
.company-suggestion{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:6px;font-size:11px;color:var(--muted)}
.company-suggestion[hidden]{display:none}.company-suggestion button{border:0;background:transparent;color:var(--blue);text-decoration:underline;text-underline-offset:3px;padding:8px 4px;min-height:36px;cursor:pointer;font-size:11px}
.company-lookup-status{font-size:11px;line-height:1.6;color:var(--muted);margin:6px 0 0}.company-lookup-status:empty{display:none}
.meeting-fields{grid-template-columns:.8fr 1fr 1fr;gap:20px}
@media(max-width:900px){.input-options{gap:16px}.text-box,.input-options .voice-box{padding:16px}.fields{gap:14px}.meeting-fields{gap:14px}}
@media(max-width:700px){
 .input-heading{font-size:20px;margin-bottom:16px}.input-options{grid-template-columns:1fr;gap:16px}
 .text-box,.input-options .voice-box{height:270px;padding:16px}.text-box textarea{min-height:0;font-size:16px}
 .voice-idle{min-height:0}.voice-box legend{font-size:14px}.voice-box>#recordVoice{font-size:14px}
 .fields,.meeting-fields{grid-template-columns:1fr;gap:14px}.fields{padding-bottom:20px}
 .fields label{margin-bottom:0}.company-suggestion{font-size:12px}.company-suggestion button{font-size:12px;min-height:40px}
 .meeting-fields select,.meeting-fields input{width:100%}.voice-box .voice-meter{height:70px}
}
.draft-notice{display:flex;gap:16px;align-items:baseline;justify-content:space-between;margin:-10px 0 20px;color:var(--muted);font-size:11px;line-height:1.6}.draft-notice p{margin:0}.draft-notice span{font-size:10px;text-align:right}
.fields{grid-template-columns:1fr 1fr;gap:20px 24px;padding-bottom:24px}.fields>label,.company-field>label{margin-bottom:0}
.contact-choice{padding:0;margin:0 0 24px;border:0;display:block;min-width:0}.contact-choice legend{float:none;width:auto;font-size:14px;font-weight:550;margin-bottom:10px}
.contact-choice>label{display:inline-flex;gap:9px;align-items:center;font-size:13px;min-height:44px;margin:0 28px 0 0;max-width:100%;cursor:pointer}
.contact-choice input,.followup-choice input{display:inline-block;flex:none;width:17px;height:17px;min-height:0;margin:0;padding:0;accent-color:var(--blue)}
.followup-choice{display:flex;align-items:flex-start;gap:10px;font-size:11px;line-height:1.8;font-weight:400;margin:0 0 24px;cursor:pointer}.followup-choice input{margin-top:2px}
@media(max-width:700px){.draft-notice{display:block;font-size:10px;margin-bottom:18px}.draft-notice span{display:block;text-align:left;min-height:16px;margin-top:4px}.fields{grid-template-columns:1fr;gap:16px;padding-bottom:22px}.contact-choice{display:block}.contact-choice>label{font-size:13px}.followup-choice{font-size:11px}}

/* Personal welcome; service details appear once, in the section below. */
.intro .awaited{font-size:clamp(22px,2.4vw,30px);line-height:1.35;font-weight:500;letter-spacing:-.035em;margin:-4px 0 24px}.intro .lead{margin-bottom:28px}.intro-panel>p{margin:0}
@media(max-width:700px){.intro .awaited{font-size:23px;margin:0 0 20px}.intro .lead{margin-bottom:22px}}

/* The introduction and service choices share one hero. */
.hero-stage{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 8% 32%,#0046fc12 0,transparent 58%),radial-gradient(ellipse at 92% 74%,#a9c5ff38 0,transparent 55%),linear-gradient(115deg,#f4f7ff,#edf3ff 54%,#f7f9ff);border-bottom:1px solid #dfe7f5}
.hero-stage::before{content:"";position:absolute;z-index:-1;inset:0;background-image:linear-gradient(#0046fc06 1px,transparent 1px),linear-gradient(90deg,#0046fc06 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(90deg,#0009,transparent 75%);pointer-events:none}
.hero-stage::after{content:"";position:absolute;z-index:-1;width:680px;height:680px;left:-380px;bottom:-480px;border:1px solid #0046fc15;border-radius:50%;box-shadow:0 0 0 70px #0046fc04,0 0 0 140px #0046fc03;pointer-events:none}
.hero-stage .intro{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;padding-block:48px 52px;align-items:center}
.hero-stage .intro-copy{max-width:500px}.hero-stage .lead{font-size:17px;line-height:1.8}.hero-stage .intro-copy .eyebrow[hidden]{display:none}
.hero-services{background:#ffffffed;border:1px solid #d8e2f5;border-radius:16px;padding:30px;box-shadow:0 16px 56px #16377908;min-width:0}
.hero-services h2{font-size:28px;line-height:1.2;margin:0 0 22px;max-width:350px}
.hero-services .services{display:grid;grid-template-columns:1fr;gap:0}
.hero-services .services article{display:grid;grid-template-columns:24px minmax(0,1fr);gap:7px 14px;padding:20px 0;border-top:1px solid #e1e7f1}
.hero-services .services article:last-child{padding-bottom:0}.hero-services .number{grid-row:1/3;font-size:10px;margin:5px 0 0;color:var(--blue)}
.hero-services .services h3{font-size:17px;line-height:1.4;max-width:none;margin:0}.hero-services .services p{font-size:13px;line-height:1.8;margin:0}
.hero-stage+.partner{margin-top:32px}
@media(max-width:1023px){.hero-stage .intro{gap:32px}.hero-services{padding:24px}.hero-services h2{font-size:25px}}
@media(max-width:700px){.hero-stage .intro{grid-template-columns:1fr;gap:28px;padding-block:32px}.hero-stage .intro-copy{max-width:none}.hero-stage .lead{font-size:16px}.hero-services{padding:24px;border-radius:12px}.hero-services h2{font-size:25px;margin-bottom:18px}.hero-services .services article{gap:6px 12px;padding-block:17px}.hero-services .services h3{font-size:17px}.hero-services .services p{font-size:13px}.hero-stage+.partner{margin-top:24px}}

.portfolio-pending{display:inline-flex;align-items:center;gap:10px;color:#56647e;background:#ffffff8c;border-color:#cad5e8;cursor:default;box-shadow:none}.portfolio-pending .pending-label{font-size:11px;font-weight:400;color:#68768d}.meeting-fields label:has(#meetingDate),#meetingDate{cursor:pointer}

/* Keep both hero columns on the same starting line. */
.hero-stage .intro{align-items:start}.hero-stage .intro-copy{scroll-margin-top:100px}.hero-stage .intro-copy .eyebrow{margin:0 0 16px}.hero-services .services article:first-child{border-top:0;padding-top:0}.hero-services .services article:last-child{padding-bottom:0}
@media(min-width:701px){.hero-stage .intro-copy:has(#sourceLabel:not([hidden])){position:relative}.hero-stage .intro-copy #sourceLabel:not([hidden]){position:absolute;bottom:100%;margin-bottom:10px}.hero-stage .intro{padding-top:56px}}

.meeting-recording-choice{display:flex;align-items:flex-start;gap:10px;margin:18px 0 8px;font-size:12px;line-height:1.7;font-weight:400}.meeting-recording-choice[hidden]{display:none}.meeting-recording-choice input{width:17px;height:17px;flex:none;margin:3px 0 0}.meeting-recording-choice span{max-width:700px}
