@font-face{font-family:Michroma;src:url('./michroma.woff2') format('woff2');font-display:swap;font-weight:400}

@font-face{font-family:"IBM Plex Sans";src:url('./plex.woff2') format('woff2');font-display:swap;font-weight:100 700}

@font-face{font-family:"Chakra Petch";src:url('./chakra.ttf') format('truetype');font-display:swap;font-weight:700}

:root{--brand:#a91f24;--signal:#f1767b;--ink:#070708;--paper:#f2f1ec;--reading-text:#202124;--muted:#a4a8ad;--gutter:clamp(1.5rem,5vw,6rem);color-scheme:dark;font-family:"IBM Plex Sans",sans-serif;background:var(--ink);color:var(--paper)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:7rem}
body{margin:0;padding-top:32px}
img{display:block;max-width:100%}
svg{flex-shrink:0}
a{color:inherit;text-decoration:none}
button,summary{font:inherit}
a,summary{-webkit-tap-highlight-color:transparent}
a:focus-visible,summary:focus-visible{outline:3px solid var(--signal);outline-offset:5px}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-weight:400}
h1,h2{font-family:Michroma,sans-serif;text-transform:uppercase;text-wrap:balance;overflow-wrap:anywhere}
h1{font-size:clamp(2rem,4.5vw,4.6rem);line-height:1.18;max-width:18ch}
h2{font-size:clamp(1.5rem,2.8vw,2.8rem);line-height:1.3}
p{line-height:1.65}
::selection{background:var(--brand);color:white}
.wrap{max-width:90rem;margin-inline:auto;padding-inline:var(--gutter)}
.skip{position:fixed;top:0;left:1rem;z-index:10;background:var(--paper);color:var(--reading-text);padding:1rem;transform:translateY(-120%)}
.skip:focus{transform:none}
.header{background:#070708;position:absolute;z-index:2;width:100%;border-bottom:1px solid #ffffff35}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;min-height:6rem}
.header nav{display:flex;gap:clamp(1rem,3vw,3rem);font-size:.9rem}
.header nav a{display:flex;align-items:center;min-height:44px}
.header nav a:hover{color:var(--signal)}
.hero{min-height:calc(100svh - 32px);position:relative;display:flex;align-items:end;padding-block:12rem 5rem;background:#851d25;isolation:isolate}
.hero>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;filter:grayscale(1);mix-blend-mode:luminosity;opacity:.72}
.hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#27080cbd,transparent 90%),linear-gradient(0deg,#100407cf,transparent 85%)}
.hero .wrap{width:100%}
.hero-copy{max-width:54rem}
.hero .lede{max-width:43rem;font-size:clamp(1.1rem,1.5vw,1.4rem);margin-top:2rem}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:2rem}
.button{display:inline-flex;justify-content:space-between;align-items:center;gap:2rem;min-height:48px;padding:.9rem 1.3rem;background:var(--brand);color:white;font-weight:500}
.button:hover{background:#8b191e}
.button.light{background:var(--paper);color:var(--reading-text)}
.button.light:hover{background:white}
.text-link{display:inline-flex;align-items:center;gap:1.5rem;min-height:44px;border-bottom:1px solid currentColor}
.text-link:hover{color:var(--signal)}
.caption{font-size:.75rem;padding-block:.7rem;border-bottom:1px solid #ffffff26;color:var(--muted)}
.statement{background:var(--paper);color:var(--reading-text);padding-block:clamp(4.5rem,10vw,9rem)}
.statement h2{max-width:28ch}
.statement em{font-style:normal;color:var(--brand)}
.range{padding-block:clamp(4rem,8vw,8rem)}
.section-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:3rem;align-items:end;margin-bottom:3rem}
.section-heading p{max-width:35rem;font-size:1.1rem;color:var(--muted)}
.range-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem}
.range-figure{position:sticky;top:2rem;align-self:start}
.range-figure img{width:100%;aspect-ratio:4/5;object-fit:cover}
.range-figure figcaption{font-size:.75rem;color:var(--muted);margin-top:.8rem}
.range-figure{margin:0}
.services{border-top:1px solid #ffffff35}
details{border-bottom:1px solid #ffffff35}
summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:88px;padding-block:1.5rem;list-style:none}
summary::-webkit-details-marker{display:none}
summary:after{content:"+";font-size:1.8rem;color:var(--signal)}
details[open] summary:after{content:"−"}
summary h3{font-family:"Chakra Petch",sans-serif;font-size:clamp(1.25rem,2vw,1.8rem);font-weight:700;text-transform:uppercase}
details .service-body{padding-bottom:2rem}
details p{color:var(--muted);margin-bottom:1rem}
details .text-link{font-size:.9rem}
.approach{background:var(--paper);color:var(--reading-text);padding-block:clamp(4rem,8vw,8rem)}
.approach .section-heading p{color:#53565b}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem;margin-top:4rem;counter-reset:steps}
.step{border-top:2px solid var(--brand);padding-top:1.5rem}
.step:before{counter-increment:steps;content:"0" counter(steps);display:block;font-size:.8rem;color:var(--brand);margin-bottom:1.5rem}
.step h3{font-size:1.5rem;font-weight:500;margin-bottom:1rem}
.step p{color:#53565b}
.engage{background:var(--brand);padding-block:clamp(4rem,8vw,7rem)}
.engage-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:4rem}
.engage p{font-size:1.2rem}
.footer{padding-block:3rem}
.footer-inner{display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.footer p{color:var(--muted);font-size:.85rem}
.footer nav{display:flex;gap:1.5rem;flex-wrap:wrap;font-size:.85rem}
.crumbs{margin-bottom:2rem;font-size:.85rem;display:flex;gap:.8rem;flex-wrap:wrap}
.crumbs a{text-decoration:underline;text-underline-offset:4px}
.detail-body{padding-block:clamp(4rem,8vw,7rem);background:var(--paper);color:var(--reading-text)}
.detail-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:4rem}
.detail-grid>p{font-size:clamp(1.2rem,1.8vw,1.6rem);line-height:1.7}
.points{margin:0;padding:0;list-style:none}
.points li{border-top:1px solid #07070840;padding-block:1.5rem}
.points h3{font-size:1.2rem;font-weight:500;margin-bottom:.5rem}
.points p{color:#53565b}
.related{padding-block:4rem}
.related h2{margin-bottom:2rem}
.related-links{display:grid;grid-template-columns:repeat(2,1fr);gap:0 3rem}
.related-links a{padding-block:1.5rem;border-top:1px solid #ffffff35;display:flex;justify-content:space-between;gap:1rem;font-size:1.15rem}
.related-links a:hover{color:var(--signal)}
.living .range-figure img{object-position:60%}
.consulting .hero>img{object-position:60%}
.consulting .range-figure img{object-position:65%}

@media(max-width:760px){.header-inner{gap:1rem;min-height:7.2rem;flex-wrap:wrap;padding-block:1rem}
.header nav{width:100%;justify-content:space-between;font-size:.85rem}
.header nav a{min-height:36px}
.hero{padding-top:12rem;padding-bottom:3rem}
.hero .lede{font-size:1.1rem}
.section-heading,.range-grid,.engage-grid,.detail-grid{grid-template-columns:1fr;gap:2rem}
.range-figure{position:static}
.range-figure img{aspect-ratio:4/3}
.steps{grid-template-columns:1fr;gap:2rem}
.related-links{grid-template-columns:1fr}
.footer-inner{flex-direction:column}
.hero h1{font-size:clamp(1.6rem,6.5vw,2.6rem);overflow-wrap:anywhere}
.statement h2{font-size:clamp(1.35rem,5vw,2rem)}
.living .hero>img{object-position:60%}
.actions{gap:.8rem}
.button{gap:1rem}
}

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


[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--signal);outline-offset:4px}
.segal-division-lockup{font-size:24px;display:inline-flex;align-items:center;gap:12px;max-width:100%;min-width:0;vertical-align:middle;line-height:1.15;color:inherit}
.segal-division-lockup__wordmark{display:block;flex:0 0 auto;width:5.299em;height:.7em;background:currentColor;mask:url('./segal-type.svg') center/contain no-repeat;-webkit-mask:url('./segal-type.svg') center/contain no-repeat}
.segal-division-lockup__name{min-width:0;font-family:"Chakra Petch",sans-serif;font-size:24px;font-weight:700;line-height:1.15;letter-spacing:.035em;text-transform:uppercase}
.surface-light{background:var(--paper);color:var(--reading-text);color-scheme:light}
.surface-light .section-heading p{color:#53565b}
.collection,.product-story,.product-chapter,.specification{padding-block:clamp(4rem,8vw,8rem)}
.collection-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2.5rem}
.collection-filters button{background:transparent;color:var(--muted);border:1px solid #38383b;min-height:44px;padding:.6rem 1rem}
.collection-filters button[aria-pressed=true]{background:var(--brand);border-color:var(--brand);color:#fff}
.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4rem 2rem}
.product-entry{min-width:0}
.product-entry-image{display:block;overflow:hidden;background:#151517}
.product-entry-image img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.product-entry-copy{padding-top:1.5rem}
.product-entry h3{font-family:"Chakra Petch",sans-serif;font-weight:700;text-transform:uppercase;font-size:1.6rem}
.product-entry h3 a{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:44px}
.product-entry h3 a:hover{color:var(--signal)}
.product-entry p{margin-top:.65rem;color:var(--muted);max-width:52ch}
.product-entry .product-format{font-size:.85rem}
.architecture .product-entry:first-child,.rail .product-entry:first-child{grid-column:1/-1}
.architecture .product-entry:first-child img,.rail .product-entry:first-child img{aspect-ratio:21/9}
.program-directory{padding-bottom:6rem}
.program-directory h2{margin-bottom:2rem}
.program-directory nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 3rem}
.program-directory a{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid #38383b;min-height:74px;padding-block:1.25rem;font-size:1.1rem}
.program-directory a:hover{color:var(--signal)}
.story-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:4rem;align-items:start}
.story-grid>div>p{font-size:1.15rem;margin-top:2rem;max-width:65ch}
.product-story .points{margin-top:2.5rem}
.product-story .points li{border-color:#cecec7}
.product-story .points p{color:#53565b}
.product-stage{margin:0;position:sticky;top:2rem}
.product-stage img{width:100%;height:auto;object-fit:contain;background:#e8e7e1}
.product-stage figcaption{font-size:.75rem;color:#53565b;margin-top:.7rem}
.product-chapter h2{max-width:27ch;margin-bottom:2rem}
.product-chapter>p{font-size:1.2rem;max-width:68ch;color:var(--muted)}
.portfolio-source{margin-top:2rem}
.portfolio-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3rem 2rem;padding-bottom:5rem}
.portfolio-gallery figure{margin:0}
.portfolio-gallery img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.portfolio-gallery figcaption{color:var(--muted);font-size:.85rem;margin-top:.8rem}
@media(max-width:760px){.portfolio-gallery{grid-template-columns:1fr}}
.applications{list-style:none;padding:0;display:flex;gap:1rem;flex-wrap:wrap;margin-top:2rem}
.applications li{border-bottom:1px solid #38383b;padding-bottom:.5rem;font-size:.95rem}
.spec-table-scroll{overflow:auto}
.spec-table{border-collapse:collapse;text-align:left;width:100%;min-width:450px}
.spec-table caption{text-align:left;font-size:.85rem;color:#53565b;padding-bottom:1rem}
.spec-table th,.spec-table td{border-bottom:1px solid #cecec7;padding:1.2rem 1.5rem 1.2rem 0;vertical-align:top;min-width:150px}
.spec-table th{font-weight:500}
.spec-table thead th{border-top:2px solid var(--brand)}
.spec-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;margin-top:3rem}
.spec-options h3{font-size:1.15rem;font-weight:500;margin-bottom:.7rem}
.spec-options p{color:#53565b}
.software-demo{margin:0;background:#151517;color:#fafafa;color-scheme:dark;border:1px solid #38383b;min-width:0}
.workspace-title{display:flex;justify-content:space-between;gap:1rem;padding:1.2rem;border-bottom:1px solid #38383b;font-weight:500}
.workspace-sample{font-size:.75rem;color:#a4a8ad}
.workspace-shell{display:grid;grid-template-columns:120px minmax(0,1fr)}
.workspace-nav{border-right:1px solid #38383b;padding:1rem .65rem;display:flex;flex-direction:column;gap:.5rem}
.workspace-nav button{border:0;background:transparent;color:#a4a8ad;text-align:left;min-height:44px;padding:.65rem;font-size:.85rem}
.workspace-nav button[aria-pressed=true]{color:white;background:var(--brand)}
.workspace-content{min-width:0;padding:1.5rem}
.workspace-content h3{font-size:1.2rem;font-weight:500;margin-bottom:1.5rem}
.workspace-table-scroll{overflow:auto}
.workspace-content table{border-collapse:collapse;text-align:left;width:100%;min-width:440px;font-size:.8rem}
.workspace-content th,.workspace-content td{padding:1rem .75rem 1rem 0;border-bottom:1px solid #38383b;vertical-align:top;font-weight:400}
.workspace-content thead th{color:#a4a8ad;font-size:.7rem}
.software-demo figcaption{padding:1rem 1.2rem;border-top:1px solid #38383b;font-size:.75rem;color:#a4a8ad}
.quote-page .header{background:#070708}
.quote-intro{padding-top:11rem;padding-bottom:4rem}
.quote-intro h1{font-size:clamp(1.8rem,3.6vw,3rem);max-width:24ch}
.quote-intro>p{font-size:1.1rem;max-width:60ch;margin-top:2rem;color:var(--muted)}
.quote-workspace{padding-block:4rem 6rem}
.quote-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:4rem;align-items:start}
.quote-preview{position:sticky;top:2rem;min-width:0}
.quote-preview>img{width:100%;height:320px;object-fit:contain;background:#e8e7e1;margin-bottom:2rem}
.quote-preview h2{font-size:1.4rem;margin-bottom:1rem}
.quote-preview>p{color:#53565b}
.quote-preview dl{margin-top:2rem;font-size:.9rem}
.quote-preview dl>div,.quote-review>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:1rem;border-top:1px solid #cecec7;padding-block:1rem}
.quote-preview dd,.quote-review dd{margin:0;overflow-wrap:anywhere}
.quote-preview dt,.quote-review dt{color:#53565b}
.quote-note{font-size:.9rem!important;line-height:1.7;margin-top:2rem;color:#53565b}
.quote-progress{list-style:none;display:flex;gap:1.5rem;flex-wrap:wrap;padding:0;margin:0 0 2.5rem;font-size:.9rem;color:#53565b}
.quote-progress li{padding-bottom:.65rem;border-bottom:2px solid #cecec7}
.quote-progress li[aria-current=step]{color:var(--brand);border-color:var(--brand)}
#quote-form fieldset{border:0;margin:0;padding:0;min-width:0}
#quote-form legend{font-size:1.5rem;font-weight:500;margin-bottom:2rem}
#quote-form label{display:flex;flex-direction:column;gap:.65rem;margin-bottom:1.5rem;font-size:.95rem}
#quote-form input,#quote-form select,#quote-form textarea,.quote-draft textarea{width:100%;min-width:0;background:#fff;color:#202124;border:1px solid #cecec7;border-radius:0;padding:.85rem;min-height:48px}
#quote-form textarea{resize:vertical}
.quote-field-pair{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.quote-page button.button{border:0;font-weight:500}
.quote-page button.text-link{background:transparent;border:0;border-bottom:1px solid currentColor;color:inherit;padding:0}
.quote-page button:disabled{cursor:wait;opacity:.65}
.quote-error{margin-top:2rem;padding:1rem;border:1px solid var(--brand);color:var(--brand)}
#quote-status{margin-top:1.5rem;font-weight:500}
.quote-draft{margin-top:2rem;border-color:#cecec7}
.quote-draft summary{min-height:60px;font-weight:500}
.quote-draft textarea{font-size:.9rem;resize:vertical;margin-block:1rem}
.honeypot{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.footer .segal-division-lockup{font-size:18px;margin-bottom:1.5rem}
.footer .segal-division-lockup__wordmark{width:5.299em;height:.7em}
.footer .segal-division-lockup__name{font-size:18px}
.header .segal-division-lockup,.footer .segal-division-lockup{min-height:44px}
.surface-light :focus-visible{outline-color:var(--brand)}
.software-demo :focus-visible{outline-color:var(--signal)}
.footer nav a{display:flex;align-items:center;min-height:44px}
@media(max-width:760px){.header nav{gap:.75rem;font-size:.8rem}.header nav a{min-height:44px}.header-inner{gap:.5rem}.story-grid,.quote-layout{grid-template-columns:1fr;gap:3rem}.product-stage,.quote-preview{position:static}.product-grid{grid-template-columns:1fr;gap:3rem}.architecture .product-entry:first-child img,.rail .product-entry:first-child img{aspect-ratio:3/2}.program-directory nav,.spec-options{grid-template-columns:1fr}.product-entry h3{font-size:1.4rem}.workspace-shell{grid-template-columns:1fr}.workspace-nav{flex-direction:row;border-right:0;border-bottom:1px solid #38383b;overflow:auto}.workspace-title{flex-direction:column;gap:.4rem}.workspace-content{padding:1rem}.quote-preview>img{height:260px}.quote-intro{padding-top:11rem}.quote-field-pair{grid-template-columns:1fr;gap:0}.quote-preview dl>div,.quote-review>div{grid-template-columns:1fr;gap:.4rem}}


@media(max-width:760px){.header .segal-division-lockup{font-size:20px}.header .segal-division-lockup__wordmark{width:5.299em;height:.7em}.header .segal-division-lockup__name{font-size:20px}}


/* Corporate attribution sits above each business's own navigation. */
:is(.corporate-bar,.segal-corporate-bar,.travel-corporate){position:fixed;inset:0 0 auto;z-index:100;box-sizing:border-box;height:32px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 clamp(12px,4vw,64px);background:#000;color:#fff;font:400 10px/1 "IBM Plex Sans","Segal Corporate Body","Segal Body",var(--font-body,var(--font-sans,sans-serif));letter-spacing:.025em;white-space:nowrap}
:is(.corporate-bar,.segal-corporate-bar,.travel-corporate):has(>.wrap,>.segal-corporate-bar__inner){padding:0}
:is(.corporate-bar,.segal-corporate-bar,.travel-corporate)>:is(.wrap,.segal-corporate-bar__inner){box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;height:32px;max-width:none;margin:0;padding:0 clamp(12px,4vw,64px);font:inherit}
:is(.corporate-bar,.segal-corporate-bar,.travel-corporate) a{display:inline-flex;align-items:center;align-self:stretch;color:inherit;text-decoration:none}
:is(.corporate-bar,.segal-corporate-bar,.travel-corporate) span{color:inherit;flex-shrink:0}
:is(.corporate-bar,.segal-corporate-bar,.travel-corporate) a:hover{color:#f1767b}
:is(.corporate-bar,.segal-corporate-bar,.travel-corporate) a:focus-visible{outline:2px solid #f1767b;outline-offset:-2px}
@media(max-width:540px){:is(.corporate-bar,.segal-corporate-bar,.travel-corporate){font-size:9px;letter-spacing:0;padding-inline:12px}:is(.corporate-bar,.segal-corporate-bar,.travel-corporate)>:is(.wrap,.segal-corporate-bar__inner){padding-inline:12px}}
@media print{:is(.corporate-bar,.segal-corporate-bar,.travel-corporate){display:none}}
/* Segal public form controls — current main-site form authority. */
#quote-form {
  --segal-form-foreground: #202124;
  --segal-form-background: #f6f4ee;
  --segal-form-muted: #53565b;
  --segal-form-signal: #a91f24;
  --segal-form-brand: #a91f24;
  font-family: "IBM Plex Sans", var(--font-body, sans-serif);
}
#quote-form[data-segal-tone="light"] {
  --segal-form-foreground: #202124;
  --segal-form-background: #f6f4ee;
  --segal-form-muted: #53565b;
  --segal-form-signal: #a91f24;
}
#quote-form label, #quote-form .mono-label {
  font-family: "IBM Plex Sans", var(--font-body, sans-serif);
  font-size: .875rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .055em;
  text-transform: uppercase;
  color: var(--segal-form-foreground);
}
#quote-form label > span { font: inherit; color: inherit; }
#quote-form :is(input:where(:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"])), select, textarea) {
  display: block;
  width: 100%;
  min-width: 0;
  min-height: 52px;
  box-sizing: border-box;
  border: 1px solid color-mix(in srgb, var(--segal-form-foreground) 55%, var(--segal-form-background));
  border-radius: 0;
  background: color-mix(in srgb, var(--segal-form-foreground) 3%, var(--segal-form-background));
  color: var(--segal-form-foreground);
  caret-color: var(--segal-form-signal);
  padding: .85rem 1rem;
  font-family: "IBM Plex Sans", var(--font-body, sans-serif);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0;
  text-transform: none;
  box-shadow: none;
  transition: border-color 180ms, background-color 180ms;
}
#quote-form :is(input, textarea)::placeholder { color: var(--segal-form-muted); opacity: 1; }
#quote-form :is(input, select, textarea):hover { border-color: var(--segal-form-foreground); }
#quote-form :is(input, select, textarea, button, a):focus-visible {
  border-color: var(--segal-form-signal);
  outline: 2px solid var(--segal-form-signal);
  outline-offset: 3px;
}
#quote-form :is([aria-invalid="true"], :user-invalid) { border-color: var(--segal-form-signal); background: color-mix(in srgb, var(--segal-form-brand) 5%, var(--segal-form-background)); }
#quote-form :is(select,input[type="date"],input[type="time"]) { color-scheme: light; }
#quote-form[data-segal-tone="light"] :is(select,input[type="date"],input[type="time"]) { color-scheme: light; }
#quote-form select option { min-height: 48px; padding: .8rem; background: var(--segal-form-background); color: var(--segal-form-foreground); }
#quote-form textarea { resize: vertical; min-height: 9rem; }
#quote-form :is(input[type="checkbox"],input[type="radio"],input[type="range"]) { accent-color: var(--segal-form-brand); }
#quote-form button { min-height: 44px; border-radius: 0; font-family: "IBM Plex Sans", var(--font-body, sans-serif); }
#quote-form :is(button[type="submit"],.btn-signal,.btn-bio,.travel-button,.button) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .65rem;
  min-height: 52px;
  height: auto;
  border: 1px solid var(--segal-form-brand);
  border-radius: 0;
  padding: .85rem 1.25rem;
  background: var(--segal-form-brand);
  color: #fff;
  font-size: .9rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: .035em;
  text-transform: none;
  white-space: normal;
  cursor: pointer;
}
#quote-form :is(button[type="submit"],.btn-signal,.btn-bio,.travel-button,.button):hover { background: #8d1720; border-color: #8d1720; }
#quote-form :is(button,input,select,textarea):disabled { cursor: not-allowed; opacity: .6; }
#quote-form [role="alert"] { color: var(--segal-form-signal); font-family: "IBM Plex Sans", var(--font-body, sans-serif); font-size: .875rem; line-height: 1.45; letter-spacing: 0; text-transform: none; }
@media (prefers-reduced-motion: reduce) { #quote-form :is(input,select,textarea,button) { transition: none; } }
/* Public controls use the main site's secondary action and choice-menu geometry. */
#quote-form :where(button[type="button"]:not(.btn-signal,.btn-bio,.travel-button,.button),button[type="reset"],button:not([type])) {
  min-height: 52px; border: 1px solid color-mix(in srgb, var(--segal-form-foreground) 55%, var(--segal-form-background));
  padding: .85rem 1.25rem; background: transparent; color: var(--segal-form-foreground);
  font-size: .9rem; font-weight: 500; line-height: 1.4; letter-spacing: .035em; text-transform: none;
}
#quote-form button[aria-pressed="true"], #quote-form button[aria-checked="true"] { border-color: var(--segal-form-brand); background: color-mix(in srgb, var(--segal-form-brand) 12%, var(--segal-form-background)); }
#quote-form :is(input[type="radio"],input[type="checkbox"]) { appearance: auto; width: 1rem; height: 1rem; min-height: 0; margin: 0; flex: 0 0 auto; }
#quote-form label:has(> :is(input[type="radio"],input[type="checkbox"])) { display: flex; align-items: center; gap: .65rem; min-height: 44px; cursor: pointer; text-transform: none; letter-spacing: 0; }
#quote-form input[type="file"] { width: 100%; min-height: 52px; color: var(--segal-form-foreground); font: inherit; }
#quote-form input[type="file"]::file-selector-button { min-height: 52px; margin-right: 1rem; border: 1px solid var(--segal-form-foreground); border-radius: 0; padding: .85rem 1rem; background: transparent; color: inherit; font: inherit; cursor: pointer; }
#quote-form .segal-choice-native { position: absolute; width: 1px; height: 1px; min-height: 0; padding: 0; border: 0; overflow: hidden; clip-path: inset(50%); opacity: 0; pointer-events: none; }
#quote-form .segal-choice { display: block; position: relative; min-width: 0; width: 100%; text-transform: none; letter-spacing: 0; }
#quote-form button.segal-choice-trigger {
  display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; width: 100%; min-width: 0;
  min-height: 52px; padding: .85rem 1rem; text-align: left; font: 400 1rem/1.5 "IBM Plex Sans", var(--font-body, sans-serif);
  border: 1px solid color-mix(in srgb, var(--segal-form-foreground) 55%, var(--segal-form-background));
  background: color-mix(in srgb, var(--segal-form-foreground) 3%, var(--segal-form-background)); color: var(--segal-form-foreground); letter-spacing: 0; cursor: pointer;
}
#quote-form .segal-choice-trigger > span { overflow-wrap: anywhere; }
#quote-form .segal-choice-trigger > svg { width: 16px; height: 16px; flex-shrink: 0; margin-top: .25rem; color: var(--segal-form-signal); transition: transform 180ms; }
#quote-form .segal-choice-trigger[aria-expanded="true"] > svg { transform: rotate(180deg); }
#quote-form .segal-choice-trigger:hover { border-color: var(--segal-form-foreground); }
#quote-form .segal-choice-panel {
  position: fixed; z-index: 100; box-sizing: border-box; margin: 0; max-width: calc(100vw - 12px); max-height: 16rem; overflow: auto;
  border: 1px solid color-mix(in srgb, var(--segal-form-foreground) 55%, var(--segal-form-background));
  background: var(--segal-form-background); color: var(--segal-form-foreground); padding: .35rem;
  box-shadow: 0 18px 40px rgb(0 0 0 / .25); text-transform: none; letter-spacing: 0;
  scrollbar-color: var(--segal-form-muted) var(--segal-form-background);
}
#quote-form .segal-choice-panel[hidden], #quote-form .segal-choice-error[hidden] { display: none; }
#quote-form button.segal-choice-option {
  display: block; width: 100%; min-height: 48px; border: 0; border-radius: 0; padding: .8rem; background: transparent;
  color: var(--segal-form-foreground); font: 400 1rem/1.5 "IBM Plex Sans", var(--font-body, sans-serif); text-align: left; letter-spacing: 0; text-transform: none; white-space: normal; cursor: pointer;
}
#quote-form button.segal-choice-option:is(:hover,[aria-selected="true"]) { background: var(--segal-form-brand); color: #fff; }
#quote-form button.segal-choice-option:focus-visible { outline: 2px solid var(--segal-form-foreground); outline-offset: -3px; background: color-mix(in srgb, var(--segal-form-brand) 16%, var(--segal-form-background)); color: var(--segal-form-foreground); }
#quote-form button.segal-choice-option:disabled { cursor: not-allowed; opacity: .6; }
#quote-form .segal-choice-group { display: block; margin: .45rem .7rem .2rem; color: var(--segal-form-signal); font-size: .75rem; line-height: 1.4; letter-spacing: .08em; text-transform: uppercase; }
#quote-form .segal-choice-error { display: block; margin-top: .5rem; font-size: .875rem; font-weight: 400; line-height: 1.45; letter-spacing: 0; text-transform: none; color: var(--segal-form-signal); }
#quote-form ::selection { background: var(--segal-form-brand); color: #fff; }
#quote-form .segal-choice-trigger:is(:focus-visible,[aria-invalid="true"]) { border-color: var(--segal-form-signal); }
#quote-form .segal-choice-trigger[aria-invalid="true"] { background: color-mix(in srgb, var(--segal-form-brand) 5%, var(--segal-form-background)); }
#quote-form :is(input,select,textarea)[hidden], #quote-form :is(input,select,textarea).hidden { display: none; }
#quote-form .segal-choice[hidden] { display: none; }
