/* Shared editorial rhythm, Figma stamp frames, and a portrait-led mobile hero. */
:root {
  --section-space: 80px;
  --section-gap: 40px;
  --copy-gap: 24px;
  --image-radius: 12px;
  --body-size: 17px;
  --reading-width: 65ch;
}
body { font-size: var(--body-size); line-height: 1.7; }
.section { padding-block: var(--section-space); }
.section-head { margin-bottom: var(--section-gap); gap: 32px; }
.section h2 { font-size: clamp(35px, 3.8vw, 54px); line-height: 1.2; }
.section h3 { line-height: 1.25; }
.eyebrow { margin-bottom: 16px; font-size: 11px; letter-spacing: 1.5px; }
.intro-grid p, .figma-step p, .feature-list p, .chapter-panel p,
.chapter-overview p, .process-grid p, details p {
  font-size: var(--body-size);
  font-weight: 450;
  line-height: 1.7;
  max-width: var(--reading-width);
}
.intro-grid h2, .chapter-overview h2, .feature-list h3,
.chapter-panel h3, .faq-layout h2 { margin-bottom: var(--copy-gap); }
.compare-section, .blog-section { background: #fff; }
.spotlight-section { border-top: 1px solid var(--line); }
.story-grid, .article-grid { gap: 28px; }
.story-card h3, .article-card h3 { font-size: 29px; line-height: 1.25; }
.story-card p, .article-card p { font-size: 16px; line-height: 1.65; font-weight: 400; }
.story-image, .article-card img, .stamped-photo img,
.figma-step-split>img { border-radius: var(--image-radius); }
.story-image img, .article-card img, .stamped-photo img,
.intro-grid .stamped-photo img, .figma-step-split>img,
.figma-step-reverse .stamped-photo img {
  width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover;
}
.figma-steps { margin-top: 56px; }
.figma-step { padding: 32px 0; border-top: 1px solid var(--line); }
.figma-step h3 { font-size: clamp(29px, 2.8vw, 40px); margin-bottom: var(--copy-gap); }
.figma-step>.text-link { float: none; }
.figma-step-split { gap: var(--section-gap); }
.figma-step .text-link, .section-head .text-link { font-size: 21px; }
.figma-step-final { flex-direction: row; align-items: center; justify-content: flex-start; flex-wrap: wrap; gap: 24px; }
.text-link { font-size: 21px; line-height: 1.35; }
.text-link .arrow--circle, .story-card .text-link .arrow--circle,
.article-card .card-bottom .arrow--circle { width: 23px; height: 23px; }
.button { min-height: 54px; padding: 14px 20px; border-radius: 10px; font-size: 26px; }
.button .arrow:not(.arrow--circle) { width: 38px; height: 31px; }
.button.green { border-radius: 4px; font-size: 24px; }
.chapter-panel { border-radius: 0 12px 12px 12px; }
.chapter-panel>div { padding: 40px; }
.feature-list, .process-grid { gap: 32px; }
.cta-band { padding-block: var(--section-space); }
.cta-band h2 { font-size: clamp(40px,4.6vw,64px); }
.hero-form-eyebrow { display: none; }
.stamp { border: 5px solid currentColor; border-radius: 10px; padding: .08em .2em .12em; line-height: 1.1; color: #cf3325; }
.stamp-word { display: inline-block; vertical-align: baseline; margin-block: .1em; white-space: nowrap; transform: rotate(-2deg); }
.hero-form h1 .stamp-word { font-size: 1.2em; transform: rotate(-2deg); margin-right: .05em; }
.page-hero .stamp-word { color: #ed4d3a; border-color: #d83425; }
.chapter-accent { display: inline-block; margin-top: 12px; }
.hero-form h1 { line-height: 1.3; }
.choice-section { padding-block: var(--section-space); background: #fff; }
.choice-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 70px; align-items: start; }
.choice-layout h2 { font-size: clamp(35px,3.8vw,54px); line-height: 1.2; }
.choice-intro { margin-top: 24px; max-width: 45ch; }
.choice-options { border-top: 1px solid var(--line); }
.choice-options details { padding: 24px 0; }
.choice-options summary { font-size: 26px; }
.choice-options details p { max-width: 60ch; }
.choice-options .choice-tradeoff { color: #7e352e; font-size: 15px; }
.choice-options .text-link { margin-top: 18px; }
.choice-source { margin-top: 28px; font-size: 12px; color: #5d6469; }
@media(max-width:900px) {
  :root { --section-space: 64px; --section-gap: 32px; }
  .section-head { gap: 24px; }
  .intro-grid { gap: 36px; }
  .chapter-panel>div { padding: 30px; }
  .choice-layout { grid-template-columns: 1fr; gap: 28px; }
  .choice-intro { max-width: 65ch; }
}
@media(max-width:600px) {
  :root { --section-space: 48px; --section-gap: 28px; --copy-gap: 18px; --body-size: 16px; }
  .section h2 { font-size: 35px; line-height: 1.22; }
  .section-head { margin-bottom: 28px; }
  .section-head .text-link { margin-top: 20px; }
  .hero-bg { background-size: auto 800px; background-position: 43% top; background-repeat: no-repeat; background-color: #102536; }
  .hero:after { background: linear-gradient(180deg,#091c3352 0%,#091c331a 62%,#102536 100%); }
  .hero-tagline { padding: 18px 0 4px; font-size: 18px; line-height: 1.4; }
  .hero-layout { display: grid; grid-template-columns: minmax(0,1fr); grid-template-areas: 'headline' 'portrait' 'fields'; min-height: 0; }
  .hero-copy, .hero-form { display: contents; }
  .hero-form h1 { grid-area: headline; font-size: 29px; line-height: 1.3; padding: 20px 2px 0; margin: 0; }
  .hero-form h1 .stamp-word { font-size: 1.18em; border-width: 4px; }
  .hero-person { grid-area: portrait; margin: 0 -18px; height: clamp(430px,122vw,530px); overflow: hidden; }
  .hero-person>img { height: 100%; width: auto; min-width: 100%; top: auto; bottom: 0; left: 50%; max-width: none; }
  .person-caption { bottom: 0; left: 0; right: 0; padding: 12px 18px; background: #102536ed; font-size: 15px; line-height: 1.5; white-space: normal; }
  .hero-fields { grid-area: fields; padding: 25px 22px 22px; background: #102536; margin: 0 -18px; border-top: 1px solid #ffffff2c; }
  .hero-form-eyebrow { display: block; font: 24px/1.3 var(--display); text-transform: uppercase; margin: 0 0 20px; }
  .hero-form label { font-size: 17px; margin-top: 13px; }
  .hero-form input { height: 44px; }
  .hero-form .button { width: 100%; font-size: 24px; padding: 14px 16px; gap: 18px; margin-top: 22px; }
  .hero-form .button .arrow { width: 35px; height: 28px; }
  .form-help { font-size: 11px; line-height: 1.55; max-width: 48ch; }
  .hero-fields { scroll-margin-top: 90px; }
  .attorney-copy { padding-top: 48px; }
  .attorney-copy h2 { font-size: 30px; line-height: 1.35; margin-bottom: 24px; }
  .attorney-note .stamp { font-size: clamp(19px,5.3vw,26px); }
  .attorney-note p { font-size: 22px; line-height: 1.4; }
  .intro-grid { gap: 28px; }
  .intro-grid .stamped-photo img { aspect-ratio: 3 / 2; }
  .stamped-photo .stamp { font-size: clamp(28px,8.5vw,44px); }
  .figma-step-reverse .stamp { left: 6%; font-size: clamp(28px,8.5vw,39px); }
  .figma-steps { margin-top: 32px; }
  .figma-step { padding: 28px 0; }
  .figma-step h3 { font-size: 29px; }
  .figma-step p { font-size: 16px; }
  .figma-step .text-link, .figma-step-split .text-link { font-size: 20px; }
  .figma-step-split>img, .figma-step-reverse .stamped-photo img { aspect-ratio: 3 / 2; }
  .figma-step-final { align-items: flex-start; gap: 20px; }
  .chapter-panel>div { padding: 28px 24px; }
  .chapter-panel h3 { font-size: 32px; }
  .chapter-panel .button { font-size: 23px; }
  .story-card h3, .article-card h3 { font-size: 29px; }
  .choice-layout { gap: 26px; }
  .choice-layout h2 { font-size: 35px; }
  .choice-options summary { font-size: 25px; }
  .choice-options details { padding: 22px 0; }
  .choice-options .choice-tradeoff { font-size: 14px; }
  .page-hero h1 { font-size: 42px; }
  .page-hero .stamp-word { font-size: .9em; border-width: 4px; }
}
@media(max-width:360px) {
  .hero-form h1 { font-size: 26px; }
  .hero-tagline { font-size: 16px; }
  .hero-person { height: 430px; }
  .person-caption { font-size: 14px; }
  .hero-form .button { font-size: 22px; gap: 13px; padding: 14px; }
  .section h2, .choice-layout h2 { font-size: 32px; }
  .page-hero h1 { font-size: 36px; }
}
@media(max-width:600px){.hero-fields{scroll-margin-top:16px}}
.article-card .card-bottom .arrow--circle { color: var(--ink); }
@media(min-width:601px) and (max-width:900px){
  .hero-layout{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:'headline' 'portrait' 'fields';min-height:0}
  .hero-copy,.hero-form{display:contents}
  .hero-form h1{grid-area:headline;font-size:38px;line-height:1.3;margin:0;padding:26px 0 0}
  .hero-person{grid-area:portrait;height:560px;margin:0 -28px;overflow:hidden}
  .hero-person>img{width:auto;height:100%;min-width:0;left:50%;top:auto;bottom:0}
  .person-caption{left:0;right:0;bottom:0;white-space:normal;padding:12px 28px;background:#102536ed;font-size:21px}
  .hero-fields{grid-area:fields;width:min(100%,640px);margin:0 auto 32px;padding:30px;background:#102536;border:1px solid #ffffff2c;border-radius:10px;scroll-margin-top:18px}
  .hero-form-eyebrow{display:block;font:26px/1.3 var(--display);margin:0 0 22px}
  .hero-form input{height:44px}
}

/* The opening composition keeps the individual proportions of the Figma frame. */
.hero-copy { padding-top: 0; }
.hero-form { background: #07131c99; border: 0; border-radius: 22px; backdrop-filter: none; }
.hero-bg { background-position: center center; }
.hero:after { background: linear-gradient(90deg,#0c213870 0%,#0b20363b 48%,#0b203600 100%); }
.hero-tagline { font-size: clamp(20px,2.05vw,30px); }
.hero-form h1 { font-size: clamp(34px,3.3vw,49px); line-height: 1.35; }
.hero-fields { max-width: 510px; margin-inline: auto; }
.hero-form label { margin-top: 16px; }
.hero-form .button { border-radius: 12px; }
.intro-grid { grid-template-columns: 1.2fr .95fr; gap: 65px; align-items: center; }
.intro-grid h2 { font-size: clamp(35px,3.6vw,55px); line-height: 1.35; }
.intro-grid p,.figma-step p { font-weight: 700; line-height: 1.45; font-size: 18px; }
.intro-grid .stamped-photo img { aspect-ratio: 1.04; }
.figma-step-reverse .stamped-photo img { aspect-ratio: 1.15; }
.figma-steps { margin-top: 60px; }
.figma-step { padding: 22px 0 47px; border: 0; }
.figma-step h3 { font-size: clamp(30px,3.05vw,46px); }
.figma-step>.text-link { float: right; }
.figma-step-final { flex-direction: column; align-items: flex-end; gap: 19px; }
.attorney-copy h2 { font-size: clamp(34px,3.4vw,52px); line-height: 1.35; }
.attorney-note .stamp { background: transparent; border: 6px solid #cf3325; color: #cf3325; padding: 8px 12px; border-radius: 10px; }
.stamped-photo .stamp { border-width: 6px; }
.brand-symbol { display: block; width: 84px; height: 55px; flex: 0 0 84px; overflow: visible; }
.brand { min-width: 0; gap: 10px; }
.brand-name { display: block; line-height: 1.2; padding-block: 5px; letter-spacing: -.7px; }
.site-header .brand { flex: 1 1 auto; }
.site-header .brand-name,.mega-top .brand-name { font-size: clamp(28px,3.2vw,52px); }
.site-header .nav-utility { margin-left: 0; }
.nav { gap: 18px; }
.footer-brand .brand-name { font-size: clamp(20px,2.2vw,30px); }
.footer-brand .brand-symbol { width: 65px; height: 43px; flex-basis: 65px; }
.page-hero { background: #112633 url('/assets/img/figma/dallas-skyline.png') center 45%/cover; position: relative; isolation: isolate; }
.page-hero:before { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#0b1d2dee,#0b1d2ddc 48%,#0b1d2d40); z-index:-1; }
.page-hero-split>.figma-page-portrait { opacity: 1; filter: none; }
.page-hero h1 { line-height: 1.25; }
@media(max-width:1150px){.site-header .brand-name,.mega-top .brand-name{font-size:29px}.brand-symbol{width:70px;height:46px;flex-basis:70px}.nav{gap:14px}.site-header .nav-utility{display:none}.intro-grid{gap:38px}.attorney-note .stamp{border-width:5px}}
@media(max-width:900px){.site-header .brand-name,.mega-top .brand-name{font-size:clamp(24px,3.8vw,35px)}.hero-copy,.hero-form{display:contents}.hero-form h1{font-size:38px}.hero-fields{max-width:640px}.intro-grid{gap:32px}.intro-grid p,.figma-step p{font-size:16px}.attorney-copy h2{font-size:33px}}
@media(max-width:600px){
  .brand-symbol{width:clamp(40px,12vw,58px);height:auto;flex-basis:clamp(40px,12vw,58px)}
  .site-header .brand-name,.mega-top .brand-name{font-size:clamp(15px,5.5vw,25px);letter-spacing:-.35px}
  .site-header .brand,.mega-top .brand{gap:6px;flex:1 1 auto}
  .site-header .menu-toggle{width:44px;min-width:44px;height:44px;padding:10px;gap:0;flex:0 0 44px;margin-left:0}
  .site-header .menu-toggle>span{display:none}
  .site-header .nav{gap:10px;min-height:72px}
  .footer-brand .brand-name{font-size:clamp(18px,5.6vw,28px)}
  .footer-brand .brand-symbol{width:51px;height:34px;flex-basis:51px}
  .hero-form h1{font-size:29px;line-height:1.4;padding-top:16px}
  .hero-fields{max-width:none;margin-inline:-18px;background:#102536}
  .hero-bg{background-position:52% top}
  .hero:after{background:linear-gradient(180deg,#0b203638,#0b203600 65%,#102536)}
  .hero-person{height:clamp(430px,122vw,530px)}
  .hero-person>img{min-width:0;width:auto;height:100%}
  .intro-grid{grid-template-columns:1fr;gap:28px}
  .intro-grid h2{font-size:35px;line-height:1.35}
  .intro-grid .stamped-photo{width:min(100%,440px);margin-inline:auto}
  .intro-grid .stamped-photo img{aspect-ratio:1.04}
  .figma-step-reverse .stamped-photo img{aspect-ratio:1.15}
  .figma-step h3{font-size:29px}
  .figma-step>.text-link{float:none}
  .figma-step-final{align-items:flex-start}
  .attorney-copy h2{font-size:30px}
  .attorney-note .stamp{font-size:clamp(19px,5.3vw,26px);border-width:4px;padding:6px 8px}
  .stamp{border-width:4px;border-radius:8px}
  .stamp-word{max-width:100%}
  .page-hero h1{font-size:clamp(34px,9.3vw,45px)}
}
@media(max-width:360px){.hero-form h1{font-size:26px}.hero-fields{padding-inline:20px}.person-caption{font-size:13px}.stamp-word{white-space:normal}}
@media(min-width:901px){
  .attorney-layout{min-height:clamp(640px,58vw,870px)}
  .attorney-visual>img{height:clamp(640px,58vw,870px)}
  .attorney-note .stamp{font-size:clamp(25px,2.65vw,40px)}
  .attorney-note p{font-size:clamp(25px,2.25vw,34px)}
}
@media(max-width:600px){.attorney-visual{height:600px}.attorney-visual>img{height:600px}}

/* A prominent slogan row joins the logo/title in the shared navy header. */
:root { --site-header-height:138px; }
.site-header { overflow:clip; }
.home-page .hero>.wrap { padding-top:20px; }
.site-header .header-brand,.mega-top .header-brand { flex:1 1 auto; }
.site-header .header-brand .brand-symbol,.mega-top .header-brand .brand-symbol { width:104px; height:auto; flex-basis:104px; }
.site-header .header-brand .brand-name,.mega-top .header-brand .brand-name { font-size:clamp(36px,3.6vw,60px); }
.header-brand .brand-name { min-width:0; padding-block:0; line-height:1.05; white-space:normal; }
.header-brand .brand-title { display:block; white-space:nowrap; }
.header-tagline {
  color:#f04d3c;
  font:clamp(22px,2.3vw,34px)/1.18 var(--display);
  text-transform:uppercase;
  /* Account for Anton's cap height and the source logo's clear space. */
  margin-top:clamp(-18px,calc(-.25vw - 13.8px),-17px);
  margin-bottom:0;
  padding-bottom:6px;
  white-space:normal;
  transform-origin:left top;
}
.header-tagline>span {
  text-decoration-line:underline;
  text-decoration-color:#cf3325;
  text-decoration-thickness:3px;
  text-underline-offset:6px;
  text-decoration-skip-ink:none;
}
.header-tagline-place { white-space:nowrap; }
html { scroll-padding-top:calc(var(--site-header-height,88px) + 22px); }
.reading-progress { top:var(--site-header-height,88px); }
.mega-shell:before,.mega-shell:after { top:var(--site-header-height,88px); }
@media(min-width:901px) and (max-width:1150px){
  .site-header .header-brand .brand-symbol,.mega-top .header-brand .brand-symbol { width:90px; flex-basis:90px; }
  .site-header .header-brand .brand-name,.mega-top .header-brand .brand-name { font-size:36px; }
  .header-tagline { margin-top:clamp(-20px,calc(-.8vw - 11.8px),-19px); }
}
@media(min-width:601px) and (max-width:900px){
  .site-header .nav>.button { display:none; }
  .site-header .header-brand .brand-symbol,.mega-top .header-brand .brand-symbol { width:88px; flex-basis:88px; }
  .site-header .header-brand .brand-name,.mega-top .header-brand .brand-name { font-size:clamp(30px,4.4vw,40px); }
  .header-tagline { margin-top:-14px; }
}
@media(max-width:600px){
  .site-header .nav,.mega-top-inner {
    display:grid;
    grid-template-columns:minmax(0,1fr) 44px;
    grid-template-rows:auto 44px;
    gap:0 10px;
    min-height:0;
    padding-top:12px;
  }
  .site-header .header-brand,.mega-top .header-brand { grid-column:1 / -1; grid-row:1; width:100%; }
  .site-header .header-brand .brand-symbol,.mega-top .header-brand .brand-symbol {
    width:clamp(56px,17.45vw,80px);
    flex-basis:clamp(56px,17.45vw,80px);
  }
  .site-header .header-brand .brand-name,.mega-top .header-brand .brand-name { font-size:clamp(23px,7.2vw,36px); }
  .site-header .menu-toggle,.mega-top .mega-close { grid-column:2; grid-row:2; margin:0; justify-self:end; align-self:center; }
  .header-tagline {
    font-size:clamp(21px,5.4vw,27px);
    margin-top:clamp(-50px,calc(-1.4vw - 42px),-46.5px);
    padding-bottom:4px;
    width:calc(100% - 90px);
    margin-left:18px;
    margin-right:auto;
  }
  .header-tagline>span { text-underline-offset:5px; }
}
