:root{--red:#d71928;--ink:#17191c;--charcoal:#202226;--muted:#63666b;--line:#dedfe1}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:5px}input:focus,select:focus,textarea:focus{outline:2px solid var(--red);outline-offset:2px}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.12}h1{font-size:clamp(3.2rem,6.3vw,6.2rem);letter-spacing:-.055em;font-weight:500}h2{font-size:clamp(2.4rem,4.1vw,4.3rem);letter-spacing:-.045em;font-weight:500}h3{font-size:1.4rem;letter-spacing:-.025em;font-weight:600}.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.15em;margin-bottom:24px}.red-text{color:var(--red)}.skip{position:fixed;top:-100px;background:#fff;padding:15px;z-index:100}.skip:focus{top:0}.header{height:84px;position:sticky;top:0;z-index:20;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 4.5vw;border-bottom:1px solid #eee}.brand{width:165px;height:48px;overflow:hidden;display:block;position:relative;flex-shrink:0}.brand img{width:227px;max-width:none;height:auto;position:absolute;left:-31px;top:-28px}.header nav{display:flex;gap:30px;font-size:.875rem;font-weight:600}.header nav a{padding:10px 0}.header nav a:hover{color:var(--red)}.header-book{font-size:.875rem;border-bottom:2px solid var(--red);padding:7px 0;font-weight:600}.menu{display:none}.hero{height:calc(100svh - 84px);min-height:650px;max-height:1000px;position:relative;color:#fff;overflow:hidden}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 60%}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.6),rgba(0,0,0,.12) 53%,rgba(0,0,0,.76))}.hero-copy{position:relative;text-align:center;padding:70px 24px 0}.hero-description{margin-top:24px;font-size:1.125rem;line-height:1.6}.hero-bottom{position:absolute;bottom:40px;left:24px;right:24px;text-align:center}.hero-buttons{display:flex;justify-content:center;gap:18px;margin-bottom:24px}.button{min-height:48px;padding:13px 30px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:3px;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.red{background:var(--red);color:#fff}.red:hover{background:#b61120}.glass{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.7);backdrop-filter:blur(12px);color:#fff}.glass:hover{background:rgba(255,255,255,.24)}.hero-bottom p{font-size:.875rem;color:#e6e6e6}.hero-bottom p span{padding:0 12px}.hero-index{position:absolute;bottom:46px;left:4.5vw;font-size:.75rem;letter-spacing:.12em;color:#ccc}.section{padding:110px max(6vw,24px);scroll-margin-top:0}.section-heading{max-width:720px;margin-bottom:64px}.section-heading>p:last-child{max-width:560px;margin-top:25px;color:var(--muted);font-size:1.125rem}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}.service{border-top:1px solid var(--line);padding-top:20px}.service-number{font-size:.875rem;color:var(--red);display:block;margin-bottom:44px}.service h3{min-height:54px}.service>p{color:var(--muted);margin:18px 0 30px}.service details{border-top:1px solid var(--line);font-size:.875rem}.service summary{padding:16px 22px 16px 0;cursor:pointer;list-style:none;position:relative;font-weight:600}.service summary::-webkit-details-marker{display:none}.service summary:after{content:'+';position:absolute;right:0;top:11px;font-size:1.5rem;font-weight:400}.service details[open] summary:after{content:'−'}.service details div p{margin:0 0 14px;color:var(--muted)}.service details a{color:var(--red);text-decoration:underline;text-underline-offset:4px;font-weight:600}.service-note{font-size:.875rem;margin-top:50px;padding-top:24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px}.service-note span{color:var(--muted)}.approach{background:var(--charcoal);color:#fff;display:grid;grid-template-columns:1.2fr 1fr;gap:10vw}.approach .eyebrow{color:#bbb}.approach-title>p:not(.eyebrow){color:#c9cace;max-width:480px;margin-top:28px}.text-link{display:inline-block;border-bottom:1px solid var(--red);padding:5px 0;font-size:.875rem;font-weight:600;margin-top:25px}.approach-points>div{padding:26px 0 28px 46px;border-top:1px solid #4a4c50;position:relative}.approach-points span{position:absolute;left:0;color:#c8c9cc;font-size:.875rem}.approach-points h3{font-size:1.2rem;margin-bottom:12px}.approach-points p{color:#c9cace}.performance{height:720px;position:relative;overflow:hidden;color:#fff}.performance>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.performance-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.64),rgba(0,0,0,.08))}.performance-copy{position:absolute;left:6vw;top:50%;transform:translateY(-50%);max-width:600px;padding-right:24px}.performance-copy>p:not(.eyebrow){max-width:430px;margin:28px 0 34px;color:#e3e3e3}.white{background:#fff;color:var(--ink)}.white:hover{background:#ececec}.additional{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.additional>div:last-child{padding-top:35px;color:var(--muted)}.tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.tags span{border:1px solid var(--line);padding:7px 13px;font-size:.875rem}.additional .text-link{color:var(--ink)}.community{background:#f4f4f4;text-align:center}.community>p:not(.eyebrow){margin:24px auto 30px;color:var(--muted);max-width:650px}.outline{border-color:#a4a4a4;background:transparent}.outline:hover{background:#fff}.contact{display:grid;grid-template-columns:1fr 1fr;gap:9vw}.address{margin:32px 0 22px;color:var(--muted)}.phone{font-size:1.8rem;font-weight:500;display:block;letter-spacing:-.03em}.email{display:inline-block;color:var(--muted);margin-top:5px}.hours{max-width:340px;margin-top:36px;border-top:1px solid var(--line);padding-top:14px}.hours p{display:flex;justify-content:space-between;font-size:.875rem;gap:20px;margin:10px 0}.hours strong{font-weight:500}.appointment{background:#f4f4f4;padding:38px;border-radius:4px;scroll-margin-top:110px}.appointment h3{font-size:1.7rem}.appointment>p{margin-top:15px;color:var(--muted)}form{margin-top:28px}label{display:block;font-size:.875rem;font-weight:600;margin-bottom:16px}input,select,textarea{display:block;width:100%;margin-top:7px;padding:11px 12px;color:var(--ink);background:#fff;border:1px solid #d4d4d4;border-radius:3px;font-size:1rem;font-weight:400;min-width:0}textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}form .button{width:100%}.form-note{font-size:.75rem;color:var(--muted);margin-top:15px;line-height:1.6}#form-status{font-size:.875rem;margin-top:12px}footer{background:#111214;color:#fff;padding:46px 6vw;display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:30px;align-items:center;font-size:.875rem}.footer-brand{filter:invert(1)}footer>p{color:#bbb}footer>div{display:flex;justify-content:flex-end;gap:24px}.legal{grid-column:1/-1;border-top:1px solid #383838;padding-top:25px;font-size:.75rem;line-height:1.9}
@media(min-width:1600px){.section{padding-left:calc((100vw - 1400px)/2);padding-right:calc((100vw - 1400px)/2)}}
@media(max-width:1100px){.header nav{gap:18px}.header-book{font-size:.75rem}.hero-index{display:none}.service-grid{grid-template-columns:1fr 1fr;gap:44px}.service h3{min-height:0}.service-number{margin-bottom:25px}.approach{gap:6vw}.contact{gap:5vw}.appointment{padding:28px}}
@media(max-width:760px){html{scroll-padding-top:72px}.header{height:72px;padding:0 20px}.brand{width:140px;height:42px}.brand img{width:193px;left:-26px;top:-23px}.header-book{margin-left:auto;margin-right:20px;font-size:.75rem;max-width:105px;line-height:1.35;text-align:center}.menu{display:block;background:#f2f2f2;border:0;padding:9px 12px;border-radius:3px;font-size:.875rem}.header nav{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;flex-direction:column;gap:0;padding:18px 24px;box-shadow:0 15px 20px #0001}.header nav.open{display:flex}.header nav a{padding:12px 0;border-bottom:1px solid #eee}.hero{height:calc(100svh - 72px);min-height:640px}.hero-copy{padding-top:60px}.hero .eyebrow{font-size:.75rem;max-width:270px;margin:0 auto 22px}.hero-description{font-size:1rem}.hero-image{object-position:55% 50%}.hero-bottom{bottom:26px}.hero-buttons{flex-direction:column;gap:12px;max-width:380px;margin:0 auto 22px}.hero-bottom p{font-size:.75rem}.section{padding:74px 24px}.section-heading{margin-bottom:42px}.section-heading>p:last-child{font-size:1rem}.service-grid{gap:36px 24px}.service h3{font-size:1.15rem}.service>p{font-size:.875rem;margin-bottom:20px}.service-number{margin-bottom:24px}.service-note{display:block;line-height:1.8}.service-note span{display:block;margin-top:10px}.approach{grid-template-columns:1fr;gap:44px}.approach-points>div:last-child{padding-bottom:0}.performance{height:650px}.performance-copy{left:24px;right:0;max-width:550px}.performance-shade{background:linear-gradient(90deg,#000b,#0003)}.performance>img{object-position:60% center}.additional,.contact{grid-template-columns:1fr;gap:44px}.additional>div:last-child{padding-top:0}.appointment{padding:26px 20px;scroll-margin-top:94px}.form-row{grid-template-columns:1fr;gap:0}footer{padding:40px 24px;grid-template-columns:1fr;gap:25px}footer>div{justify-content:flex-start}.legal{grid-column:1}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}.button:hover{transform:none}}

.performance-actions{display:flex;flex-wrap:wrap;gap:14px}.header nav a[aria-current=page]{color:var(--red);border-bottom:2px solid var(--red)}.build-intro,.project-intro{background:var(--charcoal);color:#fff}.build-intro h1{font-size:clamp(3rem,5.4vw,5.5rem)}.build-intro .red-text,.project-intro .red-text,.gallery-empty .red-text{color:#ff6470}.build-lead{max-width:740px;font-size:1.125rem;margin-top:30px;color:#c9cace}.build-list{padding-top:70px}.build-list-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:40px}.build-list-heading h2{font-size:clamp(2rem,3.2vw,3rem)}.build-list-heading>p{color:var(--muted)}.build-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.build-card{display:block;padding:42px;border:1px solid var(--line);background:#f5f5f5;transition:border-color .2s}.build-card:hover{border-color:var(--red)}.build-card-top{display:flex;align-items:start;justify-content:space-between;gap:20px}.build-card .eyebrow{font-size:.875rem;color:var(--red);letter-spacing:.1em}.build-count{color:var(--muted);font-size:.875rem}.build-card h2{font-size:clamp(2rem,3vw,3.2rem);max-width:450px}.build-card>p{margin-top:24px;color:var(--muted)}.build-card .text-link{margin-top:32px}.build-cta{background:#f4f4f4;display:flex;align-items:center;justify-content:space-between;gap:32px}.build-cta p:not(.eyebrow){margin-top:20px;color:var(--muted)}.breadcrumbs{display:flex;gap:15px;align-items:center;margin-bottom:55px;font-size:.875rem;color:#c9cace}.breadcrumbs a:hover{text-decoration:underline}.project-intro h1{font-size:clamp(2.8rem,5.5vw,5.5rem);max-width:1000px;overflow-wrap:break-word}.project-intro .tags{margin-top:35px}.project-intro .tags span{border-color:#505257;color:#ddd}.project-gallery{padding-top:65px}.gallery-empty{min-height:250px;padding:40px;background:var(--charcoal);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-top:3px solid var(--red)}.gallery-empty p{font-size:1.25rem;color:#ddd}.project-next{border-top:1px solid var(--line);padding-top:50px;display:flex;align-items:center;justify-content:space-between;gap:30px}.project-next .text-link{margin-top:0}.project-next .eyebrow{margin-bottom:14px}.next-build{font-size:clamp(1.5rem,2.5vw,2.3rem);line-height:1.2;letter-spacing:-.03em}.next-build:hover{color:var(--red)}
@media(max-width:760px){.build-intro,.project-intro{padding-top:60px}.build-grid{grid-template-columns:1fr}.build-card{padding:28px}.build-list-heading{align-items:start;flex-direction:column;gap:12px}.build-cta,.project-next{align-items:start;flex-direction:column}.gallery-empty{padding:30px 20px}.project-next>div{width:100%}.breadcrumbs{margin-bottom:40px}.performance-actions{flex-direction:column;align-items:start}}

.stage-heading{max-width:800px;margin-bottom:42px}.stage-heading h2{font-size:clamp(2.2rem,4vw,4rem)}.stage-heading>p:last-child{margin-top:24px;color:var(--muted);font-size:1.125rem}.build-gallery{columns:2;column-gap:28px}.build-photo{margin:0 0 32px;break-inside:avoid}.build-photo img{width:100%;height:auto;background:#eee}.build-photo a{display:block}.build-photo figcaption{display:flex;gap:16px;color:var(--muted);font-size:.875rem;margin-top:12px}.build-photo figcaption span{color:var(--red);flex-shrink:0}.build-card-photo{margin:0 0 30px}.build-card-photo img{width:100%;height:auto}.build-card-photo figcaption{color:var(--muted);font-size:.875rem;margin-top:12px}@media(max-width:760px){.build-gallery{columns:1}.stage-heading>p:last-child{font-size:1rem}}

.kit-stage{border-top:1px solid var(--line)}

.reassembly-heading{border-top:1px solid var(--line);padding-top:42px;margin:20px 0 35px;max-width:800px}.reassembly-heading h3{font-size:clamp(1.6rem,3vw,2.4rem)}.reassembly-heading p{margin-top:18px;color:var(--muted)}

.booking-button{width:100%;margin-top:26px}.booking-note{font-size:.875rem;color:var(--muted);margin-top:10px}.location-map{margin-top:30px;overflow:hidden;border-radius:3px;border:1px solid var(--line);background:#e5e5e5}.location-map iframe{display:block;width:100%;height:340px;border:0}.booking-location>.text-link{margin-top:18px}@media(max-width:760px){.location-map iframe{height:290px}}

.back-to-top{position:fixed;right:24px;bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:30;width:50px;height:50px;padding:0;display:flex;align-items:center;justify-content:center;background:var(--red);color:#fff;border:0;border-radius:50%;box-shadow:0 4px 16px #0004;cursor:pointer;transition:background .2s,transform .2s}.back-to-top[hidden]{display:none}.back-to-top:hover{background:#b61120;transform:translateY(-2px)}.back-to-top:focus-visible{outline:3px solid #fff;outline-offset:3px;box-shadow:0 0 0 6px var(--red),0 4px 16px #0004}@media(max-width:760px){.back-to-top{right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));width:46px;height:46px}}@media(prefers-reduced-motion:reduce){.back-to-top{transition:none}.back-to-top:hover{transform:none}}

.header .brand{width:227.7px;height:66.24px}.header .brand img{width:313.26px;left:-42.78px;top:-38.64px}@media(max-width:760px){.header .brand{width:193.2px;height:57.96px}.header .brand img{width:266.34px;left:-35.88px;top:-31.74px}}@media(max-width:420px){.header{padding-left:10px;padding-right:10px}.header-book{max-width:64px;margin-right:10px}.menu{padding-left:8px;padding-right:8px}}@media(max-width:360px){.header-book{max-width:56px;margin-right:6px;font-size:.625rem}.menu{font-size:.75rem;padding-left:6px;padding-right:6px}}
