:root{font-family:Arial,Helvetica,sans-serif;color:#26292c;background:#fff;font-synthesis:none;--red:#c61721;--ink:#24282c}*{box-sizing:border-box}body{margin:0;min-height:100svh;display:grid;grid-template-rows:88px minmax(540px,1fr) 62px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid var(--red);outline-offset:6px}button:hover,a:hover{color:var(--red)}.skip{position:fixed;top:-100px;left:20px;padding:12px;background:#fff;z-index:20}.skip:focus{top:12px}
.site-header{display:flex;align-items:center;justify-content:space-between;padding:8px 4.2%;background:#fff;z-index:2;border-bottom:1px solid #ddd}.brand{display:block;width:218px;line-height:0}.brand img{width:100%;height:auto;clip-path:inset(0 0 0 .7%)}.site-header nav{display:flex;align-items:center;gap:clamp(20px,3.4vw,58px);font-size:11px;letter-spacing:1.8px;text-transform:uppercase;font-weight:700}.site-header nav button{text-transform:inherit;letter-spacing:inherit;padding:14px 0}.header-phone{font-size:15px;letter-spacing:1px;border-left:1px solid #ddd;padding-left:34px}.header-phone span{margin-left:12px;color:var(--red)}
.homepage{position:relative;isolation:isolate;overflow:hidden;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:space-between}.entrance-image{position:absolute;inset:0;z-index:-3;width:100%;height:100%;object-fit:cover;object-position:center 54%}.scene-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(to bottom,rgba(255,255,255,.88) 0%,rgba(255,255,255,.65) 13%,rgba(255,255,255,0) 37%,transparent 62%,rgba(14,18,21,.1) 73%,rgba(14,18,21,.7) 100%)}.headline{text-align:center;padding:26px 24px 0;text-shadow:0 1px 16px #ffffff80}.eyebrow{font-size:10px;font-weight:700;letter-spacing:3.2px;color:var(--red);line-height:1.5;margin:0 0 7px}.eyebrow span{padding:0 7px}h1{font-size:clamp(35px,4vw,68px);letter-spacing:-2.2px;line-height:1.07;font-weight:600;margin:0}h1 em{font-style:normal;color:var(--red)}.intro{margin:11px 0 0;font-size:14px;letter-spacing:.4px}.welcome{width:100%;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:28px 4.2% 27px;color:#fff}.welcome>p{font-size:21px;line-height:1.32;font-weight:400;letter-spacing:-.3px;margin:0;text-shadow:0 1px 12px #111}.welcome strong{font-weight:600}.actions{display:flex;gap:13px}.button{height:50px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;gap:30px;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;font-weight:700;padding:0 24px;transition:background .18s,color .18s}.button.primary{color:#fff;background:var(--red);border:1px solid var(--red)}.button.primary:hover{background:#a60f18;border-color:#a60f18}.button.secondary{border:1px solid #ffffffaa;color:#fff;background:#13191b50;backdrop-filter:blur(4px);gap:12px}.button.secondary:hover{background:#fff;color:var(--ink)}.button .play{font-size:10px}footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 4.2%;font-size:10px;letter-spacing:1.6px;border-top:3px solid var(--red);font-weight:700}footer button{display:inline-flex;gap:11px;align-items:center;font-size:10px;letter-spacing:1.5px;padding:12px 0}.location-dot{width:6px;height:6px;border-radius:50%;background:var(--red)}.domain{font-size:16px;font-weight:700;letter-spacing:-.3px}
 dialog{border:0;color:var(--ink);max-width:calc(100% - 32px);box-shadow:0 24px 100px #0005}dialog::backdrop{background:#14181cbb;backdrop-filter:blur(5px)}.close-dialog{width:40px;height:40px;border:1px solid #d9dcdd;border-radius:50%;font-size:27px;line-height:1;display:grid;place-items:center}.close-dialog:hover{background:#f5f5f5}#contact-dialog{width:530px;padding:46px;border-top:4px solid var(--red)}#contact-dialog>.close-dialog{position:absolute;top:16px;right:16px}#contact-dialog>.eyebrow{padding-right:35px;margin-bottom:23px;font-size:9px;letter-spacing:2px}h2{font-size:36px;line-height:1.08;letter-spacing:-1px;margin:0}.dialog-lead{font-size:15px;line-height:1.6;color:#5b6063;margin:18px 0 26px}.contact-phone{font-size:32px;letter-spacing:-1px;font-weight:700;color:var(--red)}.contact-phone span{font-size:20px;margin-left:12px}.contact-links{display:flex;gap:26px;font-size:13px;margin:20px 0 28px}.contact-links a{border-bottom:1px solid #ddd;padding-bottom:6px}address{border-top:1px solid #ddd;padding-top:24px;font-style:normal;line-height:1.7;font-size:14px}.directions{display:inline-flex;gap:28px;margin-top:15px;font-size:13px;font-weight:700}.directions span{color:var(--red)}#video-dialog{width:1100px;padding:0;background:#14181c;color:#fff}.video-toolbar{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;font-size:14px}.video-toolbar .close-dialog{border-color:#666;color:#fff}.video-toolbar .close-dialog:hover{background:#363a3c}video{display:block;width:100%;max-height:80svh}
@media(min-width:900px) and (min-height:690px){body{height:100svh;grid-template-rows:88px minmax(0,1fr) 62px}}@media(min-width:1600px){.headline{padding-top:30px}.welcome{padding-bottom:32px}.welcome>p{font-size:25px}.button{height:54px;padding:0 32px}.intro{font-size:16px}}
@media(max-width:899px){body{grid-template-rows:78px minmax(0,1fr) 76px;height:100svh;min-height:700px}.site-header{padding:8px 22px}.brand{width:185px}.site-header nav{gap:25px}.header-phone{border:0;padding:0;font-size:13px;letter-spacing:0}.header-phone span{display:none}.site-header nav>button{display:none}.homepage{justify-content:flex-start;background:#f0efed}.entrance-image{position:relative;z-index:-1;inset:auto;order:2;object-fit:contain;object-position:center;width:100%;height:auto;max-height:calc(100% - 250px);flex:1;min-height:0;background:#e7e5e1}.scene-shade{display:none}.headline{padding:28px 16px 22px;order:1;background:#fff;width:100%}h1{font-size:clamp(34px,6.1vw,50px);letter-spacing:-1.4px}.eyebrow{font-size:9px;letter-spacing:1.7px}.eyebrow span{padding:0 4px}.intro{font-size:13px;margin-top:10px}.welcome{order:3;background:#fff;color:var(--ink);padding:22px;flex-direction:column;gap:16px;text-align:center}.welcome>p{text-shadow:none;font-size:18px}.welcome>p br{display:none}.welcome strong{display:block}.actions{gap:10px;width:100%;justify-content:center}.button{height:46px;font-size:10px;padding:0 18px;letter-spacing:1px;gap:18px}.button.secondary{color:var(--ink);border:1px solid #b6b9ba;background:#fff;backdrop-filter:none;gap:8px}.button.secondary:hover{background:#eee}footer{padding:12px 22px;display:grid;grid-template-columns:1fr auto;gap:8px;font-size:8px;letter-spacing:1px}footer button{padding:0;gap:7px;font-size:8px;letter-spacing:.7px;justify-self:end}.domain{grid-column:1/-1;justify-self:center;font-size:13px}.service-line{font-size:8px;letter-spacing:.6px}}
@media(max-width:420px){.brand{width:170px}.site-header{padding:8px 16px}.header-phone{font-size:12px}.eyebrow{font-size:8px;letter-spacing:1.5px}.headline{padding-top:23px;padding-bottom:20px}.intro{font-size:11px}.welcome{padding:19px 14px}.button{font-size:9px;padding:0 13px;gap:13px}.welcome>p{font-size:17px}footer{padding:12px 14px}.contact-phone{font-size:28px}#contact-dialog{padding:38px 26px}h2{font-size:31px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
@media(max-width:899px){body{height:auto;min-height:100svh;grid-template-rows:78px auto 76px}.homepage{background:#fff;justify-content:center}.entrance-image{flex:none;max-height:none;height:auto;background:#fff}.welcome{padding-top:25px;padding-bottom:25px}}
@media(max-width:899px){body{min-height:0}.homepage{justify-content:flex-start}}

/* Final polish: a single viewport on desktop, including shorter Safari windows. */
@media(min-width:900px){body{height:100svh;min-height:0;grid-template-rows:clamp(68px,12.2svh,88px) minmax(0,1fr) clamp(44px,8.6svh,62px)}.brand{max-width:218px;width:clamp(180px,30svh,218px)}.button.primary{box-shadow:0 4px 18px #65080c20}.site-header nav button{position:relative}.site-header nav button:after{content:"";position:absolute;bottom:7px;left:0;right:0;height:1px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .18s}.site-header nav button:hover:after{transform:scaleX(1)}}
@media(min-width:900px) and (max-height:650px){.headline{padding-top:15px}h1{font-size:44px}.eyebrow{font-size:9px;margin-bottom:5px}.intro{font-size:12px;margin-top:8px}.welcome{padding-top:16px;padding-bottom:18px}.welcome>p{font-size:18px}.button{height:44px}}

/* Keep the two actions in their established position after removing the lower caption. */
.welcome{justify-content:flex-end}
@media(max-width:899px){footer{display:flex;justify-content:space-between;flex-wrap:wrap}.domain{margin-left:auto}}

.affordability{margin:14px 0 0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:28px;font-weight:700;letter-spacing:2.2px;line-height:1.4}
.affordability span{color:var(--red)}
@media(max-width:899px){.affordability{font-size:24px;letter-spacing:1.8px;margin-top:12px}}

/* Larger desktop labels, with the established page layout retained. */
@media(min-width:900px){
  body:not(.phone-layout) .site-header nav{font-size:15px}
  body:not(.phone-layout) .header-phone{font-size:20px}
  body:not(.phone-layout) .button{font-size:15px}
  body:not(.phone-layout) .button .play{font-size:13px}
  body:not(.phone-layout) .service-line{font-size:14px}
  body:not(.phone-layout) .domain{font-size:20px}
}

.site-header nav .nav-link{padding:14px 0}@media(max-width:899px){.site-header nav .nav-link{display:none}}

/* Fullscreen workshop player, keeping the return control visible at every size. */
body:has(#video-dialog[open]){overflow:hidden}
dialog#video-dialog{position:fixed;inset:0;margin:0;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;padding:0;border:0;overflow:hidden;background:#080a0c}
#video-dialog .video-surface{display:grid;grid-template-rows:auto minmax(0,1fr);width:100%;height:100%;background:#080a0c;color:#fff}
#video-dialog .video-surface:fullscreen{width:100vw;height:100dvh}
#video-dialog .video-surface:-webkit-full-screen{width:100vw;height:100vh}
#video-dialog .video-toolbar{gap:16px;padding:12px max(20px,env(safe-area-inset-right)) 12px max(20px,env(safe-area-inset-left));padding-top:max(12px,env(safe-area-inset-top));font-size:16px;background:#14181c}
#video-dialog .close-dialog{display:flex;align-items:center;justify-content:center;gap:10px;flex-shrink:0;width:auto;height:auto;min-height:44px;padding:10px 16px;border:1px solid #fff;border-radius:6px;background:#fff;color:#202428;font-size:15px;line-height:1.2;font-weight:700}
#video-dialog .close-dialog span{font-size:26px;line-height:20px}
#video-dialog .close-dialog:hover{background:#e9eaeb;color:#202428}
#video-dialog video{width:100%;height:100%;min-height:0;max-height:none;object-fit:contain;background:#080a0c;padding-bottom:env(safe-area-inset-bottom)}
@media(max-width:540px){#video-dialog .video-toolbar{gap:10px;padding-inline:12px;font-size:13px}#video-dialog .close-dialog{gap:7px;padding:10px;font-size:12px}}
