.home-arch{min-height:900px;position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(100deg,#baa180,#e3d2b4 45%,#cbb393);display:flex;align-items:center;justify-content:center;padding:150px 24px 180px}.home-arch__surround{position:absolute;width:680px;height:900px;top:75px;left:50%;transform:translateX(-50%);border-radius:360px 360px 0 0;background:linear-gradient(100deg,#92724d,#ead8b7 16%,#f1e3c9 80%,#a38660);box-shadow:0 0 0 25px #e8d8b82b,0 0 0 26px #9d805735,0 0 0 57px #e8d8b825,0 0 0 58px #9d805725,inset 12px 12px 25px #75553635}.home-arch__light{position:absolute;width:600px;height:865px;top:115px;left:50%;transform:translateX(-50%);border-radius:320px 320px 0 0;background:radial-gradient(ellipse at 50% 25%,#fff9e7,#eddbb6 60%,#ddc192);box-shadow:inset 8px 5px 28px #b7946340,0 0 40px #ffedc544}.home-arch__shadow{position:absolute;inset:0;background:linear-gradient(117deg,#70543755,transparent 43%);z-index:-1}.home-arch__floor{position:absolute;bottom:-70px;width:1050px;height:270px;background:radial-gradient(ellipse,#fff1caa0,transparent 67%);transform:perspective(500px) rotateX(25deg)}.home-arch__copy{text-align:center;position:relative;z-index:3;padding:0 10px;max-width:640px}.home-arch__copy .eyebrow{color:#9f8052;margin-bottom:35px}.home-arch__copy h2{font-size:clamp(43px,4.5vw,64px);line-height:1.12;color:#573c26}.home-arch__copy h2 em{color:#ac8251}.home-arch__copy>p:not(.eyebrow){font-size:14px;color:#8e7758;line-height:1.9;margin:28px auto 34px;max-width:410px}.home-arch__note{display:block;font-size:9px;color:#9d845f;margin-top:20px;line-height:1.6}.home-arch__footer{position:absolute;bottom:30px;left:5vw;right:5vw;display:flex;align-items:center;justify-content:space-between;color:#8e7350;font-size:8px;letter-spacing:1px;border-top:1px solid #8b6a3925;padding-top:20px}.home-arch__logo{font:italic 30px Georgia;color:#6f5034}.home-arch__footer a{font-size:9px;letter-spacing:0}
.home-arch{font-family:Arial,sans-serif}.home-arch__copy h2{font-family:Georgia,serif;font-weight:400;letter-spacing:-.045em;margin:0}.home-arch__copy .eyebrow{font-size:10px;line-height:1.6;letter-spacing:2.5px;text-transform:uppercase}.home-arch__copy p{margin-top:0}.home-arch__copy em{font-weight:400}.home-arch__footer a{color:inherit}
@media(max-width:700px){.home-arch{min-height:760px;padding:145px 16px 170px}.home-arch__surround{width:calc(100% - 40px);height:750px;top:60px;border-radius:250px 250px 0 0;box-shadow:0 0 0 14px #e8d8b82b,0 0 0 15px #9d805735}.home-arch__light{width:calc(100% - 74px);height:730px;top:78px;border-radius:250px 250px 0 0}.home-arch__copy{max-width:330px;padding:0 12px}.home-arch__copy .eyebrow{font-size:8px;margin-bottom:30px}.home-arch__copy h2{font-size:40px}.home-arch__copy>p:not(.eyebrow){font-size:12px;max-width:240px;margin:25px auto}.home-arch__note{font-size:8px;max-width:220px;margin:18px auto 0}.home-arch__footer{flex-wrap:wrap;gap:10px;bottom:22px;left:24px;right:24px}.home-arch__footer>span:nth-child(2){font-size:7px}.home-arch__footer a{width:100%;text-align:center;margin-top:8px}.home-arch__logo{font-size:25px}}

@media(prefers-reduced-motion:no-preference){.home-arch.is-armed:not(.is-open) .home-arch__light{opacity:.15;scale:.93 1}.home-arch__light{transition:opacity 3.8s ease,scale 4s cubic-bezier(.2,.6,.3,1)}.home-arch.is-armed:not(.is-open) .home-arch__floor{opacity:0}.home-arch__floor{transition:opacity 4s ease .5s}.home-arch.is-armed:not(.is-open) .home-arch__copy{opacity:0;translate:0 18px}.home-arch__copy{transition:opacity 1.6s ease .5s,translate 2s ease .5s}}
/* The footer was flex/space-between, which only centres the middle label when
   the left and right items weigh the same. They don't (and the radial-menu
   clearance below made it worse), so the label sat 59px left of centre at
   every desktop width and up to 210px off on mobile. A 3-column grid with
   equal side tracks centres it on the viewport whatever the sides contain. */
.home-arch__footer{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:center;gap:1rem}
.home-arch__footer>:first-child{justify-self:start}
.home-arch__footer>:nth-child(2){justify-self:center}
.home-arch__footer>:last-child{justify-self:end}
/* Both bottom corners carry fixed, high z-index furniture that would otherwise
   sit on top of this footer: the radial menu (right, 100px trigger at
   right:28px) and the "Get notified" tab (left, #wl-tab ending at x=130).
   Equal 112px insets clear both and keep the two tracks symmetrical, so the
   centred label does not move. */
@media(min-width:701px){
  .home-arch__footer>:first-child{margin-left:112px}
  .home-arch__footer>:last-child{margin-right:112px}
}
/* Stacked and centred on small screens; the link clears the menu by being
   centred rather than right-aligned. */
@media(max-width:700px){
  .home-arch__footer{grid-template-columns:minmax(0,1fr);row-gap:8px}
  /* Must match the :first-child/:last-child specificity above (0,2,0), or
     those win on specificity no matter the source order. */
  .home-arch__footer>:first-child,
  .home-arch__footer>:nth-child(2),
  .home-arch__footer>:last-child{justify-self:center;margin-right:0;margin-top:0;text-align:center}
}

/* Keep reassurance and navigation legible against the illuminated arch. */
.home-arch__copy .eyebrow { color: #745333; font-size: 0.75rem; }
.home-arch__copy > p:not(.eyebrow) { color: #654C36; font-size: 1rem; line-height: 1.6; }
.home-arch__note { color: #654C36; font-size: 0.8125rem; line-height: 1.6; }
.home-arch__footer { color: #573C26; }
.home-arch__footer > span:nth-child(2),
.home-arch__footer a { font-size: 0.75rem; }
