/* Custom families share the standard product overview, type scale and section rhythm. */
.frameless-hero{padding-block:24px 0}
.frameless-breadcrumb{display:flex;flex-wrap:wrap;gap:10px;min-height:24px;margin-bottom:24px;font:500 11px/18px var(--mono);text-transform:uppercase;color:var(--muted)}
.frameless-breadcrumb a:hover{color:var(--red);text-decoration:underline;text-underline-offset:4px}
.frameless-hero h1{font-size:52px;line-height:56px;overflow-wrap:anywhere}
.frameless-hero__visual{min-width:0}
.frameless-hero__photo{width:100%;display:flex;align-items:center;justify-content:center}
.frameless-hero__photo img{max-width:100%;max-height:360px;mix-blend-mode:multiply}
.frameless-hero__photo img[src*="/cutouts-20261030/"]{mix-blend-mode:normal;aspect-ratio:auto}
.frameless-hero__visual figcaption{max-width:340px}
.frameless-hero__note{max-width:580px}
.frameless-hero .key-specs>div{display:flex;flex-direction:column}
.frameless-hero .key-specs dd{order:-1}
.frameless-index{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px;padding-block:20px;border-bottom:1px solid var(--red)}
.frameless-index strong{font-size:16px;font-weight:500;margin-right:auto}
.frameless-index a{display:inline-flex;align-items:center;min-height:44px;font-size:16px;line-height:24px}
.frameless-index a:hover{color:var(--red);text-decoration:underline;text-underline-offset:5px}
.frameless-section,.frameless-inquiry{--line:var(--red);scroll-margin-top:24px}
.frameless-section{padding-block:64px}
.frameless-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:80px;align-items:start}
.frameless-section .program-section-heading,.frameless-inquiry .program-section-heading{gap:16px}
.frameless-section .program-section-heading h2,.frameless-inquiry .program-section-heading h2{font-size:44px;line-height:48px}
.frameless-section .program-section-heading>.eyebrow,.frameless-inquiry .program-section-heading>.eyebrow{font-size:11px;line-height:18px}
.frameless-section .program-section-heading>p:not(.eyebrow),.frameless-inquiry .program-section-heading>p:not(.eyebrow){font-size:18px;line-height:26px}
.frameless-lead{font-size:20px;line-height:28px}
.frameless-overview__copy{display:grid;gap:20px}
.frameless-overview__copy>p:last-child{color:var(--muted);font-size:18px;line-height:26px}
.frameless-capabilities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:40px}
.frameless-capabilities article{border-top:1px solid var(--line);padding-top:20px}
.frameless-capabilities .eyebrow{color:var(--red);font-size:11px}
.frameless-capabilities h3{font-size:28px;line-height:34px;margin:12px 0}
.frameless-capabilities p{color:var(--muted);font-size:18px;line-height:26px}
.custom-starting-families{margin-top:48px}
.custom-starting-families>h3{font-size:34px;line-height:40px;margin-bottom:16px}
.custom-starting-families>p{max-width:780px;color:var(--muted);font-size:18px;line-height:26px}
.custom-starting-families .frameless-capabilities{margin-top:28px}
.custom-starting-families article{display:flex;flex-direction:column;align-items:flex-start}
.custom-starting-families article>p{flex:1}
.custom-starting-families h4{font-size:28px;line-height:34px;margin-bottom:12px}
.custom-starting-families .mach-button{margin-top:16px}
.frameless-requirements{--muted:var(--light-muted);scroll-margin-top:24px;margin-bottom:32px}
.frameless-requirements__heading{align-items:end;margin-bottom:28px}
.frameless-requirements__heading>.frameless-lead{max-width:600px;color:var(--muted);font-size:18px;line-height:26px}
.frameless-brief{border-collapse:collapse;width:100%;text-align:left;font-size:17px;line-height:24px;border-top:2px solid var(--red)}
.frameless-brief thead{font:500 11px/18px var(--mono);text-transform:uppercase;color:var(--muted);letter-spacing:.45px}
.frameless-brief th,.frameless-brief td{padding:14px 24px 14px 0;border-bottom:1px solid var(--red);vertical-align:top}
.frameless-brief thead th{padding-block:16px;font-weight:500}
.frameless-brief tbody th{font-weight:500;width:27%;font-size:18px}
.frameless-brief tbody th span{font:500 11px/18px var(--mono);color:var(--muted);margin-right:16px;display:inline-block;vertical-align:middle}
.frameless-brief td:nth-child(2){width:43%}
.frameless-brief td:last-child{width:30%;padding-right:0;color:var(--muted);font-size:16px}
.frameless-brief__footer{display:flex;align-items:center;justify-content:space-between;gap:40px;margin-top:24px}
.frameless-brief__footer p{max-width:620px;color:var(--muted);font-size:16px;line-height:24px}
.frameless-brief__footer .mach-button{flex-shrink:0}
.frameless-supply{background:var(--paper);color:var(--ink);scroll-margin-top:24px}
.frameless-supply .program-section-heading h2{font-size:56px;line-height:60px}
.frameless-supply .program-section-heading .mach-button{margin-top:8px}
.frameless-release-steps{list-style:none;margin:0;padding:0;display:grid;gap:24px}
.frameless-release-steps li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:20px;border-bottom:1px solid var(--line);padding-bottom:24px}
.frameless-release-steps li:last-child{padding-bottom:0;border:0}
.frameless-release-steps .eyebrow{padding-top:5px;font-size:11px}
.frameless-release-steps h3{font-size:28px;line-height:34px;margin-bottom:12px}
.frameless-release-steps p{font-size:18px;line-height:26px;color:var(--muted)}
.frameless-supply__terms{font-size:14px;line-height:22px;margin-top:32px;max-width:760px;color:var(--muted)}
.frameless-answers{--muted:var(--light-muted);scroll-margin-top:24px}
.frameless-answers__list{min-width:0;border-top:1px solid var(--line)}
.frameless-answers details{border-bottom:1px solid var(--line)}
.frameless-answers summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:64px;padding-block:18px}
.frameless-answers summary::-webkit-details-marker{display:none}
.frameless-answers h3{font-size:24px;line-height:30px}
.frameless-answers summary>span{position:relative;flex:0 0 18px;height:18px;color:var(--red)}
.frameless-answers summary>span::before,.frameless-answers summary>span::after{content:"";position:absolute;width:16px;height:2px;background:currentColor;top:8px;left:1px}
.frameless-answers summary>span::after{transform:rotate(90deg)}
.frameless-answers details[open] summary>span::after{display:none}
.frameless-answers details>p{padding:0 42px 20px 0;font-size:17px;line-height:25px;color:var(--muted)}
.frameless-answers summary:hover h3{color:var(--red)}
.frameless-contact{display:grid;gap:8px;margin-top:8px}
.frameless-contact a{padding-block:6px;text-decoration:underline;text-underline-offset:5px;font-size:18px;line-height:26px}
.frameless-contact a:hover{color:var(--red)}
.frameless-inquiry{padding-block:64px 72px}
.frameless-inquiry .program-aside-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.35fr)}
.frameless-family{font-size:18px;padding:12px 0;border-bottom:1px solid var(--line)}
.frameless-inquiry .frameless-blanket{display:flex;gap:12px;align-items:flex-start;font-size:16px;line-height:24px}
.frameless-inquiry .frameless-blanket input{width:20px;height:20px;margin:2px 0 0;flex-shrink:0;accent-color:var(--red)}
.frameless-noscript{padding:20px 0}
.frameless-noscript a{text-decoration:underline}
@media(max-width:1100px){
  .frameless-hero h1{font-size:44px;line-height:48px}
  .frameless-split{gap:48px}
  .frameless-capabilities{gap:28px}
  .frameless-index{gap:8px 24px}
  .frameless-index strong{width:100%}
  .frameless-brief tbody th span{display:block;margin:0 0 6px}
  .frameless-brief__footer p{max-width:52%}
}
@media(max-width:900px){
  .frameless-split{gap:32px}
  .frameless-capabilities{gap:24px}
  .frameless-section{padding-block:48px}
  .frameless-inquiry .program-aside-grid{grid-template-columns:1fr}
}
@media(max-width:767px){
  .frameless-hero{padding-block:20px 0}
  .frameless-breadcrumb{font-size:10px;gap:8px;margin-bottom:20px}
  .frameless-hero h1{font-size:40px;line-height:44px}
  .frameless-hero__photo img{max-height:230px}
  .frameless-hero__visual figcaption{font-size:11px;line-height:16px}
  .frameless-index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 24px;padding-block:16px}
  .frameless-index strong{grid-column:1 / -1;margin-bottom:4px}
  .frameless-index a{font-size:15px;line-height:22px}
  .frameless-split{grid-template-columns:1fr;gap:28px}
  .frameless-section .program-section-heading h2,.frameless-inquiry .program-section-heading h2{font-size:36px;line-height:40px}
  .frameless-supply .program-section-heading h2{font-size:44px;line-height:48px}
  .frameless-lead{font-size:18px;line-height:26px}
  .frameless-overview__copy{gap:16px}
  .frameless-capabilities{grid-template-columns:1fr;gap:24px;margin-top:32px}
  .frameless-capabilities h3{font-size:26px;line-height:32px;margin:10px 0}
  .frameless-capabilities article{padding-top:16px}
  .frameless-requirements__heading{margin-bottom:24px}
  .frameless-brief,.frameless-brief tbody{display:block}
  .frameless-brief thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .frameless-brief tr{display:block;border-bottom:1px solid var(--red);padding:18px 0}
  .frameless-brief tbody th,.frameless-brief td:nth-child(2),.frameless-brief td:last-child{display:block;width:100%;border:0;padding:0}
  .frameless-brief tbody th{font-size:20px;line-height:26px;margin-bottom:8px}
  .frameless-brief tbody th span{display:inline-block;margin:0 12px 0 0}
  .frameless-brief td{font-size:17px;line-height:24px}
  .frameless-brief td:last-child{font-size:16px;padding-top:8px}
  .frameless-brief__footer{flex-direction:column;align-items:flex-start;gap:20px;margin-top:24px}
  .frameless-brief__footer p{max-width:none}
  .frameless-brief__footer .mach-button{max-width:100%}
  .frameless-release-steps li{gap:14px}
  .frameless-release-steps h3{font-size:26px;line-height:32px}
  .frameless-supply__terms{margin-top:28px}
  .frameless-answers summary{gap:20px;padding-block:18px}
  .frameless-answers details>p{padding-right:0}
  .frameless-inquiry{padding-block:48px 64px}
}
@media(max-width:374px){
  .frameless-index{column-gap:16px}
  .frameless-index a{font-size:14px}
}
.main-nav>a[aria-current="true"]{color:var(--red)}
.main-nav>a[aria-current="true"]>.nav-label::after{transform:scaleX(1)}
