/* Thank-you and 404 pages (lib/avault/system-pages.ts), drawn inside the homepage shell. */
.av-sys-hero{position:relative;padding:72px 0 0;background:radial-gradient(1200px 520px at 50% -10%,#f1f6ff 0,#fff 62%);overflow:hidden}
.av-sys-inner{display:flex;flex-direction:column;align-items:center;text-align:center;padding-bottom:88px}
.av-sys-kicker{display:inline-flex;align-items:center;gap:10px;margin:0;color:#5f6368;font:600 13px/1.5 "Google Sans Flex","Google Sans",Arial,sans-serif;letter-spacing:.02em}
.av-sys-dots{display:inline-grid;grid-template-columns:repeat(2,6px);gap:3px}
.av-sys-dots i{width:6px;height:6px;border-radius:50%;display:block}
.av-sys-dots i:nth-child(1){background:#4285F4}.av-sys-dots i:nth-child(2){background:#EA4335}.av-sys-dots i:nth-child(3){background:#FBBC05}.av-sys-dots i:nth-child(4){background:#34A853}

/* The headline word, letter by letter in the Google logo colours. */
.av-sys-giant{margin:18px 0 6px;font:700 clamp(84px,17vw,240px)/.92 "Google Sans Flex","Google Sans",Arial,sans-serif;letter-spacing:-.035em;white-space:nowrap;user-select:none}
.av-sys-404 .av-sys-giant{font-size:clamp(140px,30vw,380px);letter-spacing:-.04em}
.av-sys-giant span{display:inline-block;animation:av-sys-rise .7s cubic-bezier(.2,.8,.2,1) both}
.av-sys-giant span:nth-child(2){animation-delay:.05s}.av-sys-giant span:nth-child(3){animation-delay:.1s}.av-sys-giant span:nth-child(4){animation-delay:.15s}.av-sys-giant span:nth-child(5){animation-delay:.2s}.av-sys-giant span:nth-child(6){animation-delay:.25s}.av-sys-giant span:nth-child(7){animation-delay:.3s}.av-sys-giant span:nth-child(8){animation-delay:.35s}.av-sys-giant span:nth-child(9){animation-delay:.4s}
.av-sys-gap{width:.24em}
@keyframes av-sys-rise{from{opacity:0;transform:translateY(.18em)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.av-sys-giant span{animation:none}}
.av-sys-blue{color:#4285F4}.av-sys-red{color:#EA4335}.av-sys-yellow{color:#FBBC05}.av-sys-green{color:#34A853}

.av-sys-hero h1{max-width:860px;margin:18px 0 0;color:#202124;font:600 clamp(30px,4vw,52px)/1.1 "Google Sans Flex","Google Sans",Arial,sans-serif;letter-spacing:-.03em;text-wrap:balance}
.av-sys-soft{color:#1a73e8}
.av-sys-lead{max-width:620px;margin:20px 0 0;color:#5f6368;font:400 18px/1.7 "Google Sans Flex","Google Sans",Arial,sans-serif}
.av-sys-lead strong{color:#202124;font-weight:600;word-break:break-word}
.av-sys-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:32px}
.av-sys-button{display:inline-flex;align-items:center;gap:12px;padding:16px 24px;border:1px solid #1a73e8;border-radius:999px;background:#1a73e8;color:#fff;font:600 15px/1.35 "Google Sans Flex","Google Sans",Arial,sans-serif;text-decoration:none;transition:background .2s,border-color .2s,color .2s,transform .2s}
.av-sys-button:hover{background:#155fc0;border-color:#155fc0;color:#fff;transform:translateY(-2px)}
.av-sys-button-secondary{background:#fff;color:#202124;border-color:#dadce0}
.av-sys-button-secondary:hover{background:#fff;color:#1a73e8;border-color:#1a73e8}
.av-sys-button:focus-visible{outline:3px solid #a8c7fa;outline-offset:3px}

.av-sys-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;width:100%;max-width:1000px;margin:56px 0 0;padding:0;list-style:none;text-align:left}
.av-sys-steps li{display:flex;flex-direction:column;gap:6px;padding:24px;border:1px solid #e8eaed;border-radius:24px;background:#fff}
.av-sys-steps b{display:grid;place-items:center;width:36px;height:36px;margin-bottom:8px;border-radius:50%;color:#fff;font:700 15px/1 "Google Sans Flex",Arial,sans-serif}
.av-sys-steps b.av-sys-blue{background:#4285F4}.av-sys-steps b.av-sys-red{background:#EA4335}.av-sys-steps b.av-sys-green{background:#34A853}
.av-sys-steps strong{color:#202124;font:600 18px/1.3 "Google Sans Flex","Google Sans",Arial,sans-serif}
.av-sys-steps span{color:#5f6368;font:400 15px/1.6 "Google Sans Flex","Google Sans",Arial,sans-serif}

.av-sys-links{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:40px 0 0;padding:0;list-style:none}
.av-sys-links a{display:inline-block;padding:10px 18px;border:1px solid #e8eaed;border-radius:999px;background:#fff;color:#3c4043;font:500 14px/1.3 "Google Sans Flex","Google Sans",Arial,sans-serif;text-decoration:none;transition:border-color .2s,color .2s}
.av-sys-links a:hover{border-color:#1a73e8;color:#1a73e8}
.av-sys-hero .i-hero-line{display:grid;grid-template-columns:repeat(4,1fr);height:8px}

@media (max-width:760px){
 .av-sys-hero{padding-top:44px}
 .av-sys-inner{padding-bottom:60px}
 .av-sys-giant{white-space:normal;line-height:.95}
 .av-sys-lead{font-size:16px}
 .av-sys-steps{grid-template-columns:1fr;margin-top:40px}
 .av-sys-actions{flex-direction:column;align-items:stretch;width:100%}
 .av-sys-button{justify-content:center}
}

/* Contact page */
.av-sys-contact .av-sys-inner{padding-bottom:72px}
.av-sys-contact h1{font-size:clamp(36px,5vw,64px);margin-top:20px}
.av-contact-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;width:100%;max-width:1100px;margin:56px 0 0;padding:0;list-style:none;text-align:left}
.av-contact-card{display:flex;flex-direction:column;gap:8px;padding:24px;border:1px solid #e8eaed;border-radius:24px;background:#fff;transition:border-color .2s,box-shadow .2s,transform .2s}
.av-contact-card:hover{border-color:#d2e3fc;box-shadow:0 12px 32px #1a73e814;transform:translateY(-2px)}
.av-contact-card>svg{width:44px;height:44px;padding:11px;border-radius:14px;box-sizing:border-box}
.av-c-blue>svg{background:#e8f0fe;color:#4285F4}.av-c-red>svg{background:#fce8e6;color:#EA4335}.av-c-yellow>svg{background:#fef7e0;color:#e8a600}.av-c-green>svg{background:#e6f4ea;color:#34A853}
.av-contact-card h2{margin:8px 0 0;color:#202124;font:600 20px/1.25 "Google Sans Flex","Google Sans",Arial,sans-serif}
.av-contact-card p{margin:0;color:#5f6368;font:400 15px/1.6 "Google Sans Flex","Google Sans",Arial,sans-serif}
.av-contact-card a{margin-top:auto;padding-top:6px;color:#1a73e8;font:600 16px/1.4 "Google Sans Flex","Google Sans",Arial,sans-serif;text-decoration:none;overflow-wrap:anywhere}
.av-contact-card a:hover{text-decoration:underline}
.av-sys-contact .av-sys-steps{margin-top:24px}

/* Thank-you page: two-column confirmation with a request summary */
.av-ty{padding-top:80px;background:linear-gradient(180deg,#f6f9fe 0,#fff 520px)}
.av-ty-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);gap:64px;align-items:center;padding-bottom:96px}
.av-ty-copy{display:flex;flex-direction:column;align-items:flex-start}
.av-ty-badge{position:relative;display:grid;place-items:center;width:64px;height:64px;margin-bottom:28px;border-radius:50%;background:#e6f4ea;color:#188038}
.av-ty-badge::before{content:"";position:absolute;inset:-6px;border-radius:50%;padding:3px;background:conic-gradient(#4285F4 0 25%,#EA4335 0 50%,#FBBC05 0 75%,#34A853 0);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.av-ty h1{max-width:none;margin:18px 0 0;color:#202124;font:600 clamp(44px,5.6vw,76px)/1.02 "Google Sans Flex","Google Sans",Arial,sans-serif;letter-spacing:-.04em;text-wrap:balance}
.av-ty-sub{margin:14px 0 0;color:#1a73e8;font:500 clamp(20px,2.2vw,28px)/1.3 "Google Sans Flex","Google Sans",Arial,sans-serif;letter-spacing:-.015em}
.av-ty .av-sys-lead{max-width:540px;margin-top:22px;text-align:left}
.av-ty .av-sys-actions{justify-content:flex-start;margin-top:30px}
.av-ty-call{margin:22px 0 0;color:#5f6368;font:400 15px/1.5 "Google Sans Flex","Google Sans",Arial,sans-serif}
.av-ty-call a{color:#202124;font-weight:600;text-decoration:none;border-bottom:1px solid #dadce0}
.av-ty-call a:hover{color:#1a73e8;border-color:#1a73e8}
.av-ty-card{padding:30px;border:1px solid #e8eaed;border-radius:28px;background:#fff;box-shadow:0 24px 60px #1a73e810,0 2px 6px #2021240a;text-align:left}
.av-ty-card-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:18px;border-bottom:1px solid #eef0f3}
.av-ty-card-head span{color:#202124;font:600 17px/1.3 "Google Sans Flex","Google Sans",Arial,sans-serif}
.av-ty-card-head b{display:inline-flex;align-items:center;gap:7px;padding:5px 12px;border-radius:999px;background:#e6f4ea;color:#188038;font:600 12.5px/1 "Google Sans Flex",Arial,sans-serif}
.av-ty-card-head b::before{content:"";width:7px;height:7px;border-radius:50%;background:#34A853}
.av-ty-summary{display:grid;gap:12px;margin:18px 0 26px}
.av-ty-summary>div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px;font:400 15px/1.45 "Google Sans Flex","Google Sans",Arial,sans-serif}
.av-ty-summary dt{color:#5f6368}
.av-ty-summary dd{margin:0;color:#202124;font-weight:600;overflow-wrap:anywhere}
.av-ty-card h2{margin:0 0 16px;padding-top:22px;border-top:1px solid #eef0f3;color:#5f6368;font:700 12px/1 "Google Sans Flex",Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase}
.av-ty-timeline{position:relative;display:grid;gap:20px;margin:0;padding:0;list-style:none}
.av-ty-timeline::before{content:"";position:absolute;left:15px;top:18px;bottom:18px;width:2px;background:#e8eaed}
.av-ty-timeline li{position:relative;display:grid;grid-template-columns:32px minmax(0,1fr);gap:14px}
.av-ty-timeline b{position:relative;display:grid;place-items:center;width:32px;height:32px;border:2px solid #dadce0;border-radius:50%;background:#fff;color:#5f6368;font:700 13px/1 "Google Sans Flex",Arial,sans-serif}
.av-ty-timeline li.done b{border-color:#34A853;background:#34A853;color:#fff}
.av-ty-timeline strong{display:block;margin-top:5px;color:#202124;font:600 16px/1.3 "Google Sans Flex","Google Sans",Arial,sans-serif}
.av-ty-timeline span{display:block;margin-top:4px;color:#5f6368;font:400 14px/1.55 "Google Sans Flex","Google Sans",Arial,sans-serif}
@media (prefers-reduced-motion:no-preference){.av-ty-badge{animation:av-ty-pop .5s cubic-bezier(.2,.9,.3,1.2) both}.av-ty-card{animation:av-sys-rise .6s .1s cubic-bezier(.2,.8,.2,1) both}}
@keyframes av-ty-pop{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}
@media (max-width:960px){
 .av-ty{padding-top:48px}
 .av-ty-grid{grid-template-columns:1fr;gap:40px;padding-bottom:64px}
 .av-ty .av-sys-actions{flex-direction:column;align-items:stretch;width:100%}
 .av-ty-card{padding:22px}
}
