/* ON TIME G1 — mobile-first homepage. Functional review and service-flow styles remain in their own files. */
:root{--ink:#283038;--paper:#f7f7f5;--green:#284234;--gold:#b89562;--line:#d8d5ce;--muted:#5d6565;--serif:Georgia,Cambria,"Times New Roman",serif;--sans:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;--space:clamp(1.1rem,4vw,4rem);--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 var(--sans)}a{color:inherit}.shell{width:min(calc(100% - 2 * var(--space)),var(--max));margin-inline:auto}.skip{position:absolute;left:-999px;top:.75rem;z-index:20;background:#fff;padding:.7rem}.skip:focus{left:.75rem}:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
:where([data-service-cta],[data-service-area])[hidden]{display:none!important}
.header{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:.75rem;min-height:64px;padding:0 var(--space);border-bottom:1px solid var(--line);background:#f7f7f5ee;backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:.55rem;text-decoration:none;font-size:.78rem;font-weight:700;letter-spacing:.12em}.brand span{display:grid;place-items:center;width:29px;height:29px;border:1px solid currentColor;border-radius:50%;font-size:.6rem;letter-spacing:0}.header nav{display:none}.header nav.open{display:flex;position:absolute;top:100%;right:0;left:0;flex-direction:column;padding:.4rem var(--space) 1rem;border-bottom:1px solid var(--line);background:var(--paper)}.header nav a{padding:.7rem 0;text-decoration:none;font-size:.76rem;letter-spacing:.08em;text-transform:uppercase}.menu{margin-left:auto;border:0;background:transparent;color:inherit;font:inherit;font-size:.95rem;cursor:pointer}.language-switch{display:flex;gap:.35rem}.language-switch button{display:grid;place-items:center;min-width:38px;min-height:38px;padding:.3rem;border:1px solid var(--line);background:transparent;cursor:pointer}.language-switch button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink)}.header-cta{display:none}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:1.25rem;min-height:46px;padding:.75rem 1rem;border:1px solid var(--ink);background:transparent;text-decoration:none;font-size:.7rem;font-weight:700;letter-spacing:.075em;text-transform:uppercase;transition:transform .2s ease,background .2s ease,color .2s ease}.button:hover{transform:translateY(-1px);background:var(--ink);color:var(--paper)}.button.dark{background:var(--ink);color:var(--paper)}.button.dark:hover{border-color:var(--gold);background:var(--gold);color:var(--ink)}
.hero{overflow:hidden;background:var(--ink);color:var(--paper)}.hero-grid{display:grid;gap:0}.hero-copy{position:relative;z-index:1;padding:clamp(2.4rem,8vw,5rem) 0 2rem}.hero-logo{display:block;width:min(100%,330px);height:auto;margin:0 0 1.3rem;mix-blend-mode:screen}.eyebrow{margin:0 0 .8rem;color:var(--gold);font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.hero h1,.intro h2,.services h2,.process h2,.craft h2,.warranty h2,.reviews h2,.locations h2,.social h2,.contact h2{margin:.2rem 0 1rem;font-family:var(--serif);font-weight:400;line-height:1.04;letter-spacing:-.04em}.hero h1{max-width:11ch;font-size:clamp(2.8rem,13vw,5.7rem)}.hero h1 em{color:#fff;font-style:italic}.lead{max-width:39ch;margin:0;color:#e2e3de;font-size:1rem}.hero-specialties{display:flex;flex-wrap:wrap;gap:.45rem;margin:1.4rem 0 0;padding:0;list-style:none}.hero-specialties li{padding:.36rem .55rem;border:1px solid #ffffff3b;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.6rem}.hero-image{position:relative;min-height:300px;margin:0;overflow:hidden;background:#18221d}.image{position:relative;display:grid;overflow:hidden;margin:0;background:#27312d;color:#fff}.image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.image span{position:relative;z-index:1;align-self:end;padding:1rem;background:#0008;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}.hero-image img{object-position:50% 49%}.hero-image:after{position:absolute;inset:0;content:"";background:linear-gradient(180deg,transparent 55%,#10171470)}
.intro,.process,.craft,.reviews,.social,.contact{padding-block:clamp(3.8rem,10vw,8rem)}.intro{display:grid;gap:1.3rem;border-bottom:1px solid var(--line)}.intro h2,.services h2,.process h2,.craft h2,.warranty h2,.reviews h2,.locations h2,.social h2,.contact h2{max-width:14ch;font-size:clamp(2rem,9vw,4.6rem)}.intro>p{max-width:42ch;margin:0;font-size:1.1rem;color:var(--muted)}.services,.locations{background:var(--ink);color:var(--paper)}.services{padding-block:clamp(4rem,11vw,8rem)}.services .eyebrow,.locations .eyebrow{color:var(--gold)}.section-heading{display:grid;gap:1.2rem;align-items:end}.underlined{width:max-content;text-underline-offset:5px;font-size:.78rem}.cards{display:grid;margin-top:2rem;border-top:1px solid #ffffff38}.cards article{min-height:180px;padding:1.35rem 0;border-bottom:1px solid #ffffff38}.cards span,.steps span{color:var(--gold);font-size:.7rem;font-weight:700;letter-spacing:.1em}.cards h3{margin:1.8rem 0 .5rem;font-family:var(--serif);font-size:1.65rem;font-weight:400}.cards p{margin:0;color:#d8ddd9;font-size:.9rem}.cards a{display:inline-block;margin-top:1rem;font-size:.72rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.process{display:grid;gap:2rem}.process-copy>p:not(.eyebrow){max-width:43ch;color:var(--muted)}.process-image{min-height:390px;aspect-ratio:4/5}.process-image img{object-position:50% 53%}.steps{display:grid;gap:0;margin:2rem 0 0;padding:0;list-style:none;border-top:1px solid var(--line)}.steps li{display:grid;grid-template-columns:2.8rem 1fr;gap:.75rem;padding:1rem 0;border-bottom:1px solid var(--line)}.steps h3{margin:0 0 .25rem;font-family:var(--serif);font-size:1.25rem;font-weight:400}.steps p{margin:0;color:var(--muted);font-size:.86rem}.craft{display:grid;gap:2rem;border-top:1px solid var(--line)}.image.tall{min-height:440px;aspect-ratio:4/5}.image.tall img{object-position:31% 50%}.craft>div{align-self:center}.craft p:not(.eyebrow){max-width:42ch;color:var(--muted)}.warranty{display:grid;gap:1.5rem;margin-block:clamp(2.5rem,8vw,6rem);padding:clamp(1.5rem,6vw,4rem);background:var(--gold);border-left:3px solid var(--ink)}.warranty .eyebrow{color:var(--ink)}.warranty h2{margin-bottom:.7rem}.warranty p{margin:0;max-width:55ch}.reviews{border-top:1px solid var(--line)}.reviews-heading{display:grid;gap:1.4rem;margin-bottom:2rem}.reviews-note{color:var(--muted)}.locations{padding-block:clamp(4rem,10vw,8rem)}.location-grid{display:grid;margin-top:2rem;border-top:1px solid #ffffff38}.location-grid article{padding:1.2rem 0;border-bottom:1px solid #ffffff38}.location-grid p{margin:0;color:var(--gold);font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.location-grid h3{margin:.4rem 0 .8rem;font-family:var(--serif);font-size:1.7rem;font-weight:400}.location-grid small{color:#d9dfda}.social{display:grid;gap:2rem;border-bottom:1px solid var(--line)}.social-links{display:grid;border-top:1px solid var(--line)}.social-link{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:64px;padding:.8rem 0;border-bottom:1px solid var(--line);font-size:.8rem;font-weight:700;letter-spacing:.08em;text-decoration:none;text-transform:uppercase}.social-link small{max-width:26ch;color:var(--muted);font-size:.68rem;font-weight:400;letter-spacing:0;text-align:right;text-transform:none}.contact{display:grid;gap:2rem}.contact>div>p:not(.eyebrow){max-width:43ch;color:var(--muted)}.details{margin-top:1.4rem}.contact-cta{display:grid;align-content:start;gap:1.1rem;padding:1.5rem;background:#eeeae2}.contact-cta p{margin:0}.contact-note{font-size:.82rem}.footer{display:grid;gap:1rem;padding-block:2rem;background:var(--ink);color:var(--paper);width:100%;padding-inline:var(--space);font-size:.8rem}.footer p{margin:0}.footer .brand{color:#fff}
@media(min-width:721px){.header{min-height:70px}.menu{display:none}.header nav{display:flex;gap:clamp(.8rem,2.2vw,2rem);margin-left:auto}.header nav a{padding:.4rem 0;font-size:.65rem}.language-switch{margin-left:.5rem}.header-cta{display:inline-flex;margin-left:.4rem;min-height:38px;padding:.55rem .7rem;border:1px solid var(--ink);font-size:.62rem;font-weight:700;letter-spacing:.07em;text-decoration:none;text-transform:uppercase}.hero-grid{grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);min-height:calc(100svh - 70px)}.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:4rem 0 4rem}.hero-image{min-height:100%;margin-right:calc((100vw - min(100vw - 2 * var(--space),var(--max)))/-2)}.intro{grid-template-columns:1.15fr .85fr;align-items:end;gap:5rem}.section-heading{grid-template-columns:1fr auto}.cards{grid-template-columns:repeat(3,1fr)}.cards article{min-height:260px;padding:1.5rem;border-right:1px solid #ffffff38}.cards article:nth-child(3n){border-right:0}.cards h3{margin-top:4rem}.process{grid-template-columns:1fr minmax(270px,.7fr);align-items:start}.process-image{position:sticky;top:6rem}.craft{grid-template-columns:minmax(280px,.72fr) 1fr;gap:clamp(3rem,10vw,10rem);align-items:center}.warranty{grid-template-columns:1fr auto;align-items:end}.reviews-heading{grid-template-columns:1fr auto;align-items:start}.location-grid{grid-template-columns:1fr 1fr 1.25fr}.location-grid article{min-height:190px;padding:1.5rem 0;border-right:1px solid #ffffff38}.location-grid article:not(:first-child){padding-left:1.5rem}.location-grid article:last-child{border-right:0}.social{grid-template-columns:1fr 1fr;align-items:end;gap:6rem}.contact{grid-template-columns:1.1fr .9fr;gap:clamp(3rem,10vw,10rem)}.footer{grid-template-columns:1fr 2fr 1fr;align-items:center}.footer p:last-child{text-align:right}}
@media(min-width:1200px){.hero h1{font-size:clamp(4rem,5vw,5.8rem)}.cards article{padding:2rem}.social-link{min-height:78px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
/* Intrinsic image dimensions must never set a minimum width inside the mobile grid. */
.image,.image span{min-width:0}.image{width:100%}
/* Keep the tablet breakpoint inside its scrollbar-reduced viewport. */
@media(min-width:721px){.hero-image{margin-right:0}}
.contact-form{display:grid;gap:.65rem;padding:1.5rem;border-top:1px solid var(--line);background:#efede7}.contact-form>div{margin-bottom:.4rem}.contact-form>div p:last-child{margin:0;color:var(--muted);font-size:.9rem}.contact-form label{font-size:.8rem;font-weight:650}.contact-form input,.contact-form textarea{width:100%;border:0;border-bottom:1px solid var(--ink);padding:.65rem 0;background:transparent;color:inherit;font:inherit}.contact-form textarea{resize:vertical}.contact-form .button{justify-self:start}.status{min-height:1.5rem;margin:0;font-size:.85rem}@media(min-width:721px){.contact-form{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:.8rem 1.6rem}.contact-form>div{grid-column:1/-1}.contact-form .button,.contact-form .status{grid-column:1/-1}}.details a{overflow-wrap:anywhere;word-break:break-word}
