/* A compact reading room and a single, full-width project desk.
   Presentation only: native disclosures, fields and form order stay intact. */
.home-page.structure-preview :is(.landing-faq,.contact-section,.premium-footer) {
  --journey-ink:#111d3c;
  --journey-muted:#526077;
  --journey-blue:#171796;
  --journey-line:#dce3ed;
  font-family:"Inter","Segoe UI",Arial,sans-serif;
  color:var(--journey-ink);
}

/* Questions sit below their heading, not across an empty side column. */
.home-page.structure-preview .landing-faq { border:0; background:#fff; }
.home-page.structure-preview .landing-faq__layout {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:36px;
  max-width:1340px;
  padding-block:clamp(56px,6vw,88px);
}
.home-page.structure-preview .landing-faq__heading { text-align:center; }
.home-page.structure-preview .landing-faq .landing-break__eyebrow {
  margin:0 0 14px;
  color:#53627a;
  font-size:.75rem;
  font-weight:600;
  letter-spacing:.12em;
}
.home-page.structure-preview .landing-faq .landing-break__eyebrow::before { display:none; }
.home-page.structure-preview .landing-faq__heading h2 {
  width:100%;
  max-width:1180px;
  margin:0 auto;
  color:#111d3c;
  font-size:clamp(2.25rem,3.4vw,3.25rem);
  font-weight:620;
  line-height:1.12;
  letter-spacing:-.045em;
}
.home-page.structure-preview .landing-faq__heading h2 br { display:none; }
.home-page.structure-preview .landing-faq__heading>p:not(.landing-break__eyebrow) {
  max-width:none;
  margin:16px auto 10px;
  color:#526077;
  font-size:1rem;
  line-height:1.65;
}
.home-page.structure-preview .landing-faq .landing-break__text-link {
  min-height:44px;
  padding:8px 0;
  gap:20px;
  border-color:#b6c2d5;
  color:#171796;
  font-size:.9375rem;
  font-weight:600;
}
.home-page.structure-preview .landing-faq__list {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:start;
  gap:16px;
  border:0;
}
.home-page.structure-preview .landing-faq__column {
  display:flex;
  flex-direction:column;
  min-width:0;
  gap:16px;
}
.home-page.structure-preview .landing-faq details,
.home-page.structure-preview .landing-faq details[open] {
  min-width:0;
  margin:0;
  padding:0;
  border:1px solid #e0e6ef;
  border-radius:14px;
  background:#f7f9fc;
}
.home-page.structure-preview .landing-faq details[open] { border-color:#bacbe5; background:#f0f5fc; }
.home-page.structure-preview .landing-faq summary {
  min-height:88px;
  padding:24px 25px;
  gap:20px;
  border-radius:14px;
  color:#111d3c;
  font-size:1.0625rem;
  font-weight:600;
  line-height:1.45;
  letter-spacing:-.018em;
}
.home-page.structure-preview .landing-faq details:not([open]) summary:hover { color:#171796; background:#eff4fc; }
.home-page.structure-preview .landing-faq summary>span,
.home-page.structure-preview .landing-faq details[open] summary>span {
  width:32px;
  height:32px;
  border:1px solid #ccd7e8;
  color:#171796;
  background:#fff;
}
.home-page.structure-preview .landing-faq summary>span::before,
.home-page.structure-preview .landing-faq summary>span::after { top:14px; left:9px; width:12px; }
.home-page.structure-preview .landing-faq details>div { padding:0 77px 26px 25px; }
.home-page.structure-preview .landing-faq details p { max-width:none; margin:0; color:#526077; font-size:.9375rem; line-height:1.75; }

/* One broad surface: introductory header, service strip, then the actual form. */
.home-page.structure-preview .contact-section {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:0;
  align-items:start;
  padding-block:clamp(48px,5vw,76px);
  color:#111d3c;
  background:#f5f7fb;
  border-top:1px solid #e3e8f0;
}
.home-page.structure-preview .contact-copy {
  position:static;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(245px,.45fr);
  grid-template-areas:"eyebrow whatsapp" "title whatsapp" "intro whatsapp" "assurance assurance";
  column-gap:clamp(28px,5vw,72px);
  align-items:start;
  min-width:0;
  width:100%;
  max-width:1180px;
  margin:0 auto;
  padding:clamp(28px,3.8vw,52px) clamp(26px,3.7vw,50px) 0;
  border:1px solid #e1e6ee;
  border-bottom:0;
  border-radius:22px 22px 0 0;
  background:#fff;
}
.home-page.structure-preview .contact-copy .eyebrow {
  grid-area:eyebrow;
  margin:0 0 14px;
  color:#53627a;
  font-size:.75rem;
  font-weight:600;
  line-height:1.5;
  letter-spacing:.12em;
}
.home-page.structure-preview .contact-copy h2 {
  grid-area:title;
  max-width:25ch;
  margin:0;
  color:#111d3c;
  font-size:clamp(2.2rem,3.3vw,3.1rem);
  font-weight:620;
  line-height:1.12;
  letter-spacing:-.045em;
  text-wrap:pretty;
}
.home-page.structure-preview .contact-copy>p:not(.eyebrow) {
  grid-area:intro;
  max-width:63ch;
  margin:18px 0 0;
  color:#526077;
  font-size:1rem;
  line-height:1.7;
}
.home-page.structure-preview .contact-section .whatsapp-panel,
.home-page.structure-preview .contact-section .whatsapp-panel:hover {
  grid-area:whatsapp;
  align-self:center;
  width:100%;
  max-width:none;
  min-height:84px;
  margin:0;
  padding:18px 0 18px 24px;
  border:0;
  border-left:2px solid #dbe4f1;
  border-radius:0;
  color:#111d3c;
  background:transparent;
  box-shadow:none;
}
.home-page.structure-preview .contact-section .whatsapp-label { color:#526077; font-size:.6875rem; font-weight:500; line-height:1.6; letter-spacing:.08em; }
.home-page.structure-preview .contact-section .whatsapp-panel strong { color:#171796; font-size:.9375rem; font-weight:600; line-height:1.6; text-wrap:balance; }
.home-page.structure-preview .contact-assurance {
  grid-area:assurance;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:14px 28px;
  margin:30px 0 0;
  padding:20px 0;
  border-top:1px solid #e0e6ee;
  border-bottom:1px solid #e0e6ee;
  color:#526077;
  font-size:.875rem;
  font-weight:400;
  line-height:1.6;
}
.home-page.structure-preview .contact-assurance span::first-letter { color:#171796; }
.home-page.structure-preview .contact-section .lead-form {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(210px,.32fr);
  grid-template-areas:"status status" "fields fields" "details details" "consent submit" "error error" "footnote footnote";
  column-gap:30px;
  row-gap:0;
  width:100%;
  max-width:1180px;
  min-width:0;
  margin:0 auto;
  padding:28px clamp(26px,3.7vw,50px) 32px;
  border:1px solid #e1e6ee;
  border-top:0;
  border-radius:0 0 22px 22px;
  color:#111d3c;
  background:#fff;
  box-shadow:none;
}
.home-page.structure-preview .contact-section .form-status { grid-area:status; }
.home-page.structure-preview .contact-section .field-grid {
  grid-area:fields;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px 24px;
}
.home-page.structure-preview .contact-section .field-wide { grid-column:span 2; }
.home-page.structure-preview .contact-section .field { min-width:0; gap:8px; }
.home-page.structure-preview .contact-section .field>span { color:#344259; font-size:.875rem; font-weight:500; line-height:1.5; }
.home-page.structure-preview .contact-section .field :is(input,select,textarea) {
  width:100%;
  max-width:100%;
  min-width:0;
  min-height:48px;
  padding:11px 14px;
  border:1px solid #8393a9;
  border-radius:7px;
  color:#111d3c;
  background:#fff;
  font-family:inherit;
  font-size:1rem;
  font-weight:400;
  line-height:1.5;
  transition:border-color .18s,box-shadow .18s;
}
.home-page.structure-preview .contact-section .field :is(input,select,textarea)::placeholder { color:#68788e; opacity:1; }
.home-page.structure-preview .contact-section .field :is(input,select,textarea):focus { border-color:#171796; box-shadow:0 0 0 3px #e8eafa; }
.home-page.structure-preview .contact-section .field :is(input,select,textarea)[aria-invalid="true"] { border-color:#a43131; }
.home-page.structure-preview .contact-section .field-full { grid-area:details; margin-top:22px; }
.home-page.structure-preview .contact-section .field textarea { height:94px; min-height:94px; resize:vertical; }
.home-page.structure-preview .contact-section .consent-field {
  grid-area:consent;
  display:grid;
  grid-template-columns:20px minmax(0,1fr);
  gap:12px;
  align-items:center;
  align-self:center;
  min-height:48px;
  margin:24px 0 0;
  padding:4px 0;
  color:#526077;
  font-size:.875rem;
  font-weight:400;
  line-height:1.6;
  cursor:pointer;
}
.home-page.structure-preview .contact-section .consent-field input { width:20px; height:20px; margin:0; accent-color:#171796; }
.home-page.structure-preview .contact-section .consent-field a { color:#171796; text-underline-offset:.2em; }
.home-page.structure-preview .contact-section .consent-error { grid-area:error; }
.home-page.structure-preview .contact-section .lead-form:has(.consent-error:not(:empty)) .consent-error { margin-top:8px; }
.home-page.structure-preview .contact-section .form-submit {
  grid-area:submit;
  align-self:center;
  width:100%;
  min-height:52px;
  margin:24px 0 0;
  padding:14px 24px;
  border:1px solid #171796;
  border-radius:8px;
  color:#fff;
  background:#171796;
  font-size:.9375rem;
  font-weight:600;
  line-height:1.5;
}
.home-page.structure-preview .contact-section .form-submit:hover { color:#fff; background:#111d3c; border-color:#111d3c; transform:none; }
.home-page.structure-preview .contact-section .form-footnote {
  grid-area:footnote;
  margin:22px 0 0;
  padding-top:18px;
  border-top:1px solid #e0e6ee;
  color:#657187;
  font-size:.8125rem;
  line-height:1.6;
  text-align:left;
}

/* Keep the closing navigation useful without another dark full-screen band. */
.home-page.structure-preview .premium-footer {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) minmax(0,.8fr);
  gap:clamp(24px,4vw,56px);
  padding-block:36px;
  border-top:1px solid #dce3ed;
  color:#526077;
  background:#fff;
  font-size:.875rem;
  line-height:1.65;
}
.home-page.structure-preview .premium-footer .footer-brand { grid-column:auto; align-content:start; gap:0; }
.home-page.structure-preview .premium-footer strong,
.home-page.structure-preview .premium-footer .footer-brand>strong { color:#111d3c; font-weight:600; }
.home-page.structure-preview .premium-footer .footer-brand>strong { margin:0 0 10px; font-size:1.7rem; letter-spacing:-.04em; }
.home-page.structure-preview .premium-footer .footer-brand p { max-width:38ch; margin:0 0 12px; color:#526077; font-size:.875rem; line-height:1.7; }
.home-page.structure-preview .premium-footer .footer-brand>span { color:#657187; font-size:.8125rem; }
.home-page.structure-preview .premium-footer .footer-solutions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 20px; align-content:start; }
.home-page.structure-preview .premium-footer .footer-solutions>strong { grid-column:1 / -1; }
.home-page.structure-preview .premium-footer .footer-contact { display:grid; grid-template-columns:minmax(0,1fr); gap:0; align-content:start; text-align:left; }
.home-page.structure-preview .premium-footer :is(.footer-solutions,.footer-contact)>strong { margin:0 0 8px; font-size:.875rem; }
.home-page.structure-preview .premium-footer :is(.footer-solutions,.footer-contact) a { display:flex; align-items:center; min-height:44px; max-width:100%; color:#526077; font-size:.875rem; line-height:1.55; overflow-wrap:anywhere; }
.home-page.structure-preview .premium-footer :is(.footer-solutions,.footer-contact) a:hover { color:#171796; text-decoration:underline; }
.home-page.structure-preview :is(.landing-faq,.contact-section,.premium-footer) :is(a,summary,button,input,select,textarea):focus-visible { outline:3px solid #171796; outline-offset:4px; }

@media(max-width:1000px) {
  .home-page.structure-preview .contact-copy { grid-template-columns:minmax(0,1fr) minmax(220px,.6fr); column-gap:28px; }
  .home-page.structure-preview .contact-copy h2 { font-size:2.25rem; }
  .home-page.structure-preview .contact-section .field-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-page.structure-preview .contact-section .field-wide { grid-column:1 / -1; }
  .home-page.structure-preview .contact-assurance { justify-content:flex-start; gap:12px 25px; }
  .home-page.structure-preview .premium-footer { grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); }
  .home-page.structure-preview .premium-footer .footer-brand { grid-row:span 2; }
}
@media(max-width:740px) {
  .home-page.structure-preview .landing-faq__layout { gap:28px; padding-block:52px; }
  .home-page.structure-preview .landing-faq__list { grid-template-columns:minmax(0,1fr); gap:12px; }
  .home-page.structure-preview .landing-faq__column { gap:12px; }
  .home-page.structure-preview .landing-faq summary { min-height:78px; }
  .home-page.structure-preview .contact-copy {
    grid-template-columns:minmax(0,1fr);
    grid-template-areas:"eyebrow" "title" "intro" "whatsapp" "assurance";
    padding:30px 26px 0;
  }
  .home-page.structure-preview .contact-copy h2 { max-width:24ch; font-size:clamp(2rem,5vw,2.6rem); }
  .home-page.structure-preview .contact-section .whatsapp-panel,
  .home-page.structure-preview .contact-section .whatsapp-panel:hover { width:fit-content; min-height:64px; margin-top:22px; padding:0 0 0 18px; }
  .home-page.structure-preview .contact-assurance { margin-top:24px; padding-block:18px; gap:8px 20px; font-size:.8125rem; }
  .home-page.structure-preview .contact-section .lead-form { grid-template-columns:minmax(0,1fr); grid-template-areas:"status" "fields" "details" "consent" "error" "submit" "footnote"; padding:26px 26px 28px; }
  .home-page.structure-preview .contact-section .consent-field { margin-top:22px; }
  .home-page.structure-preview .contact-section .form-submit { margin-top:20px; }
}
@media(max-width:560px) {
  .home-page.structure-preview .landing-faq__heading h2 { font-size:2.1rem; }
  .home-page.structure-preview .landing-faq__heading>p:not(.landing-break__eyebrow) { max-width:33ch; font-size:.9375rem; }
  .home-page.structure-preview .landing-faq summary { padding:20px; font-size:1rem; gap:16px; }
  .home-page.structure-preview .landing-faq details>div { padding:0 20px 23px; }
  .home-page.structure-preview .contact-section { padding-block:30px; }
  .home-page.structure-preview .contact-copy { padding:26px 20px 0; border-radius:16px 16px 0 0; }
  .home-page.structure-preview .contact-copy>p:not(.eyebrow) { font-size:.9375rem; }
  .home-page.structure-preview .contact-section .lead-form { padding:25px 20px; border-radius:0 0 16px 16px; }
  .home-page.structure-preview .contact-section .field-grid { grid-template-columns:minmax(0,1fr); gap:19px; }
  .home-page.structure-preview .contact-section .field-wide { grid-column:auto; }
  .home-page.structure-preview .contact-section .consent-field { font-size:.8125rem; }
  .home-page.structure-preview .premium-footer { grid-template-columns:minmax(0,1fr); gap:25px; padding-block:30px 76px; }
  .home-page.structure-preview .premium-footer .footer-brand { grid-row:auto; }
  .home-page.structure-preview .premium-footer .footer-solutions { gap:0 16px; }
}
@media(prefers-reduced-motion:reduce) {
  .home-page.structure-preview :is(.landing-faq,.contact-section,.premium-footer) *,
  .home-page.structure-preview :is(.landing-faq,.contact-section,.premium-footer) *::before,
  .home-page.structure-preview :is(.landing-faq,.contact-section,.premium-footer) *::after { transition:none!important; animation:none!important; }
}
