@font-face{font-family:"Oswald";src:url("fonts/oswald.woff2") format("woff2");font-weight:200 700;font-style:normal;font-display:swap}@font-face{font-family:"Hanken Grotesk";src:url("fonts/hanken-grotesk.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:"Yellowtail";src:url("fonts/yellowtail.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{color-scheme:light;--bar:#1b2f4f;--ink:#1b2f4f;--text:#2c3a4e;--muted:#5a6578;--paper:#f8f6ee;--band:#f3f0e3;--raised:#fffdf7;--line:#ddd6c2;--green:#2c62a3;--green-deep:#204d84;--pine:#2c62a3;--leaf:#f3f0e3;--red:#e44c40;--red-deep:#c63a2f;--blue:#3b75ba;--flag:#ffe45c;--flag-ink:#3d3200;--display:"Oswald","Arial Narrow","Helvetica Neue",Arial,sans-serif;--script:"Yellowtail","Brush Script MT",cursive;--body:"Hanken Grotesk",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;--wrap:1180px;--gutter:20px;--radius:6px}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--text);font:400 1.0625rem/1.6 var(--body);overflow-x:clip}img{max-width:100%;height:auto;display:block}a{color:var(--green);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{color:var(--green-deep)}:focus-visible{outline:3px solid var(--green);outline-offset:3px;border-radius:2px}.bar :focus-visible,.cta :focus-visible,.foot :focus-visible,.callbar :focus-visible{outline-color:var(--leaf)}h1,h2,h3{font-family:var(--display);color:var(--ink);margin:0;text-wrap:balance}h1{font-size:clamp(2.5rem,5.6vw,4.4rem);font-weight:800;line-height:1;letter-spacing:-0.028em}h2{font-size:clamp(1.85rem,3.3vw,2.7rem);font-weight:750;line-height:1.06;letter-spacing:-0.022em}h3{font-size:1.3rem;font-weight:700;line-height:1.2;letter-spacing:-0.012em}p{margin:0;max-width:64ch}ul,ol{margin:0;padding-left:1.2rem}li + li{margin-top:0.4rem}ul li::marker{color:var(--green)}.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter)}.stack{display:flex;flex-direction:column;gap:1rem}.stack-lg{display:flex;flex-direction:column;gap:2rem}.section{padding-block:clamp(2.75rem,6vw,5rem)}.section--band{background:var(--band)}.lead{font-size:clamp(1.1rem,1.6vw,1.25rem);line-height:1.5;color:var(--text)}.small{font-size:0.93rem;color:var(--muted)}.cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.75rem,5vw,4rem);align-items:start}.cols--photo{grid-template-columns:minmax(0,7fr) minmax(0,4fr)}.narrow{max-width:820px}.skip{position:absolute;left:-999px;top:0;background:#fff;color:var(--ink);padding:0.6rem 1rem;z-index:100}.skip:focus{left:8px;top:8px}.preview-bar{background:var(--flag);color:var(--flag-ink);font-size:0.92rem;font-weight:500;padding-block:0.5rem}.preview-bar a{color:var(--flag-ink);font-weight:700}.tbc,.preview-note{display:inline-block;background:var(--flag);color:var(--flag-ink);font-size:0.93rem;font-weight:500;line-height:1.4;padding:0.35rem 0.6rem;border-radius:3px}.bar{background:var(--bar);color:#fff}.bar .wrap{display:flex;align-items:center;gap:1.5rem;min-height:72px}.brand{display:block;flex:none}.brand img{height:52px;width:auto}.bar-cta{background:var(--leaf);color:var(--ink);border-radius:var(--radius);white-space:nowrap;font-weight:700;font-size:0.98rem;padding:0.6rem 1rem;text-decoration:none}.bar-cta:hover{background:#fff;color:var(--ink)}.nav{display:flex;gap:1.25rem;margin-left:auto}.nav a{color:#e8ede8;text-decoration:none;font-weight:500;font-size:0.98rem;white-space:nowrap;padding-block:0.45rem;border-bottom:2px solid transparent}.nav a:hover{color:#fff;border-bottom-color:#fff}.nav a[aria-current="page"]{border-bottom-color:var(--leaf)}.bar-phone{color:#fff;text-decoration:none;white-space:nowrap;display:flex;flex-direction:column;line-height:1.2;text-align:right}.bar-phone span{font-size:0.8rem;color:#b9c4bc}.bar-phone b{font-family:var(--display);font-size:1.15rem;font-weight:700}.bar-phone:hover{color:var(--leaf)}.menu{display:none;position:relative}.menu summary{list-style:none;cursor:pointer;color:#fff;font-weight:600;border:1px solid #5d665f;border-radius:var(--radius);padding:0.5rem 0.9rem}.menu summary::-webkit-details-marker{display:none}.menu-panel{position:absolute;right:0;top:calc(100% + 10px);z-index:40;min-width:15rem;background:var(--bar);border:1px solid #454c46;border-radius:var(--radius);display:flex;flex-direction:column;padding:0.4rem}.menu-panel a{color:#fff;text-decoration:none;padding:0.75rem 0.85rem;border-radius:4px;font-weight:500}.menu-panel a:hover,.menu-panel a[aria-current="page"]{background:#2b302c}.btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;background:var(--green);color:#fff;border:2px solid var(--green);border-radius:var(--radius);font:700 1.05rem/1.2 var(--body);padding:0.9rem 1.4rem;text-decoration:none;cursor:pointer}.btn:hover{background:var(--green-deep);border-color:var(--green-deep);color:#fff}.btn--quiet{background:transparent;color:var(--ink);border-color:var(--ink)}.btn--quiet:hover{background:var(--ink);border-color:var(--ink);color:#fff}.btn--light{background:#fff;color:var(--ink);border-color:#fff}.btn--light:hover{background:var(--leaf);border-color:var(--leaf);color:var(--ink)}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:0.9rem 1.5rem}.tel{font-family:var(--display);font-size:1.55rem;font-weight:800;letter-spacing:-0.01em;color:var(--ink);text-decoration:none;white-space:nowrap}.tel:hover{color:var(--green)}.hero{padding-block:clamp(2rem,5vw,4rem) clamp(2rem,4vw,3.25rem)}.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(1.75rem,4vw,3.5rem);align-items:center}.hero-copy{display:flex;flex-direction:column;gap:1.35rem}.hero h1{font-size:clamp(2.5rem,4.7vw,3.75rem)}.hero-photo{margin:0}.hero-photo img{width:100%;aspect-ratio:3 / 2;object-fit:cover;border-radius:var(--radius)}.proof ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid var(--line)}.proof li{margin:0;padding:1.35rem 1.25rem;border-left:1px solid var(--line)}.proof li:first-child{border-left:0;padding-left:0}.proof b{display:block;font-family:var(--display);font-size:clamp(2rem,3.4vw,2.7rem);font-weight:800;line-height:1;letter-spacing:-0.02em;color:var(--ink);font-variant-numeric:tabular-nums;margin-bottom:0.4rem}.proof span{display:block;font-size:0.98rem;line-height:1.4}.proof-note{padding-top:0.75rem}.svc-list{border-top:1px solid var(--line)}.svc{display:grid;grid-template-columns:148px minmax(0,1fr) auto;gap:1rem 2rem;align-items:center;padding-block:1.4rem;border-bottom:1px solid var(--line)}.svc img{width:148px;aspect-ratio:1 / 1;object-fit:cover;object-position:50% 45%;border-radius:var(--radius)}.svc h3 a{color:var(--ink);text-decoration:none}.svc h3 a:hover{color:var(--green);text-decoration:underline}.svc p{margin-top:0.35rem}.svc .go{font-weight:600;white-space:nowrap}.route{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.route li{position:relative;margin:0;padding:1.5rem 1.5rem 0 0;border-top:2px solid var(--ink)}.route li::before{content:"";position:absolute;top:-8px;left:0;width:14px;height:14px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px var(--band)}.route b{display:block;font-family:var(--display);font-size:1.2rem;font-weight:700;line-height:1.2;color:var(--ink);margin-bottom:0.4rem}.route span{display:block;font-size:1rem}.facts{margin:0;border-top:1px solid var(--line)}.facts div{display:grid;grid-template-columns:8.5rem minmax(0,1fr);gap:1rem;padding-block:0.8rem;border-bottom:1px solid var(--line)}.facts dt{color:var(--muted);font-size:0.95rem}.facts dd{margin:0;color:var(--ink);font-weight:500}.strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0.75rem}.strip--4{grid-template-columns:repeat(4,minmax(0,1fr))}.strip img,.photo img{width:100%;aspect-ratio:3 / 4;object-fit:cover;border-radius:var(--radius)}.photo{margin:0}.photo--wide img{aspect-ratio:1 / 1}.photo--land img{aspect-ratio:4 / 3}.bio{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:clamp(1.75rem,5vw,4rem);align-items:center}.strip--2{grid-template-columns:repeat(2,minmax(0,1fr))}.duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0.75rem}.duo img{width:100%;aspect-ratio:1 / 1;object-fit:cover;border-radius:var(--radius)}.mosaic{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:0.75rem}.mosaic img{width:100%;aspect-ratio:3 / 4;object-fit:cover;border-radius:var(--radius)}.mosaic img:first-child{grid-row:span 2;height:100%;aspect-ratio:auto}.assure{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(1.75rem,5vw,4rem);border-top:1px solid var(--line)}.assure>div{padding-block:1.4rem;border-bottom:1px solid var(--line)}.assure h3{margin-bottom:0.4rem}.assure--one{grid-template-columns:minmax(0,1fr)}.quotes{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);column-gap:clamp(1.75rem,5vw,4rem);border-top:1px solid var(--line)}.quote{margin:0;padding-block:1.5rem;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:0.8rem}.quote blockquote{margin:0}.quote p{color:var(--ink);font-size:1.1rem;line-height:1.55;max-width:none}.quote--lead{grid-row:span 2}.quote--solo{border-block:1px solid var(--line);max-width:820px}.quote--solo p{font-size:clamp(1.2rem,1.9vw,1.5rem);line-height:1.45;font-weight:500}.quote--lead p{font-size:clamp(1.25rem,2vw,1.6rem);line-height:1.4;font-weight:500;letter-spacing:-0.005em}.quote figcaption{font-size:0.95rem;color:var(--muted)}.quote figcaption b{color:var(--ink);font-weight:600}.towns{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:2rem 1.5rem;border-top:1px solid var(--line);padding-top:1.5rem}.towns h2,.towns h3{font-size:1.3rem;font-weight:700;letter-spacing:-0.012em;line-height:1.2;margin-bottom:0.6rem}.towns ul{list-style:none;padding:0}.faq{border-top:1px solid var(--line);max-width:860px}.faq details{border-bottom:1px solid var(--line)}.faq summary{list-style:none;cursor:pointer;position:relative;padding:1.05rem 2.75rem 1.05rem 0;font-weight:600;font-size:1.1rem;line-height:1.35;color:var(--ink)}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:"+";position:absolute;right:0.3rem;top:0.75rem;font-size:1.6rem;font-weight:400;line-height:1;color:var(--green)}.faq details[open] summary::after{content:"\2212"}.faq summary:hover{color:var(--green-deep)}.answer{padding:0 2.75rem 1.2rem 0;display:flex;flex-direction:column;gap:0.7rem}.faq-group{display:flex;flex-direction:column;gap:0.9rem}.faq-group h2{font-size:1.6rem}.page-head{padding-block:clamp(1.75rem,4vw,3rem) 0}.page-head .wrap{display:flex;flex-direction:column;gap:1.25rem}.page-head .lead{max-width:62ch;line-height:1.6}.page-head .actions{margin-top:0.75rem}.page-head--split{padding-bottom:clamp(3.5rem,7vw,5.5rem)}.crumbs{font-size:0.93rem;color:var(--muted)}.crumbs a{color:var(--muted)}.page-head h1{font-size:clamp(2.2rem,4.6vw,3.6rem);max-width:20ch}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:34rem}th,td{text-align:left;padding:0.85rem 1rem 0.85rem 0;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:0.93rem;font-weight:600;color:var(--muted);border-bottom-color:var(--ink)}td.num{font-variant-numeric:tabular-nums;color:var(--ink);font-weight:600;white-space:nowrap}.table--narrow{min-width:0}.table-scroll .small{padding-top:0.75rem}.ticket{background:var(--raised);border:1px solid var(--line);border-radius:8px;position:relative}.ticket-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:0.25rem 1rem;padding:1rem 1.25rem;border-bottom:1px solid var(--line)}.ticket-head h2{font-size:1.35rem}.ticket-embed{padding:0.5rem 0.75rem 0.25rem}.ticket-body{padding:1.25rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem 1rem}.field{min-width:0}.field--wide{grid-column:1 / -1}.field label,.chips legend{display:block;font-weight:600;font-size:0.95rem;color:var(--ink);margin-bottom:0.35rem;padding:0}.field input,.field select,.field textarea{width:100%;font:inherit;color:var(--ink);background:#fff;border:1px solid #9eab9d;border-radius:var(--radius);padding:0.7rem 0.8rem}.field textarea{min-height:7rem;resize:vertical}.field input:focus-visible,.field textarea:focus-visible{outline-offset:1px}.chips{border:0;margin:0;padding:0;min-width:0}.chip-row{display:flex;flex-wrap:wrap;gap:0.5rem}.chip{position:relative}.chip input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}.chip span{display:block;border:1px solid #9eab9d;border-radius:999px;background:#fff;padding:0.5rem 0.95rem;font-weight:500;color:var(--ink)}.chip input:checked + span{background:var(--green);border-color:var(--green);color:#fff}.chip input:focus-visible + span{outline:3px solid var(--green);outline-offset:3px}.consent{display:grid;grid-template-columns:auto minmax(0,1fr);gap:0.7rem;align-items:start;font-size:0.9rem;line-height:1.45;color:var(--muted)}.consent input{width:1.15rem;height:1.15rem;margin-top:0.15rem;accent-color:var(--green)}.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.form-note{font-weight:600;color:var(--ink)}.cta{background:var(--pine);color:#dfe9e0}.cta h2{color:#fff}.cta .tel{color:#fff}.cta .tel:hover{color:var(--leaf)}.cta .small{color:#b5c6b8}.foot{background:var(--bar);color:#c2ccc3;font-size:0.98rem;padding-block:3rem 2rem}.foot a{color:#eef2ee}.foot a:hover{color:var(--leaf)}.foot-grid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:2rem}.foot-grid img{height:62px;width:auto;margin-bottom:0.9rem}.foot h2{color:#fff;font-size:1.05rem;font-weight:700;letter-spacing:-0.012em;line-height:1.2;margin-bottom:0.75rem}.foot ul{list-style:none;padding:0}.foot-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:0.5rem 2rem;margin-top:2.5rem;padding-top:1.25rem;border-top:1px solid #3a403b;font-size:0.9rem;color:#a3afa5}.callbar{display:none}@media (min-width:1181px){.bar{position:sticky;top:env(safe-area-inset-top,0px);z-index:50}}@media (max-width:1180px){.nav{display:none}.menu{display:block}.bar-cta{margin-left:auto}}@media (max-width:900px){.hero-grid,.cols,.cols--photo{grid-template-columns:minmax(0,1fr)}.proof ul{grid-template-columns:repeat(2,minmax(0,1fr))}.proof li{padding-inline:1rem}.proof li:nth-child(odd){border-left:0;padding-left:0}.proof li:nth-child(n + 3){border-top:1px solid var(--line)}.route{grid-template-columns:minmax(0,1fr)}.route li{border-top:0;border-left:2px solid var(--ink);padding:0 0 1.5rem 1.4rem}.route li:last-child{padding-bottom:0}.route li::before{top:0.3rem;left:-8px}.assure{grid-template-columns:minmax(0,1fr)}.quotes{grid-template-columns:minmax(0,1fr)}.foot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.strip--4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){body{padding-bottom:4.6rem}.bar .wrap{gap:0.75rem;min-height:64px}.brand img{height:46px}.bar-phone span{display:none}.bar-phone b{font-size:1rem}.bar-cta{display:none}.bar-phone{margin-left:auto}.svc{grid-template-columns:92px minmax(0,1fr);align-items:start}.svc img{width:92px}.svc .go{grid-column:2}.strip{grid-template-columns:repeat(2,minmax(0,1fr))}.ticket-body{grid-template-columns:minmax(0,1fr)}.bio{grid-template-columns:minmax(0,1fr)}.bio .photo{max-width:240px}.facts div{grid-template-columns:6.5rem minmax(0,1fr)}.foot-grid{grid-template-columns:minmax(0,1fr)}.callbar{display:grid;grid-template-columns:1fr 1fr;gap:0.5rem;position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--bar);padding:0.55rem 0.75rem calc(0.55rem + env(safe-area-inset-bottom,0px))}.callbar a{text-align:center;text-decoration:none;font-weight:700;padding:0.8rem 0.5rem;border-radius:var(--radius);background:#fff;color:var(--ink)}.callbar a + a{background:var(--green);color:#fff}}@media (max-width:420px){.bar-phone{display:none}.menu{margin-left:auto}}@media (prefers-reduced-motion:no-preference){.btn,.nav a,.chip span{transition:background-color 0.15s,color 0.15s,border-color 0.15s}}
h1,h2,h3{text-transform:uppercase;letter-spacing:0.005em}h1{font-weight:700;line-height:1.02}h2{font-weight:650;line-height:1.08}h3{font-weight:600;letter-spacing:0.01em}
.checker{height:14px;background:repeating-conic-gradient(var(--red) 0 25%,transparent 0 50%) 0 0/28px 28px;background-color:var(--paper)}
.bar{background:var(--paper);color:var(--ink);border-bottom:3px double var(--red)}
.brand img{height:56px}
.nav a{color:var(--ink);font-weight:600}.nav a:hover{color:var(--red-deep);border-bottom-color:var(--red)}.nav a[aria-current="page"]{border-bottom-color:var(--red)}
.bar-cta{background:var(--red-deep);color:#fff}.bar-cta:hover{background:var(--ink);color:#fff}
.bar-phone{color:var(--ink)}.bar-phone span{color:var(--muted)}.bar-phone:hover{color:var(--red-deep)}
.menu summary{color:var(--ink);border-color:var(--line)}.menu-panel{background:var(--raised);border-color:var(--line);box-shadow:0 10px 30px rgba(27,47,79,.12)}.menu-panel a{color:var(--ink)}.menu-panel a:hover,.menu-panel a[aria-current="page"]{background:var(--band)}
.bar :focus-visible{outline-color:var(--blue)}
.btn{background:var(--red-deep);border-color:var(--red-deep)}.btn:hover{background:var(--ink);border-color:var(--ink)}
.btn--light{background:#fff;color:var(--ink);border-color:#fff}.btn--light:hover{background:var(--band);border-color:var(--band);color:var(--ink)}
.tel:hover{color:var(--red-deep)}
.script{font-family:var(--script);color:var(--red);font-size:clamp(1.7rem,3vw,2.3rem);line-height:1.1;text-transform:none;letter-spacing:0;font-weight:400}

.hero{position:relative}.hero-art{margin:0;position:relative}.hero-art img{width:100%;max-width:560px;margin-inline:auto}
.hero-art::before{content:"";position:absolute;inset:8% 6% 4% 6%;background:var(--band);border-radius:50%;z-index:-1}
.hero-grid{isolation:isolate}
.route li::before{background:var(--red)}
.svc{grid-template-columns:72px minmax(0,1fr) auto}.svc .num{width:72px;height:72px;border-radius:50%;background:var(--band);display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:1.6rem;color:var(--red)}
.svc h3 a:hover{color:var(--red-deep)}
ul li::marker{color:var(--red)}
.faq summary::after{color:var(--red)}
.cta{background:var(--blue);color:#eef3fa;position:relative}.cta .tel:hover{color:var(--band)}.cta .small{color:#dbe6f4}.cta :focus-visible{outline-color:#fff}
.foot{background:var(--bar);color:#d5dcea}.foot a{color:#fff}.foot a:hover{color:var(--band)}.foot-grid img{height:56px}.foot-base{border-top-color:#34496b;color:#aab6cc}
.foot .script{font-size:1.5rem;margin-top:-.25rem}
.callbar{background:var(--bar)}.callbar a + a{background:var(--red-deep)}
.towns{grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr))}
.chips-list{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0}.chips-list li{margin:0;background:var(--raised);border:1px solid var(--line);border-radius:999px;padding:.4rem .9rem;font-weight:500;color:var(--ink)}.chips-list a{color:var(--ink);text-decoration:none}.chips-list a:hover{color:var(--red-deep);text-decoration:underline}
.tbc{font-family:var(--body)}
.star{display:inline-block;width:1.1em;height:1.1em;vertical-align:-0.15em}
@media (max-width:760px){.brand img{height:44px}.svc{grid-template-columns:56px minmax(0,1fr)}.svc .num{width:56px;height:56px;font-size:1.3rem}.hero-art img{max-width:340px}}
.cta .lead{color:#eef3fa}.foot-grid img{height:50px}

.market{background:var(--ink);color:#dfe6f0}.market h2{color:#fff}.section.market{padding-block:clamp(3.75rem,8vw,6.5rem)}.market .stack{gap:1.25rem}.market .stack p{max-width:58ch}.market .actions{margin-top:0.75rem}.market .market-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(2.5rem,6vw,5rem);align-items:center}.market-dates{margin:0;border-top:1px solid #3d5273}.market-dates div{display:grid;grid-template-columns:7.5rem minmax(0,1fr);gap:1rem;align-items:baseline;padding-block:1.25rem;border-bottom:1px solid #3d5273}.market-dates dt{color:#b9c6d8;font-size:0.95rem}.market-dates dd{margin:0;color:#fff;font-family:var(--display);font-size:1.3rem;font-weight:700;line-height:1.2}.market :focus-visible{outline-color:var(--leaf)}@media (max-width:900px){.market .market-grid{grid-template-columns:minmax(0,1fr)}}
.ghl-form{display:block;width:100%;min-height:900px;border:0;border-radius:3px}
.svc{grid-template-columns:minmax(0,1fr) auto}.svc .go{grid-column:auto}@media (max-width:760px){.svc{grid-template-columns:minmax(0,1fr)}}
.quiz-body{padding:1.25rem;display:flex;flex-direction:column;gap:1.1rem}.ticket-embed{padding:0}.q-progress{display:block;width:100%;height:6px;appearance:none;-webkit-appearance:none;border:0;border-radius:0;background:var(--line)}.q-progress::-webkit-progress-bar{background:var(--line)}.q-progress::-webkit-progress-value{background:var(--green)}.q-progress::-moz-progress-bar{background:var(--green)}.q-progress[hidden]{display:none}.q-step{border:0;margin:0;padding:0;min-width:0;display:flex;flex-direction:column;gap:1rem}.q-step[hidden]{display:none}.q-step:focus{outline:none}.q-q{font-family:var(--display);font-size:clamp(1.4rem,2.6vw,1.75rem);font-weight:700;line-height:1.1;color:var(--ink);padding:0;margin-bottom:0.25rem;text-transform:none}.q-num{display:block;font-family:var(--body);font-size:0.9rem;font-weight:500;color:var(--muted);margin-bottom:0.35rem}.q-step .small{display:block;margin-top:0.35rem}.q-step label .small{display:inline;margin:0;font-weight:400}.q-town[hidden],.q-market[hidden]{display:none}.field select{width:100%;font:inherit;color:var(--ink);background:#fff;border:1px solid #9eab9d;border-radius:var(--radius);padding:0.7rem 0.8rem}.q-out{border:1px solid var(--line);background:var(--band);padding:1rem 1.1rem;border-radius:var(--radius)}.q-out h3{font-size:1.15rem;margin-bottom:0.35rem}.q-out[hidden],.q-out-tip[hidden]{display:none}.q-out-tip{margin-top:0.5rem;font-weight:600;color:var(--ink)}.q-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.q-nav{display:flex;flex-wrap:wrap;gap:0.75rem;align-items:center}.q-nav .q-next,.q-nav .q-submit{margin-left:auto}.q-nav [hidden]{display:none}.chip span{min-height:2.75rem;display:flex;align-items:center}.form-note[hidden]{display:none}@media (max-width:760px){.q-grid{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:no-preference){.quiz-on .q-step:not([hidden]),.form-note:not([hidden]),.q-out:not([hidden]){animation:q-in 0.25s ease-out}}@keyframes q-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* Motion. Ease out for entrances, ease in-out for movement, exits about 20% shorter, no spring bounce,
   buttons press to 0.97, list rows stagger 30 ms, menus grow from the button that opened them at 0.95,
   a pulse confirms success. Reduced motion drops movement and keeps short fades. */
:root{--ease-out:cubic-bezier(.23,1,.32,1);--ease-in-out:cubic-bezier(.77,0,.175,1)}
.btn,.bar-cta,.menu summary,.chip span{transition:background-color .15s,color .15s,border-color .15s,transform .12s var(--ease-out)}
.btn:active,.bar-cta:active,.menu summary:active,.chip:active span{transform:scale(.97)}
.menu[open] .menu-panel{transform-origin:top right;animation:mw-pop .2s var(--ease-out) both}
.menu[open] .menu-panel a{animation:mw-row .2s var(--ease-out) both}
.menu[open] .menu-panel a:nth-child(2){animation-delay:30ms}.menu[open] .menu-panel a:nth-child(3){animation-delay:60ms}.menu[open] .menu-panel a:nth-child(4){animation-delay:90ms}.menu[open] .menu-panel a:nth-child(5){animation-delay:120ms}.menu[open] .menu-panel a:nth-child(6){animation-delay:150ms}.menu[open] .menu-panel a:nth-child(n+7){animation-delay:180ms}
.quiz-on .q-step:not([hidden]) .chip{animation:mw-row .22s var(--ease-out) both}
.quiz-on .q-step:not([hidden]) .chip:nth-child(2){animation-delay:30ms}.quiz-on .q-step:not([hidden]) .chip:nth-child(3){animation-delay:60ms}.quiz-on .q-step:not([hidden]) .chip:nth-child(4){animation-delay:90ms}.quiz-on .q-step:not([hidden]) .chip:nth-child(5){animation-delay:120ms}.quiz-on .q-step:not([hidden]) .chip:nth-child(6){animation-delay:150ms}.quiz-on .q-step:not([hidden]) .chip:nth-child(7){animation-delay:180ms}.quiz-on .q-step:not([hidden]) .chip:nth-child(8){animation-delay:210ms}.quiz-on .q-step:not([hidden]) .chip:nth-child(n+9){animation-delay:240ms}
.faq details[open]>:not(summary){animation:mw-row .22s var(--ease-out) both}
.is-confirm{animation:mw-pulse .45s var(--ease-in-out) .1s both}
@keyframes mw-pop{from{opacity:0;transform:scale(.95)}}
@keyframes mw-row{from{opacity:0;transform:translateY(4px)}}
@keyframes mw-pulse{0%{transform:scale(1)}45%{transform:scale(1.03)}100%{transform:scale(1)}}
@keyframes mw-fade{from{opacity:0}}
@media (prefers-reduced-motion:reduce){.btn:active,.bar-cta:active,.menu summary:active,.chip:active span{transform:none}.menu[open] .menu-panel,.menu[open] .menu-panel a,.quiz-on .q-step:not([hidden]) .chip,.faq details[open]>:not(summary){animation:mw-fade .15s linear both;animation-delay:0s}.is-confirm{animation:none}}

/* Page motion: the top of each page settles in on load and sections slide into place as they
   scroll into view. The scroll classes are only added by script, so the page reads fine without it. */
.reel{overflow:hidden;padding-block:0.75rem 0.25rem}
.reel-track{display:flex;width:max-content}
.reel-set{display:flex;gap:0.75rem;padding-right:0.75rem}
.reel img{display:block;height:clamp(140px,16vw,220px);width:auto;object-fit:cover;border-radius:var(--radius,6px)}
.reel-foot{display:flex;justify-content:flex-end;padding-top:0.4rem}
.reel-toggle{font:inherit;font-size:0.93rem;font-weight:600;color:inherit;opacity:0.75;background:none;border:0;padding:0.4rem 0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.reel-toggle:hover{opacity:1}
@keyframes pm-drift{to{transform:translateX(-50%)}}
@keyframes pm-rise{from{opacity:0;transform:translateY(14px)}}
@keyframes pm-unmask{from{clip-path:inset(6% 6% 6% 6% round 8px)}to{clip-path:inset(0)}}
@keyframes pm-settle{from{transform:scale(1.08)}}
@keyframes pm-fade{from{opacity:0}}
@media (prefers-reduced-motion:no-preference){
.reel-track{animation:pm-drift 70s linear infinite}
.reel:hover .reel-track,.reel:focus-within .reel-track,.reel.is-paused .reel-track,.reel.is-away .reel-track{animation-play-state:paused}
.rv{opacity:0;transform:translateY(22px)}
.rv[data-rv="left"]{transform:translateX(-36px)}
.rv[data-rv="right"]{transform:translateX(36px)}
.rv[data-rv="mask"]{opacity:1;transform:scale(1.05);clip-path:inset(100% 0 0 0)}
.rv.rv-in{opacity:1;transform:none;clip-path:inset(0);transition:opacity .5s var(--ease-out,cubic-bezier(.23,1,.32,1)),transform .75s var(--ease-out,cubic-bezier(.23,1,.32,1)),clip-path .8s var(--ease-out,cubic-bezier(.23,1,.32,1));transition-delay:var(--d,0ms)}
}
@media (prefers-reduced-motion:no-preference) and (max-width:900px){.rv[data-rv="left"],.rv[data-rv="right"]{transform:translateY(22px)}}
@media (prefers-reduced-motion:reduce){
.reel{overflow-x:auto;scroll-snap-type:x mandatory}
.reel-set[aria-hidden="true"]{display:none}
.reel img{scroll-snap-align:start}
.rv{opacity:0}
.rv.rv-in{opacity:1;transition:opacity .2s linear}
}
@media print{.rv{opacity:1;transform:none;clip-path:none}}
/* The top of each page: text rises in a little apart and the Movewise mover rolls in along a short arc. */
@keyframes pm-arc{0%{opacity:0;transform:translate(56px,28px)}55%{opacity:1;transform:translate(14px,-3px)}100%{transform:none}}
@media (prefers-reduced-motion:no-preference){
.hero-copy>*,.page-head .wrap>*{animation:pm-rise .6s var(--ease-out) both}
.hero-copy>:nth-child(2),.page-head .wrap>:nth-child(2){animation-delay:80ms}
.hero-copy>:nth-child(3),.page-head .wrap>:nth-child(3){animation-delay:160ms}
.hero-copy>:nth-child(4),.page-head .wrap>:nth-child(4){animation-delay:240ms}
.hero-copy>:nth-child(n+5),.page-head .wrap>:nth-child(n+5){animation-delay:320ms}
.hero-art{animation:pm-arc .9s var(--ease-out) .12s both}
}
@media (prefers-reduced-motion:reduce){.hero-copy>*,.page-head .wrap>*,.hero-art{animation:pm-fade .2s linear both}}
.chip[hidden]{display:none}
