/* The approved first viewport keeps its dimensions as the homepage grows. */
.hero,.detail-rail{flex:none}
.home-content{background:#fff;transition:opacity .4s ease}
.home-section{padding:clamp(72px,7.5vw,180px) var(--gutter);scroll-margin-top:28px}
.home-section:focus{outline:none}
.home-content h2,.home-request-dialog h2{font-size:clamp(36px,4.15vw,100px);font-weight:400;line-height:1.04;letter-spacing:-.045em}
.home-content h3{margin:0;font-size:clamp(25px,2.3vw,48px);font-weight:400;line-height:1.15;letter-spacing:-.035em}
.home-content p{font-size:clamp(16px,1.18vw,25px);line-height:1.6;color:var(--muted)}
.home-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:6vw;margin-bottom:clamp(36px,4.5vw,90px)}
.home-section-heading>h2{flex:1}
.home-section-heading>p{width:30%;max-width:530px}
.home-text-link{display:inline-block;align-self:flex-start;font-size:clamp(15px,1.08vw,23px);line-height:1.6;padding:0 0 5px;background:none;border:0;border-bottom:1px solid currentColor;text-align:left}
.home-text-link>span:not(.hover-bob-surface):last-child{margin-left:18px}
.home-text-link:hover{color:var(--burgundy)}
.home-text-link.bob-ready{border-bottom:0;padding:0}
.home-text-link.bob-ready>.hover-bob-surface{padding-bottom:5px;border-bottom:1px solid currentColor}
.home-text-link.bob-ready>.hover-bob-surface>span{margin-left:18px}
.home-model-grid,.home-equipment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.7vw}
.home-model{display:flex;flex-direction:column;align-items:flex-start}
.home-model-image{position:relative;width:100%;display:block;margin-bottom:30px;aspect-ratio:1.32}
.home-model-image>.hover-bob-surface,.home-model-image>img{position:absolute;inset:0;height:100%}
.home-model-image img{display:block;width:100%;height:100%;object-fit:cover;border-radius:10px}
.home-model-image--studio img{object-fit:contain;background:#fff}
.home-model-heading{width:100%;display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding-top:24px;border-top:1px solid var(--rule)}
.home-model-heading>span{font-size:13px;color:var(--muted)}
.home-model>p{margin:18px 0 26px;max-width:32ch}
.home-model>.home-text-link{margin-top:auto}
.home-premium{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:7vw;background:var(--magnus-surface)}
.home-feature-image{display:block;min-width:0}
.home-feature-image img{display:block;width:100%;height:auto;border-radius:10px}
.home-feature-copy .home-feature-name{font-size:clamp(16px,1.2vw,26px);color:var(--navy);margin-bottom:24px}
.home-feature-copy>p:not(.home-feature-name){max-width:36ch;margin:28px 0}
.home-feature-copy>small{display:block;margin-top:26px;font-size:13px;line-height:1.5;color:var(--muted)}
.home-gallery-image{display:block;position:relative;border-radius:10px;background:#f2f4f6}
.home-gallery-image img{display:block;width:100%;height:auto;border-radius:10px}
.home-gallery-enter{position:absolute;left:50%;bottom:6%;transform:translateX(-50%);display:flex;align-items:center;gap:36px;white-space:nowrap;background:var(--burgundy);color:#fff;padding:20px 30px;border-radius:50px;font-size:clamp(16px,1.15vw,24px);transition:background .2s ease}
.home-gallery-image:hover .home-gallery-enter{background:var(--magnus-burgundy-hover)}
.home-gallery-caption{display:flex;justify-content:space-between;align-items:baseline;gap:24px;margin-top:24px}
.home-gallery-caption>span{font-size:13px;line-height:1.5;color:var(--muted)}
.home-equipment{background:var(--magnus-surface)}
.home-equipment-image{position:relative;display:block;width:100%;aspect-ratio:1.3;background:none;padding:0;margin:0 0 30px}
.home-equipment-image>.hover-bob-surface,.home-equipment-image>img{position:absolute;inset:0;height:100%}
.home-equipment-image img{display:block;object-fit:contain;width:100%;height:100%;padding:24px;background:#fff;border-radius:10px}
.home-equipment-item>p{margin:14px 0 24px}
.home-about-intro{display:grid;grid-template-columns:1fr 1fr;gap:8vw}
.home-about-intro>div{max-width:590px}
.home-about-intro p+p{margin-top:24px}
.home-about-intro .home-text-link{margin-top:30px}
.home-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4vw;margin-top:clamp(60px,6vw,130px)}
.home-steps article{border-top:1px solid var(--rule);padding-top:24px}
.home-steps article>span{display:block;font-size:14px;color:var(--muted);margin-bottom:36px}
.home-steps h3{font-size:clamp(23px,1.8vw,40px)}
.home-steps p{margin-top:18px;max-width:34ch}
.home-support{display:grid;grid-template-columns:1fr 1fr;gap:8vw;background:var(--magnus-surface)}
.home-support>div>p{margin:28px 0;max-width:39ch}
.home-documents>a{display:block;padding:25px 0;border-bottom:1px solid var(--rule);font-size:clamp(17px,1.35vw,29px)}
.home-documents>a:first-child{border-top:1px solid var(--rule)}
.home-documents>a,.home-documents>a>.hover-bob-surface{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%}
.home-documents>a:hover{color:var(--burgundy)}
.home-documents>a span+span{font-size:13px;white-space:nowrap}
.home-documents>small{display:block;margin-top:22px;color:var(--muted);font-size:13px;line-height:1.5}
.home-contact{text-align:center;background:#e6eef4;border-bottom:1px solid var(--rule)}
.home-contact>p{color:var(--navy);margin-bottom:28px}
.home-contact>h2{font-size:clamp(40px,5.2vw,120px);margin-bottom:38px}
.home-button{display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:54px;padding:16px 28px;background:var(--burgundy);border:0;border-radius:50px;color:#fff;font-size:clamp(15px,1.1vw,24px);line-height:1.4}
.home-button:hover{background:var(--magnus-burgundy-hover)}
.home-button.bob-ready{padding:0;background:none}
.home-button.bob-ready>.hover-bob-surface{display:flex;align-items:center;justify-content:center;gap:28px;width:100%;height:100%;min-height:54px;padding:16px 28px;background:var(--burgundy);border-radius:inherit}
.home-button.bob-ready:hover>.hover-bob-surface{background:var(--magnus-burgundy-hover)}
.home-footer{padding:70px var(--gutter) 28px;background:var(--magnus-surface)}
.home-footer-top{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:4vw;padding-bottom:60px}
.home-footer-brand>a{display:block;width:clamp(160px,16vw,290px);max-width:100%;margin-bottom:26px}
.home-footer-brand img{display:block;width:100%;height:auto}
.home-footer-brand>p{font-size:14px;line-height:1.7}
.home-footer nav{display:flex;flex-direction:column;align-items:flex-start;gap:17px}
.home-footer nav>h2{font-size:14px;font-weight:600;letter-spacing:0;line-height:1.5;margin-bottom:8px}
.home-footer nav>a,.home-footer nav>button{font-size:14px;background:none;padding:0;line-height:1.5;text-align:left}
.home-footer nav>a:hover,.home-footer nav>button:hover{text-decoration:underline;text-underline-offset:5px}
.home-footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:26px;border-top:1px solid var(--rule);font-size:12px;color:var(--muted);line-height:1.6}
.home-request-dialog{width:min(680px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:46px;border:1px solid var(--rule);border-radius:10px;color:var(--navy);background:#f8fafc;overscroll-behavior:contain}
.home-request-dialog::backdrop{background:#050b3070}
.home-request-dialog h2{font-size:clamp(30px,3vw,44px);padding-right:22px}
.home-dialog-close{position:absolute;top:14px;right:14px;width:44px;height:44px;font-size:28px;background:none;border-radius:50%}
.home-request-dialog>p{font-size:14px;line-height:1.6;margin-top:20px;color:var(--muted)}
.home-request-dialog #home-request-subject{color:var(--navy);margin-bottom:24px}
#home-request-form{display:grid;grid-template-columns:1fr 1fr;gap:20px}
#home-request-form label{display:flex;flex-direction:column;gap:8px;font-size:14px}
#home-request-form input,#home-request-form textarea{font:inherit;color:inherit;width:100%;min-width:0;padding:12px;border:1px solid var(--rule);border-radius:5px;background:#fff}
#home-request-form textarea{resize:vertical;min-height:90px}
#home-request-form input:focus-visible,#home-request-form textarea:focus-visible{outline:2px solid var(--burgundy);outline-offset:3px}
.home-form-wide{grid-column:1/-1}
#home-request-form[hidden],#home-request-result[hidden]{display:none}
#home-request-result h3{font-size:24px;font-weight:400;margin-top:30px}
#home-request-result p{font-size:15px;line-height:1.6;margin:20px 0;color:var(--muted)}
body.home-request-open{overflow:hidden}
.journey-open .home-content{opacity:0;pointer-events:none}
@media(min-width:761px){.home-gallery-image{max-height:76vh;overflow:hidden}.home-gallery-image img{height:min(56vw,76vh);object-fit:cover;object-position:center 54%}}
@media(max-width:1000px){.home-section-heading>p{width:35%}.home-model-image{aspect-ratio:1.12}.home-gallery-caption{align-items:flex-start;flex-direction:column;gap:8px}.home-footer-top{grid-template-columns:1.3fr 1fr;gap:48px}.home-premium{gap:5vw}.home-feature-copy>small{font-size:12px}}
@media(max-width:760px){
  .home-section{padding:64px var(--gutter);scroll-margin-top:20px}
  .home-section-heading{display:block;margin-bottom:32px}
  .home-section-heading>p{width:auto;max-width:40ch;margin-top:24px}
  .home-model-grid,.home-equipment-grid{grid-template-columns:1fr;gap:44px}
  .home-model-image{aspect-ratio:1.4;margin-bottom:22px}
  .home-model-heading{padding-top:20px}
  .home-model>p{max-width:40ch;margin:16px 0 20px}
  .home-premium,.home-about-intro,.home-support{grid-template-columns:1fr;gap:36px}
  .home-feature-copy .home-feature-name{margin-bottom:18px}
  .home-feature-copy>p:not(.home-feature-name){margin:22px 0}
  .home-feature-image{margin-inline:0}
  .home-gallery-enter{bottom:28px;padding:17px 23px;gap:24px}
  .home-gallery-image img{max-height:650px;object-fit:cover}
  .home-gallery-caption p{font-size:15px}
  .home-equipment-image{aspect-ratio:1.4;margin-bottom:24px}
  .home-equipment-image img{padding:24px}
  .home-steps{grid-template-columns:1fr;gap:30px;margin-top:44px}
  .home-steps article>span{margin-bottom:20px}
  .home-steps p{max-width:42ch}
  .home-documents>a{padding:22px 0}
  .home-contact>p{max-width:28ch;margin:0 auto 24px}
  .home-contact>h2{font-size:clamp(34px,8.3vw,60px);margin-bottom:30px}
  .home-footer{padding:48px var(--gutter) 24px}
  .home-footer-top{grid-template-columns:1fr 1fr;gap:36px 24px;padding-bottom:36px}
  .home-footer-brand{grid-column:1/-1}
  .home-footer nav{gap:15px}
  .home-footer-bottom{flex-direction:column;gap:12px}
  .home-request-dialog{padding:40px 24px 28px}
  #home-request-form{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.home-content,.home-gallery-enter{transition:none}}

@media(min-width:1100px){
  .home-section{padding-block:96px}
  .home-section h2{font-size:48px;line-height:1.08}
  .home-content h3{font-size:30px}
  .home-section p{font-size:17px}
  .home-section-heading{gap:64px;margin-bottom:44px}
  .home-section-heading>p{width:32%;max-width:400px}
  .home-model-grid,.home-equipment-grid{gap:32px}
  .home-text-link{font-size:15px}
  .home-premium{gap:64px}
  .home-feature-copy .home-feature-name{font-size:16px}
  .home-gallery-image{max-height:560px}
  .home-gallery-image img{height:560px}
  .home-gallery-enter{font-size:16px;padding:17px 28px;gap:28px}
  .home-gallery-caption p{font-size:15px}
  .home-equipment-item h3{font-size:26px}
  .home-about-intro,.home-support{gap:80px}
  .home-steps{gap:40px;margin-top:64px}
  .home-steps h3{font-size:24px}
  .home-steps article>span{margin-bottom:24px}
  .home-documents>a{font-size:19px}
  .home-contact>h2{font-size:56px}
  .home-button{font-size:16px}
  .home-footer-top{gap:48px}
  .home-footer-brand>a{width:190px}
}
