/* AircraftSalesCorp.com shared public design - local preview.
   Navy / gold / cream editorial system. No remote assets or fonts. */

:root{
  --navy:#10283a;
  --navy-deep:#0b1d2b;
  --gold:#c9a35e;
  --gold-ink:#8a6a2f;
  --cream:#f5f3ee;
  --ink:#142a38;
  --muted:#52626a;
  --line:#dcded9;
  --control-line:var(--muted);
  --white:#fff;
  --danger:#a12727;
  --serif:Georgia,'Times New Roman',serif;
  --sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
[hidden]{display:none !important}
body{
  margin:0;
  background:var(--cream);
  color:var(--ink);
  font:17px/1.65 var(--sans);
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;margin-top:0;color:var(--ink)}
h1{font-size:clamp(36px,5vw,62px);line-height:1.08;letter-spacing:-.03em;margin-bottom:24px}
h2{font-size:clamp(27px,3vw,42px);line-height:1.14;letter-spacing:-.02em;margin-bottom:20px}
h3{font-size:23px;line-height:1.3;margin-bottom:14px}
p{margin-top:0;margin-bottom:20px}
a{color:inherit}
button,input,textarea,select{font:inherit}
button{cursor:pointer;color:inherit}
ul,ol{padding-left:22px}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible{outline:3px solid var(--gold-ink);outline-offset:3px;border-radius:2px}

.wrap{width:min(1160px,calc(100% - 48px));margin:0 auto}
.narrow{max-width:800px}
.section{padding:78px 0}
.eyebrow{
  font-size:12px;letter-spacing:.16em;text-transform:uppercase;
  font-weight:700;color:var(--gold-ink);margin-bottom:20px;
}
.eyebrow.light{color:#e7c98f}
.lead{font-size:20px;color:var(--muted);max-width:660px}
.small-note{font-size:14px;color:var(--muted)}

/* Skip link */
.skip-link{
  position:fixed;left:12px;top:-90px;z-index:1000;
  background:var(--navy);color:#fff;padding:12px 18px;border-radius:2px;
  text-decoration:none;transition:top .15s ease;
}
.skip-link:focus{top:12px}

/* Preview banner */
.preview-banner{
  background:var(--navy-deep);color:#dfe6ea;text-align:center;
  padding:8px 16px;font-size:12px;letter-spacing:.02em;
}

/* Header and brand logo */
.site-header{background:#fdfcf9;border-bottom:1px solid var(--line)}
.header-inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--navy)}
/* The single approved transparent PNG, sized by width so its natural
   1942x809 aspect ratio is preserved (no crop, no distortion, no redraw).
   The server-rendered width/height attributes reserve the correct box. */
.brand-logo{display:block;width:260px;height:auto;max-width:100%;flex-shrink:0}

.site-nav ul{display:flex;align-items:center;list-style:none;margin:0;padding:0;gap:4px}
.site-nav a{
  display:inline-flex;align-items:center;min-height:44px;padding:8px 12px;
  font-size:13px;font-weight:650;text-decoration:none;color:var(--navy);
  border-bottom:2px solid transparent;
}
.site-nav a:hover,.site-nav a.is-current{border-bottom-color:var(--gold)}
.site-nav .nav-cta{
  margin-left:8px;background:var(--navy);color:#fff;border:1px solid var(--navy);
  border-bottom:1px solid var(--navy);border-radius:2px;padding:10px 16px;
}
.site-nav .nav-cta:hover{background:var(--navy-deep);border-color:var(--navy-deep)}
.nav-toggle{
  display:none;align-items:center;gap:8px;min-height:44px;padding:8px 14px;
  background:#fff;border:1px solid var(--line);border-radius:2px;font-size:13px;font-weight:650;
}

/* Buttons */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:48px;padding:12px 22px;border:1px solid transparent;border-radius:2px;
  font-size:14px;font-weight:650;letter-spacing:.01em;text-decoration:none;
  background:var(--navy);color:#fff;
  transition:background .15s ease,border-color .15s ease,color .15s ease;
}
.btn-primary{background:var(--navy);color:#fff}
.btn-primary:hover{background:var(--navy-deep)}
.btn-secondary{background:transparent;color:var(--navy);border-color:var(--navy)}
.btn-secondary:hover{background:var(--navy);color:#fff}
.btn-gold{background:var(--gold);color:var(--navy-deep)}
.btn-gold:hover{background:#d8b673}
.btn-line{background:transparent;color:#fff;border-color:rgba(255,255,255,.62)}
.btn-line:hover{background:#fff;color:var(--navy)}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}

.text-link{
  display:inline-flex;align-items:center;gap:8px;min-height:44px;
  font-size:14px;font-weight:650;color:var(--navy);text-decoration:none;
  border-bottom:1px solid var(--gold);background:none;padding:8px 0;
}
/* Row of sibling text links: a clear gap on desktop, wraps to stacked rows
   when space is tight (small phones). Existing link targets are unchanged. */
.link-row{display:flex;flex-wrap:wrap;align-items:center;gap:18px}

/* Homepage hero */
.home-hero{position:relative;background:var(--navy-deep);color:#fff;overflow:hidden}
.hero-image{display:block;width:100%;height:auto}
.hero-shade{
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(11,29,43,.94) 0%,rgba(11,29,43,.72) 30%,rgba(11,29,43,.26) 56%,rgba(11,29,43,0) 76%);
}
.hero-copy{position:absolute;top:0;left:0;right:0;padding-top:58px}
.hero-copy h1{color:#fff}
.hero-copy h1 em{font-style:italic;color:#e7c98f}
.hero-intro{font-size:19px;color:#dde5e9;max-width:560px}
.hero-copy .actions{margin-top:28px}
.hero-bottom{position:absolute;left:0;right:0;bottom:0;padding-bottom:18px}
.hero-bottom-inner{display:flex;justify-content:space-between;align-items:flex-end;gap:16px}
.hero-bottom span{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#dfe8ec}
.hero-bottom span i{font-style:normal;color:var(--gold);padding:0 6px}
.hero-bottom small{font-size:11px;color:#b9c6cd;text-align:right;max-width:280px}

/* Section heading block */
.section-heading{display:grid;grid-template-columns:1.25fr 1fr;gap:32px;align-items:end;margin-bottom:44px}
.section-heading>p{color:var(--muted);font-size:16px;max-width:46ch;margin:0}

/* Category cards */
.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.category{
  background:#fff;border:1px solid var(--line);border-top:3px solid var(--gold);
  padding:30px 26px;display:flex;flex-direction:column;
}
.category-number{font-family:var(--serif);font-size:26px;color:var(--gold-ink);line-height:1}
.category-tag{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--muted);margin:14px 0 10px}
.category h3{font-size:28px;margin-bottom:12px}
.category p{color:var(--muted);font-size:15px;flex:1}
.category .text-link{align-self:flex-start}
/* Ordinary flowing notice copy. The previous flex container shrank the prose
   around the inline research link into narrow columns; keep it in normal flow
   and keep the dot as a leading inline marker. Other flex rows are unaffected. */
.research-caption{display:block;margin-top:28px;font-size:13px;color:var(--muted)}
.small-dot{width:8px;height:8px;border-radius:50%;background:var(--gold);flex-shrink:0;display:inline-block;vertical-align:middle;margin-right:10px}

/* Planning offer band */
.plan-feature{background:var(--navy);color:#fff;padding:78px 0}
.plan-feature-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:46px;align-items:center}
.plan-story h2{color:#fff}
.plan-story h2 em{font-style:italic;color:#e7c98f}
.plan-story p{color:#d7e0e5}
.check-list{list-style:none;padding:0;margin:0 0 26px;display:flex;flex-direction:column;gap:12px}
.check-list li{position:relative;padding-left:26px;color:#dde6ea;font-size:15px}
.check-list li::before{
  content:"";position:absolute;left:0;top:6px;width:8px;height:8px;
  background:var(--gold);transform:rotate(45deg);
}
.plan-note{font-size:13px;color:#b9c6cd;margin:18px 0 0;max-width:56ch}
.plan-ticket{background:var(--cream);color:var(--ink);border:1px solid rgba(201,163,94,.45);padding:28px}
.ticket-top{display:flex;justify-content:space-between;gap:12px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:18px}
.sample-badge{color:var(--gold-ink);font-weight:700}
.plan-ticket h3{font-size:24px;margin:10px 0 18px}
.ticket-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ticket-grid div{display:flex;flex-direction:column;gap:2px}
.ticket-grid span{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.ticket-grid strong{font-size:15px}
.ticket-bottom{display:flex;justify-content:space-between;gap:12px;margin-top:22px;padding-top:16px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}

/* Guide list */
.guide-grid{display:grid;grid-template-columns:.85fr 1.35fr;gap:46px;align-items:start}
.guide-list{display:flex;flex-direction:column;gap:12px}
.guide-list a{
  display:flex;align-items:center;gap:18px;padding:20px 22px;
  background:#fff;border:1px solid var(--line);text-decoration:none;color:var(--ink);
  transition:border-color .15s ease;
}
.guide-list a:hover{border-color:var(--gold)}
.guide-list .num{font-family:var(--serif);font-size:22px;color:var(--gold-ink);flex-shrink:0}
.guide-list .guide-text{flex:1}
.guide-list strong{display:block;font-size:17px}
.guide-list small{color:var(--muted);font-size:13px}

/* Process */
.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:36px}
.process-grid article{border-top:2px solid var(--gold);padding-top:20px}
.process-grid span{font-family:var(--serif);font-size:22px;color:var(--gold-ink)}
.process-grid h3{font-size:20px;margin:10px 0 8px}
.process-grid p{color:var(--muted);font-size:15px;margin-bottom:0}
.process-note{font-size:13px;color:var(--muted);border-left:3px solid var(--gold);padding-left:14px;margin:32px 0 0;max-width:70ch}

/* Interior page patterns */
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:start}
.callout{background:#fff;border-left:3px solid var(--gold);padding:18px 20px;margin-bottom:22px}
.callout p{margin:0;color:var(--ink);font-size:15px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:36px}
.card{background:#fff;border:1px solid var(--line);border-top:3px solid var(--gold);padding:28px 24px}
.card-number{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-ink);font-weight:700;margin-bottom:12px}
.card h3{font-size:22px}
.card p{color:var(--muted);font-size:15px}
.card a{display:inline-flex;align-items:center;min-height:44px;font-weight:650;color:var(--navy);text-decoration:none;border-bottom:1px solid var(--gold)}
.form-shell{background:#fff;border:1px solid var(--line);padding:34px}
.form-shell h2{font-size:26px;margin-bottom:22px}
.article{max-width:820px}
.article h2{margin-top:38px}
.article h2:first-of-type{margin-top:0}
.article-date{font-size:13px;color:var(--muted);margin-top:-10px;margin-bottom:22px}
.article .callout{margin:26px 0}

/* Forms */
.inquiry-form{margin:0}
.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.field{margin-bottom:20px;display:flex;flex-direction:column;gap:7px}
.field label{font-size:14px;font-weight:650;color:var(--ink)}
.field input,.field textarea,.field select{
  width:100%;min-height:48px;padding:11px 13px;border:1px solid var(--control-line);
  border-radius:2px;background:#fff;color:var(--ink);font-size:16px;
}
.field textarea{min-height:132px;resize:vertical}
.field select{cursor:pointer}
.field .field-help{margin:0;font-size:13px;color:var(--muted)}
.field.has-error input,.field.has-error textarea,.field.has-error select{border-color:var(--danger);background:#fff8f8}
.field-error-msg{color:var(--danger);font-size:13px;margin:0;font-weight:600}
.req{color:var(--danger)}
.form-summary{border-left:3px solid var(--danger);background:#fff1f1;padding:18px 20px;margin-bottom:24px}
.form-summary p{margin:0 0 8px;font-weight:700}
.form-summary ul{margin:0;padding-left:20px}
.form-summary li + li{margin-top:4px}
.form-summary a{
  color:#8a1f1f;
  display:flex;align-items:center;
  width:100%;min-height:44px;min-width:44px;
  padding:6px 4px;
}
.field.checkbox-field label.checkbox{display:flex;align-items:flex-start;gap:10px;font-weight:500;font-size:15px}
.field.checkbox-field input{width:auto;min-height:0;margin-top:3px}
.required-note{font-size:13px;color:var(--muted);margin:6px 0 16px}

/* Private admin queue (server-rendered) */
.admin-item{background:#fff;border:1px solid var(--line);padding:22px;margin-bottom:18px}
.admin-item-head h3{font-family:var(--sans);font-size:18px;font-weight:700;margin-bottom:6px}
.admin-meta{font-size:12px;color:var(--muted);margin-bottom:10px}
.admin-details{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;margin:14px 0}
.detail-row{display:grid;grid-template-columns:150px 1fr;gap:10px;font-size:13px;padding:5px 0;border-bottom:1px solid var(--line)}
.detail-row dt{color:var(--muted);margin:0;min-width:0;overflow-wrap:anywhere}
.detail-row dd{margin:0;word-break:break-word}
.status-form{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}
.status-form select{min-height:44px;padding:8px 10px;border:1px solid var(--control-line);border-radius:2px;background:#fff}
.admin-empty{color:var(--muted)}

/* Owner authentication and account (Stage C1, local) */
.auth-shell .field{margin-bottom:18px}
.auth-shell .account-form{margin-bottom:28px}
.auth-status{border-left:3px solid var(--gold);background:#fff;padding:14px 16px;font-size:14px;color:var(--ink);margin-bottom:18px}
/* Standalone owner navigation links keep a full 44px target and wrap. The
   prose inline-link exception is intentionally unchanged. */
.owner-nav-row{display:flex;flex-wrap:wrap;gap:4px 18px;align-items:center}
.owner-nav{
  display:inline-flex;align-items:center;min-height:44px;min-width:44px;
  padding:8px 4px;flex-wrap:wrap;
}
.owner-command{
  display:block;background:var(--navy-deep);color:#eef3f6;padding:14px 16px;
  border-radius:2px;margin:16px 0;overflow-x:auto;
  font:13px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  overflow-wrap:anywhere;word-break:break-word;
}

/* Footer */
.site-footer{background:var(--navy-deep);color:#c9d3d9;padding:54px 0 28px}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:32px}
.footer-name{font-family:var(--serif);font-size:20px;color:#fff;letter-spacing:.02em;margin-bottom:12px}
.footer-note{font-size:13px;color:#aab8c0;max-width:44ch}
.footer-domain{font-size:12px;color:var(--gold);letter-spacing:.06em;margin-bottom:0}
.footer-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.footer-nav a{
  display:inline-flex;align-items:center;min-height:44px;min-width:44px;color:#dfe7ec;
  font-size:13px;text-decoration:none;
}
.footer-nav a:hover{color:#fff;text-decoration:underline}
.footer-legal{
  border-top:1px solid rgba(255,255,255,.14);margin-top:38px;padding-top:20px;
  display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;
}
.footer-legal p{font-size:12px;color:#9fb0b9;margin:0;max-width:74ch}
.footer-copy{white-space:nowrap}

/* Responsive */
@media(max-width:1000px){
  .hero-copy{padding-top:44px}
  .hero-copy h1{font-size:clamp(38px,5.4vw,52px)}
  .hero-intro{font-size:17px;max-width:480px}
  .hero-copy .actions{margin-top:20px}
}

@media(max-width:900px){
  .section-heading{grid-template-columns:1fr;gap:18px;align-items:start}
  .category-grid{grid-template-columns:1fr}
  .plan-feature-grid{grid-template-columns:1fr;gap:32px}
  .guide-grid{grid-template-columns:1fr;gap:28px}
  .process-grid{grid-template-columns:1fr}
  .split{grid-template-columns:1fr;gap:30px}
  .cards{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .footer-brand{grid-column:1/-1}
}

/* Six-link primary navigation plus the call-to-action collapses to the menu
   button below 960px so it never overflows before the mobile layout. Only the
   header/menu rules are widened to 960px. */
@media(max-width:960px){
  .header-inner{min-height:74px;flex-wrap:wrap;padding:13px 0;gap:12px}
  .nav-toggle{display:inline-flex}
  .site-nav{display:none;flex-basis:100%;border-top:1px solid var(--line)}
  .site-nav.is-open{display:block}
  .site-nav ul{flex-direction:column;align-items:stretch;gap:0;padding:8px 0}
  .site-nav a{padding:12px 2px;border-bottom:1px solid var(--line);border-left:0;border-right:0}
  .site-nav a:hover,.site-nav a.is-current{border-bottom:1px solid var(--line);color:var(--gold-ink)}
  .site-nav .nav-cta{margin:12px 0 6px;justify-content:center;border:1px solid var(--navy)}
}

@media(max-width:820px){
  .home-hero{display:flex;flex-direction:column}
  .hero-shade{display:none}
  .hero-copy{position:static;order:1;padding:40px 0 34px;background:var(--navy)}
  .hero-copy h1{font-size:clamp(34px,9vw,46px)}
  .hero-copy .actions{flex-direction:column;align-items:stretch}
  .hero-copy .actions .btn{width:100%}
  .hero-image{order:2}
  .hero-bottom{position:static;order:3;padding:16px 0;background:var(--navy-deep)}
  .hero-bottom-inner{display:block}
  .hero-bottom small{display:block;text-align:left;margin-top:8px;max-width:none}
}

@media(max-width:560px){
  .wrap{width:calc(100% - 32px)}
  .brand-logo{width:200px}
  .section{padding:52px 0}
  .plan-feature{padding:52px 0}
  .hero-intro{font-size:16px}
  .footer-grid{grid-template-columns:1fr}
  .ticket-grid{grid-template-columns:1fr}
  .detail-row{grid-template-columns:1fr;gap:2px}
  .admin-details{grid-template-columns:1fr}
  .form-shell{padding:22px}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition:none !important}
}

/* ---------------------------------------------------------------------------
   Job B: model research, planner, comparison and brief.
   Controls keep real targets at least 44px; editable controls reuse
   --control-line; focus uses --gold-ink (already set globally above).
   --------------------------------------------------------------------------- */

.breadcrumb{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:13px;color:var(--muted);margin-bottom:18px}
.breadcrumb a{color:var(--navy);font-weight:650;text-decoration:none;border-bottom:1px solid var(--gold);display:inline-block;min-height:44px;padding:6px 0}
.breadcrumb span[aria-hidden="true"]{color:var(--muted)}

/* Model hub */
.model-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:28px 0}
.model-card{background:#fff;border:1px solid var(--line);border-top:3px solid var(--gold);padding:26px 24px;display:flex;flex-direction:column}
.model-card-cat{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--gold-ink);margin-bottom:10px}
.model-card h3{font-size:22px;margin-bottom:10px}
.model-card h3 a{color:var(--ink);text-decoration:none;display:inline-block;min-height:44px;padding:2px 0}
.model-card h3 a:hover{text-decoration:underline}
.model-card-scope{color:var(--muted);font-size:14px;flex:1}
.model-card-note{font-size:12px;color:var(--muted);border-left:3px solid var(--gold);padding-left:10px}
.model-card-actions{display:flex;flex-direction:column;gap:4px;margin-top:10px;align-items:flex-start}

.filter-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:24px 0 10px}
.filter-label{font-size:13px;font-weight:650;color:var(--ink)}
.filter-btn{display:inline-flex;align-items:center;min-height:44px;padding:10px 16px;background:#fff;border:1px solid var(--control-line);border-radius:2px;font-size:13px;font-weight:650;color:var(--navy)}
.filter-btn:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.filter-btn.is-active{background:var(--navy);color:#fff;border-color:var(--navy)}
.filter-status{font-size:13px;color:var(--muted);margin-bottom:8px}

/* Model detail */
.model-detail .model-scope{color:var(--muted);max-width:74ch}
.detail-section{margin-top:46px}
.facts-table{display:grid;grid-template-columns:1fr 1fr;gap:12px 26px;margin:22px 0}
.fact-row{background:#fff;border:1px solid var(--line);border-left:3px solid var(--gold);padding:14px 16px}
.fact-row dt{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:6px}
.fact-row dd{margin:0;font-size:16px;color:var(--ink)}
.fact-value{font-weight:650}
.fact-cond{display:block;margin-top:6px;font-size:13px;color:var(--muted)}
.fact-source{display:block;margin-top:6px;font-size:12px;letter-spacing:.06em;color:var(--gold-ink);font-weight:700}
.held-fact{background:#fff;border:1px solid var(--line);border-left:3px solid var(--danger);padding:18px 20px;margin:16px 0}
.held-fact h3{font-size:18px;margin-bottom:10px}
.withheld-tag{display:inline-block;font:11px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:#8a1f1f;border:1px solid #f0bcbc;background:#fff1f1;padding:2px 8px;border-radius:2px;margin-left:6px;vertical-align:middle}
.held-fact ul{margin:0 0 12px;padding-left:20px}
.held-cond{display:block;color:var(--muted);font-size:13px}
.resolution{font-size:14px;color:var(--ink);border-top:1px solid var(--line);padding-top:10px;margin:0}
.list-block{display:flex;flex-direction:column;gap:10px;padding-left:0;list-style:none}
.list-block li{background:#fff;border:1px solid var(--line);padding:14px 16px;font-size:15px}
.unknown-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}
.unknown-row{background:#fff;border:1px solid var(--line);padding:14px 16px}
.unknown-row dt{font-weight:650;margin-bottom:4px}
.unknown-row dd{margin:0;font-size:14px;color:var(--muted)}
.source-list{display:flex;flex-direction:column;gap:10px;padding-left:0;list-style:none}
.source-list li{background:#fff;border:1px solid var(--line);padding:12px 16px;font-size:14px}
.source-list a{color:var(--navy);font-weight:650;display:inline-block;min-height:44px;padding:4px 0}
.source-meta{display:block;color:var(--muted);font-size:12px;margin-top:4px}
.source-url{display:block;margin-top:4px;font-size:12px;color:var(--muted);overflow-wrap:anywhere;word-break:break-word}
.compare-fact-src{display:block;margin-top:4px;font-size:12px;color:var(--gold-ink);font-weight:700;overflow-wrap:anywhere;word-break:break-word}
.brief-fact-src{display:block;margin-top:2px;color:var(--muted);font-size:12px;overflow-wrap:anywhere;word-break:break-word}

/* Planner */
.planner-heading .lead{max-width:70ch}
.planner-steps{display:flex;flex-wrap:wrap;gap:10px;width:min(1160px,calc(100% - 48px));margin:0 auto 18px}
.planner-steps button{
  flex:1 1 180px;display:inline-flex;align-items:center;gap:10px;min-height:52px;
  background:#fff;border:1px solid var(--control-line);border-radius:2px;
  font-size:14px;font-weight:650;color:var(--ink);padding:10px 16px;
}
.planner-steps button span{font-family:var(--serif);font-size:17px;color:var(--gold-ink)}
.planner-steps button[aria-current="step"]{background:var(--navy);color:#fff;border-color:var(--navy)}
.planner-steps button[aria-current="step"] span{color:var(--gold)}
.demo-note{width:min(1160px,calc(100% - 48px));margin:0 auto 6px;font-size:13px;color:var(--muted);border-left:3px solid var(--gold);padding-left:12px}
/* Planner step panes reuse the site container so their headings and fields
   keep the standard gutters. The step nav and demo note already apply it. */
.planner-panel{width:min(1160px,calc(100% - 48px));margin-left:auto;margin-right:auto;padding-top:34px}
.category-choice{border:1px solid var(--line);border-radius:2px;background:#fff;padding:18px 20px;margin:0 0 24px}
.category-choice legend{font-size:14px;font-weight:650;padding:0 8px}
.category-choice div{display:flex;flex-wrap:wrap;gap:10px 22px}
.category-choice label{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:15px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px;margin-bottom:10px}
.form-grid label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:650;color:var(--ink)}
.form-grid label.wide{grid-column:1/-1}
.form-grid small{font-weight:400;color:var(--muted);font-size:12px}
.form-grid input,.form-grid select,.form-grid textarea{
  width:100%;min-height:48px;padding:11px 13px;border:1px solid var(--control-line);
  border-radius:2px;background:#fff;color:var(--ink);font-size:16px;font-weight:400;
}
.form-grid textarea{min-height:96px;resize:vertical}
.step-actions{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-top:24px}
.step-actions .text-link{padding:8px 0}
.mission-summary{background:#fff;border:1px solid var(--line);border-left:3px solid var(--gold);padding:16px 18px;margin:20px 0}
.mission-summary span{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--gold-ink)}
.mission-summary p{margin:8px 0 10px;color:var(--muted)}
.compare-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:20px 0 8px}
.compare-card{background:#fff;border:1px solid var(--line);border-top:3px solid var(--gold);display:flex;flex-direction:column}
.compare-card-top{padding:18px 18px 12px;border-bottom:1px solid var(--line)}
.compare-card-top span{font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--gold-ink)}
.compare-card-top h3{font-size:20px;margin:6px 0 2px}
.compare-card-top small{color:var(--muted)}
.compare-card-body{padding:16px 18px;display:flex;flex-direction:column;flex:1}
.compare-card-body h4{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:12px 0 8px}
.compare-card-body h4:first-child{margin-top:0}
.compare-facts,.compare-unknowns,.compare-held{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px;font-size:14px}
.compare-fact-label{display:block;font-weight:650;color:var(--ink)}
.compare-fact-value{color:var(--ink)}
.compare-fact-cond{display:block;color:var(--muted);font-size:12px}
.compare-held li{color:#8a1f1f;font-size:13px}
.include-label{display:flex;align-items:center;gap:10px;min-height:44px;margin:14px 0 8px;font-size:14px;font-weight:650}
.include-label input{width:auto;min-height:0}
.empty-state{color:var(--muted);background:#fff;border:1px dashed var(--line);padding:18px;grid-column:1/-1}
.comparison-notes{margin-top:20px;background:#fff;border:1px solid var(--line);padding:14px 18px}
.comparison-notes summary{cursor:pointer;font-weight:650;min-height:24px}
.comparison-notes p{margin:12px 0 0;color:var(--muted);font-size:14px}

/* Brief */
.brief-paper{background:#fff;border:1px solid var(--line);padding:34px;max-width:900px;margin:22px auto 26px}
.brief-brand{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:20px}
.brief-brand strong{font-family:var(--serif);letter-spacing:.04em;color:var(--navy)}
.brief-brand span{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.brief-created{font-size:13px;color:var(--muted);margin-top:-8px}
.brief-section{margin-top:26px}
.brief-section h3{font-size:18px;border-bottom:1px solid var(--line);padding-bottom:8px}
.brief-facts{display:grid;grid-template-columns:1fr 1fr;gap:8px 22px;margin:0}
.brief-facts>div{display:flex;flex-direction:column;gap:2px;padding:6px 0;border-bottom:1px solid var(--line)}
.brief-facts dt{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:700}
.brief-facts dd{margin:0;font-size:15px}
.brief-model{border:1px solid var(--line);padding:16px 18px;margin-bottom:16px}
.brief-model h4{font-size:17px;margin-bottom:6px}
.brief-model-cat{font:11px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--gold-ink);margin-left:8px}
.brief-model-scope{color:var(--muted);font-size:14px;margin-bottom:10px}
.brief-model-facts{list-style:none;padding:0;margin:0 0 12px;display:flex;flex-direction:column;gap:6px;font-size:14px}
.brief-fact-label{font-weight:650}
.brief-fact-cond{display:block;color:var(--muted);font-size:12px}
.brief-model-held,.brief-model-unknowns{font-size:14px;margin-top:8px}
.brief-model-held ul,.brief-model-unknowns ul{margin:6px 0 0;padding-left:20px;color:var(--muted)}
.brief-model-held{color:#8a1f1f}
.brief-questions{padding-left:22px}
.brief-questions li{margin-bottom:8px}
.brief-unknowns{color:var(--muted);font-size:14px}
.brief-signoff{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;border-top:1px solid var(--line);margin-top:26px;padding-top:12px;font-size:13px;color:var(--muted)}
.plan-tools{margin-top:10px}
.plan-tools h3{font-size:19px}
.plan-status{font-size:14px;font-weight:650;color:var(--navy);margin:14px 0}
.handoff-note{border-left:3px solid var(--gold);background:#fff;padding:12px 14px;font-size:14px;color:var(--ink);margin-bottom:16px}

@media(max-width:900px){
  .model-grid{grid-template-columns:1fr}
  .compare-grid{grid-template-columns:1fr}
  .facts-table{grid-template-columns:1fr}
  .unknown-list{grid-template-columns:1fr}
  .brief-facts{grid-template-columns:1fr}
}
@media(max-width:560px){
  .planner-steps{width:calc(100% - 32px)}
  .demo-note{width:calc(100% - 32px)}
  .planner-panel{width:calc(100% - 32px)}
  .form-grid{grid-template-columns:1fr}
  .brief-paper{padding:20px}
}

/* Owner workspace (Stage D, local private). Reuses the approved public theme. */
.owner-workspace{max-width:1160px}
.owner-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 24px;padding:0}
.owner-tab{
  display:inline-flex;align-items:center;min-height:44px;min-width:44px;
  padding:10px 14px;background:#fff;border:1px solid var(--control-line);border-radius:2px;
  font-size:13px;font-weight:650;color:var(--navy);text-decoration:none;
}
.owner-tab:hover{border-color:var(--navy)}
.owner-tab[aria-current="true"]{background:var(--navy);color:#fff;border-color:var(--navy)}
.owner-panel{padding-top:8px}
.owner-panel h2{margin-bottom:6px}
.owner-panel-sub{color:var(--muted);max-width:80ch}
.owner-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:22px 0}
.owner-stat{
  display:flex;flex-direction:column;gap:4px;background:#fff;border:1px solid var(--line);
  border-top:3px solid var(--gold);padding:18px 16px;text-decoration:none;color:var(--ink);
  min-height:44px;
}
a.owner-stat:hover{border-color:var(--gold)}
.owner-stat-value{font-family:var(--serif);font-size:24px;line-height:1.2}
.owner-stat-label{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:700}
.owner-meta-list{display:grid;grid-template-columns:1fr 1fr;gap:6px 24px;margin:18px 0 0}
.owner-meta-list>div{display:flex;flex-direction:column;gap:2px;padding:8px 0;border-bottom:1px solid var(--line)}
.owner-meta-list dt{font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-weight:700}
.owner-meta-list dd{margin:0}
.owner-note{font-size:14px;color:var(--muted);border-left:3px solid var(--gold);padding-left:12px;max-width:84ch}
.owner-flash{border-left:3px solid var(--gold);background:#fff;padding:12px 14px;margin:14px 0;font-weight:650}
.owner-unavailable{background:#fff;border:1px dashed var(--muted);padding:16px 18px;color:var(--ink);max-width:84ch}
.owner-empty{background:#fff;border:1px dashed var(--line);padding:16px 18px;color:var(--muted)}
.owner-list{display:flex;flex-direction:column;gap:8px;padding-left:0;list-style:none}
.owner-list li{background:#fff;border:1px solid var(--line);padding:12px 14px;font-size:15px}
.owner-ops li{font-size:15px}
.owner-meta{font-size:12px;color:var(--muted);margin:0 0 4px}
.owner-lead{background:#fff;border:1px solid var(--line);padding:20px;margin-bottom:18px}
.owner-lead-head h3{font-family:var(--sans);font-size:17px;font-weight:700;margin-bottom:8px}
.owner-lead-edit{margin:12px 0;border-top:1px solid var(--line);padding-top:12px}
.owner-lead-edit summary{cursor:pointer;font-weight:650;min-height:44px;display:flex;align-items:center}
.owner-form{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;margin-top:14px}
.owner-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:650;color:var(--ink)}
.owner-form input,.owner-form select,.owner-form textarea{
  width:100%;min-height:44px;padding:9px 11px;border:1px solid var(--control-line);
  border-radius:2px;background:#fff;color:var(--ink);font-size:15px;font-weight:400;
}
.owner-form textarea{min-height:88px;resize:vertical}
.owner-wide{grid-column:1/-1}
.owner-money{border:1px solid var(--line);border-radius:2px;padding:12px 14px;display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;grid-column:1/-1}
.owner-money legend{font-size:13px;font-weight:650;padding:0 6px}
.owner-form button{align-self:start;grid-column:1/-1}
.owner-locked{background:#fff;border-left:3px solid var(--muted);padding:10px 12px;font-size:13px;color:var(--muted);grid-column:1/-1;margin:0}
.owner-status-form{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin-top:10px}
.owner-status-form select{min-height:44px;padding:8px 10px;border:1px solid var(--control-line);border-radius:2px;background:#fff}
.owner-status-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:650}
.owner-table-wrap{overflow-x:auto;margin:16px 0}
.owner-table{width:100%;border-collapse:collapse;font-size:13px;background:#fff}
.owner-table th,.owner-table td{border:1px solid var(--line);padding:9px 10px;text-align:left;vertical-align:top}
.owner-table th{background:var(--cream);font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.owner-pager{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:14px}
.owner-page-state{font-size:13px;color:var(--muted)}
/* Keyboard-accessible horizontal scroll regions so offscreen table columns can
   be reached without a pointer. Owner-only; no public style is changed. */
.owner-table-wrap:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.owner-filters{grid-template-columns:repeat(4,1fr)}
.owner-filters button{grid-column:1/-1}

@media(max-width:900px){
  .owner-cards{grid-template-columns:1fr 1fr}
  .owner-form{grid-template-columns:1fr}
  .owner-filters{grid-template-columns:1fr 1fr}
  .owner-money{grid-template-columns:1fr}
  .owner-meta-list{grid-template-columns:1fr}
}
@media(max-width:560px){
  .owner-cards{grid-template-columns:1fr}
  .owner-filters{grid-template-columns:1fr}
}

/* Prepared, consent-gated analytics control. Only emitted on an eligible public
   content route when analytics is explicitly enabled in production mode. Both
   choices share the same button treatment so they are equal choices. */
.consent-banner{
  position:fixed;left:16px;right:16px;bottom:16px;z-index:900;
  max-width:720px;margin:0 auto;background:#fff;border:1px solid var(--line);
  border-top:3px solid var(--gold);box-shadow:0 10px 30px rgba(11,29,43,.16);
  padding:20px 22px;
}
.consent-banner h2{font-size:20px;margin-bottom:8px}
.consent-banner p{font-size:14px;color:var(--muted);margin-bottom:16px}
.consent-actions{display:flex;flex-wrap:wrap;gap:12px}
.consent-actions .btn{flex:1 1 220px}
.consent-revoke{
  display:inline-flex;align-items:center;min-height:44px;padding:8px 4px;
  background:none;border:0;color:var(--muted);font-size:12px;text-decoration:underline;
}
@media(max-width:560px){
  .consent-banner{left:8px;right:8px;bottom:8px;padding:16px}
  .consent-actions .btn{flex:1 1 100%}
}
@media print{
  .consent-banner,.consent-revoke{display:none !important}
}

/* Print: show the complete brief and its sources/limitations, hide chrome. */
@media print{
  .preview-banner,.skip-link,.site-header,.site-footer,.planner-heading,
  .planner-steps,.demo-note,#mission-panel,#compare-panel,.plan-tools,
  .step-actions{display:none !important}
  body{background:#fff;color:#000;font-size:12pt}
  #brief-panel[hidden]{display:block !important}
  #brief-panel{width:auto;margin:0}
  .brief-paper{border:0;padding:0;margin:0;max-width:none}
  .brief-model,.brief-facts>div,.brief-section{border-color:#999}
  a{color:#000;text-decoration:none}
  .source-list a{min-height:0;padding:0}
  .source-url,.compare-fact-src,.brief-fact-src{color:#000;overflow-wrap:anywhere;word-break:break-word}
  .source-list li{break-inside:avoid}
  .brief-model-facts li,.brief-questions li{break-inside:avoid}
  .brief-section h3,.brief-model h4,.brief-model-scope,.brief-model-held strong,.brief-model-unknowns strong{break-after:avoid}
  .brief-model-held strong,.brief-model-unknowns strong{display:block}
}

/* ---------------------------------------------------------------------------
   October 13 approved design pass: editorial homepage hero, qualified-form
   optional groups, category-dependent fields and the /about contact chooser.
   Additive only; the approved logo, nav, palette and typography are unchanged.
   --------------------------------------------------------------------------- */

/* Homepage editorial hero: navy text column beside a full-aircraft photograph. */
.home-hero-editorial{background:var(--navy);color:#fff}
.home-hero-editorial .hero-editorial-grid{
  display:grid;grid-template-columns:1.02fr .98fr;gap:44px;align-items:center;
  padding:56px 0 42px;
}
.hero-editorial-copy h1{color:#fff;font-size:clamp(34px,4.4vw,54px);margin-bottom:18px}
.hero-editorial-copy .hero-intro{font-size:19px;color:#dde5e9;max-width:56ch}
.home-hero-editorial .actions{margin-top:26px}
.hero-planner-note{font-size:14px;color:#c3d0d7;margin:18px 0 0;max-width:56ch}
.hero-planner-note a{color:#e7c98f;font-weight:650}
.hero-editorial-figure{margin:0}
.hero-editorial-photo{display:block;width:100%;height:auto;border:1px solid rgba(255,255,255,.16)}
.hero-editorial-figure figcaption{font-size:12px;line-height:1.5;color:#aebdc5;margin-top:12px;max-width:60ch}
.hero-editorial-figure figcaption a{color:#e7c98f;font-weight:650}

@media(max-width:900px){
  .home-hero-editorial .hero-editorial-grid{grid-template-columns:1fr;gap:26px;padding:40px 0 32px}
  .hero-editorial-copy .hero-intro{font-size:17px}
}
@media(max-width:560px){
  .home-hero-editorial .actions{flex-direction:column;align-items:stretch}
  .home-hero-editorial .actions .btn{width:100%}
}

/* Optional details groups inside an inquiry form. Open on error or prefill. */
.optional-group{border:1px solid var(--line);background:#fff;border-radius:2px;padding:4px 16px;margin:18px 0}
.optional-group summary{cursor:pointer;font-weight:650;font-size:14px;min-height:44px;display:flex;align-items:center;color:var(--navy)}
.optional-group[open] summary{border-bottom:1px solid var(--line);margin-bottom:12px}
.optional-group .group-note{font-size:13px;color:var(--muted);margin:0 0 12px}
.optional-group .field:last-child{margin-bottom:14px}
.field[data-category-field]{scroll-margin-top:12px}

/* Category-dependent fields hidden by the UI while still validated on submit.
   Company / Other / Not sure keeps them visible so a typed draft is preserved. */
.field.is-inapplicable{display:none}

/* Model library badge */
.model-badge{
  display:inline-block;font:11px var(--sans);letter-spacing:.1em;text-transform:uppercase;
  font-weight:700;color:var(--navy);background:var(--cream);
  border:1px solid var(--gold);border-radius:2px;padding:3px 8px;margin-bottom:10px;
}

/* /about contact chooser and panels */
.contact-routing{margin-top:8px}
.contact-chooser{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 10px}
.contact-choice{
  display:inline-flex;align-items:center;min-height:44px;padding:10px 16px;
  background:#fff;border:1px solid var(--control-line);border-radius:2px;
  font-size:13px;font-weight:650;color:var(--navy);text-decoration:none;
}
.contact-choice:hover{border-color:var(--navy)}
.contact-choice[aria-current="true"]{background:var(--navy);color:#fff;border-color:var(--navy)}
.contact-chooser-note{font-size:13px;color:var(--muted);margin:0 0 18px;max-width:70ch}
.form-panels{display:flex;flex-direction:column;gap:20px}
.contact-panel{padding:28px}
.contact-panel-sub{color:var(--muted);font-size:15px;margin-bottom:18px}
@media(max-width:560px){
  .contact-choice{flex:1 1 45%;justify-content:center}
  .contact-panel{padding:20px}
}

/* Authenticated owner payload details (private lead panel only). */
.owner-payload{margin:12px 0;border-top:1px solid var(--line);padding-top:12px}
.owner-payload summary{cursor:pointer;font-weight:650;min-height:44px;display:flex;align-items:center}
.owner-payload-details{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;margin:12px 0 0}
.owner-unverified{border-left:3px solid var(--danger);background:#fff8f8;padding:8px 12px}
@media(max-width:560px){
  .owner-payload-details{grid-template-columns:1fr}
}
