@font-face{font-family:Lato;src:url('assets/Lato-Regular.ttf');font-display:swap}@font-face{font-family:Lato;src:url('assets/Lato-Bold.ttf');font-weight:700;font-display:swap}
:root{--bg:#101112;--panel:#1b1e21;--ink:#f7f6f3;--muted:#b7bbbf;--orange:#ffad32;--line:#34383c}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px;scrollbar-color:#686b6d #151719}body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.6 Lato,Arial,sans-serif}a{color:inherit;text-underline-offset:5px}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:5px}::selection{background:var(--orange);color:#111}[hidden]{display:none!important}h1,h2,h3,p,figure{margin:0}h1,h2{letter-spacing:-.035em;line-height:1.04;text-wrap:balance}h2{font-size:clamp(36px,4.6vw,62px)}h2 span{color:#91979c}p{color:var(--muted);max-width:65ch}svg{width:22px;height:22px;display:block;flex-shrink:0}i{display:inline-flex;font-style:normal;flex-shrink:0}.skip{position:fixed;top:-80px;left:20px;background:var(--orange);color:#111;padding:12px;z-index:99}.skip:focus{top:8px}.logo{width:156px;display:block;filter:url(#brand-on-dark)}
header{height:86px;padding:0 4vw;display:flex;align-items:center;gap:32px;background:#101112f5;position:sticky;top:0;z-index:20;border-bottom:1px solid #ffffff12}nav{display:flex;gap:30px;margin:auto}nav a{font-size:14px;color:#d7dadd;text-decoration:none}nav a:hover{color:var(--orange)}.portal{display:flex;gap:15px;align-items:center;text-decoration:none;font-size:14px}.portal svg{width:18px}.section{padding:100px max(5vw,24px);max-width:1500px;margin:auto}
.hero{min-height:650px;height:calc(100svh - 86px);max-height:950px;position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center}.hero-art{position:absolute;inset:0;z-index:-1;background:#101112}.hero-art img{position:absolute;width:65%;height:100%;right:0;object-fit:cover;object-position:50% 35%;filter:saturate(.65) brightness(.74)}.hero-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#101112 3%,#101112f7 22%,#101112c9 40%,#10111224 70%),linear-gradient(0deg,#101112 0%,transparent 35%)}.hero-content{padding:20px 5vw 80px;max-width:850px}.hero h1{font-size:clamp(52px,6.7vw,94px);font-weight:700}.hero h1 span{color:var(--orange)}.hero p{font-size:19px;line-height:1.6;margin-top:25px;max-width:470px;color:#d6d8da}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:54px;padding:14px 23px;text-decoration:none;font-weight:700;border-radius:9px;font-size:15px;transition:background .2s,transform .2s}.orange{background:var(--orange);color:#141414}.orange:hover{background:#ffc36b}.outline{border:1px solid #697077;background:#14171990}.outline:hover{background:#30363c}.button:active{transform:scale(.98)}.hero-bottom{position:absolute;bottom:24px;left:5vw;right:5vw;display:flex;justify-content:space-between;gap:24px;border-top:1px solid #ffffff2e;padding-top:24px;color:#aeb4ba;font-size:12px}.hero-bottom a{text-decoration:none;color:#eee}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:40px}.section-heading>p{font-size:17px;line-height:1.7}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.service-card{height:350px;border:0;padding:0;position:relative;overflow:hidden;text-align:left;border-radius:14px;background:#202427}.service-card img{width:100%;height:100%;object-fit:cover;filter:saturate(.6) brightness(.7);transition:transform .55s cubic-bezier(.16,1,.3,1),filter .4s}.card-0 img{object-position:50% 62%}.card-1 img{object-position:82% 30%;transform:scale(1.7)}.card-2 img{object-position:0% 35%;transform:scale(1.5)}.card-3 img{object-position:50% 15%;transform:scale(1.4)}.service-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#101214 0%,#101214b0 25%,transparent 70%)}.service-card:hover img{transform:scale(1.07);filter:saturate(.9) brightness(.85)}.card-1:hover img{transform:scale(1.8)}.card-2:hover img{transform:scale(1.6)}.card-3:hover img{transform:scale(1.5)}.card-copy{position:absolute;bottom:28px;left:24px;right:22px;z-index:1}.card-copy small{font-size:12px;color:#d7dbdf;display:block;line-height:1.5;margin-bottom:7px}.card-copy strong{display:block;font-size:26px;line-height:1.2}.round{position:absolute;right:16px;top:16px;border-radius:50%;width:36px;height:36px;display:grid;place-items:center;background:#13171be0;z-index:2}.service-card[aria-expanded=true]{outline:2px solid var(--orange);outline-offset:3px}.service-card[aria-expanded=true] .round{background:var(--orange);color:#111;transform:rotate(45deg)}#service-detail{display:flex;gap:30px;align-items:center;padding:28px;margin-top:24px;background:#252b30;border-radius:12px}#service-detail p{font-size:16px;margin-top:8px}#service-detail .button{flex-shrink:0}.close-detail{padding:8px;border:0;background:transparent}.close-detail svg{transform:rotate(45deg)}.services-foot{display:flex;justify-content:center;gap:12px;margin-top:30px;font-size:15px}.services-foot a{display:flex;gap:12px;align-items:center;color:var(--orange);text-decoration:none}
.tech-scene{height:210vh;background:#eae8e2;color:#191d21}.tech-sticky{position:sticky;top:86px;min-height:calc(100svh - 86px);display:grid;grid-template-columns:1fr 1fr;align-items:center;overflow:hidden}.tech-photo{height:calc(100svh - 86px);min-height:610px;overflow:hidden}.tech-photo img{width:100%;height:100%;object-fit:cover;object-position:30% 40%;filter:saturate(.65)}.tech-content{padding:45px 5vw}.tech-content h2{font-size:clamp(42px,4.7vw,66px)}.tech-content h2 span{color:#925000}.tech-intro{font-size:20px;line-height:1.5;margin-top:20px;color:#555c62}.step-buttons{display:flex;gap:5px;border-bottom:1px solid #c8c7c0;margin-top:30px}.step-buttons button{font-size:14px;background:none;border:0;border-bottom:3px solid transparent;padding:12px 10px;color:#60676c}.step-buttons button[aria-pressed=true]{border-color:#ae6200;color:#161b20;font-weight:700}.step-panel{min-height:157px;padding:23px 0}.step-panel h3{font-size:22px;line-height:1.3}.step-panel p{color:#51595f;font-size:16px;margin-top:10px}.tech-note{font-size:12px;color:#656c70;margin-top:15px}
.care{display:grid;grid-template-columns:1.1fr 1fr;gap:10vw;border-bottom:1px solid var(--line)}.care>div>p{margin-top:24px}.care-items article{padding:25px 0;border-bottom:1px solid var(--line)}.care-items article:first-child{padding-top:0}.care-items article:last-child{border:0;padding-bottom:0}.care-items h3{font-size:23px}.care-items p{margin-top:10px;font-size:16px}.story{display:grid;grid-template-columns:1fr 1fr;gap:9vw}.story h2{font-size:clamp(38px,4.8vw,68px)}.text-button{display:inline-flex;align-items:center;gap:24px;font-size:16px;border:0;background:none;color:var(--orange);padding:12px 0;text-decoration:none;margin-top:28px}.story-image{height:300px;overflow:hidden;border-radius:12px}.story-image img{height:100%;width:100%;object-fit:cover;object-position:50% 25%;filter:saturate(.55)}blockquote{margin:26px 0 0;font-size:27px;line-height:1.35}cite{font-style:normal;color:var(--muted);font-size:13px;display:block;margin-top:19px}#story-more p{margin-top:20px;font-size:16px}.story-toggle[aria-expanded=true] svg{transform:rotate(45deg)}
.location{background:#171a1c;max-width:none}.location>.section-heading,.location-grid{max-width:1350px;margin-left:auto;margin-right:auto}.location-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:24px}.location-photo{position:relative;border-radius:14px;overflow:hidden;min-height:520px}.location-photo>img{height:100%;width:100%;position:absolute;object-fit:cover;object-position:center 60%}.photo-caption{position:absolute;bottom:0;padding:45px 28px 28px;background:linear-gradient(transparent,#000e);width:100%;display:flex;flex-direction:column}.photo-caption strong{font-size:25px}.photo-caption span{font-size:14px;color:#e4e5e7}.map-panel{background:#202427;border-radius:14px;padding:24px}.map-tabs{display:flex;gap:10px}.map-tabs button{padding:9px 16px;background:transparent;border:1px solid #5b6267;border-radius:7px;font-size:14px}.map-tabs button[aria-pressed=true]{background:#e5e8ea;color:#14181a;border-color:#e5e8ea}#croquis>svg{width:100%;height:auto;margin-top:16px}.map-note{font-size:11px;color:#b6bcc1;margin-bottom:10px}.location-info{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #41464b;padding-top:20px;gap:14px}.location-info p{font-size:13px}.location-info strong,.location-info small{display:block}.location-info strong{font-size:16px;color:#fff;margin:4px 0}.location-info .button{font-size:14px;padding:12px 16px;gap:12px}#ruta{min-height:325px;padding:40px 12px}#ruta h3{font-size:27px}#ruta p{margin-top:20px}
.faq{display:grid;grid-template-columns:1fr 1fr;gap:7vw}.faq h2{font-size:clamp(34px,3.6vw,50px)}details{border-bottom:1px solid var(--line)}summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;cursor:pointer;padding:23px 0;font-size:17px}summary::-webkit-details-marker{display:none}details[open] summary{color:var(--orange)}details[open] summary svg{transform:rotate(45deg)}details p{font-size:15px;padding:0 30px 24px 0}.contact-end{text-align:center;border-top:1px solid var(--line);padding-top:80px;padding-bottom:90px}.contact-end h2{font-size:clamp(37px,5.2vw,72px)}.contact-end h2 span{color:var(--orange)}.contact-end .button{margin-top:36px}.call{display:block;margin-top:22px;font-size:14px;color:var(--muted)}footer{padding:32px 5vw 45px;border-top:1px solid var(--line);display:flex;align-items:center;gap:30px}footer p{font-size:12px}footer>a:last-child{margin-left:auto;display:flex;align-items:center;gap:15px;font-size:13px;text-decoration:none}.contact-float{position:fixed;bottom:24px;right:24px;z-index:15;width:52px;height:52px;display:grid;place-items:center;border-radius:50%;background:var(--orange);color:#181b1d;box-shadow:0 8px 22px #0005}.contact-float svg{width:27px;height:27px}
@media(min-width:801px) and (prefers-reduced-motion:no-preference){.hero-content{animation:hero-in .8s cubic-bezier(.16,1,.3,1) both}@keyframes hero-in{from{transform:translateY(16px);opacity:.55}to{transform:none;opacity:1}}}
@media(max-width:1050px){header{gap:20px}nav{gap:20px}.service-grid{grid-template-columns:repeat(2,1fr)}.service-card{height:330px}.tech-content{padding:30px}.tech-content h2{font-size:44px}.location-info{align-items:start;flex-direction:column}.hero-bottom>span:nth-child(2){display:none}#service-detail{flex-wrap:wrap}.step-panel{min-height:185px}}
@media(max-width:800px){html{scroll-padding-top:118px}header{height:auto;min-height:110px;padding:16px 22px;flex-wrap:wrap;gap:14px}.logo{width:135px}.portal{margin-left:auto;font-size:13px}nav{order:3;justify-content:space-between;width:100%;gap:12px}nav a{font-size:13px;padding:3px 0}.hero{height:auto;min-height:720px;align-items:flex-start}.hero-art img{width:100%;height:100%;object-position:70% 50%;filter:brightness(.5) saturate(.6)}.hero-art:after{background:linear-gradient(90deg,#101112db,#10111245),linear-gradient(0deg,#101112 0%,transparent 60%)}.hero-content{padding:62px 24px 130px}.hero h1{font-size:clamp(45px,11vw,68px)}.hero p{font-size:17px;max-width:350px;margin-top:26px}.actions{gap:12px;flex-direction:column;align-items:start}.hero-bottom{left:24px;right:24px;bottom:25px;font-size:11px;gap:14px}.section{padding:64px 24px}.section-heading{display:block;margin-bottom:30px}.section-heading p{margin-top:22px;font-size:16px}.service-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:5px 3px 20px;gap:14px}.service-card{flex:0 0 83%;scroll-snap-align:start;height:355px}.card-copy strong{font-size:30px}.services-foot{align-items:center;flex-direction:column;font-size:14px;gap:6px}#service-detail{padding:22px;position:relative;padding-top:40px}#service-detail .close-detail{position:absolute;right:8px;top:8px}.tech-scene{height:auto}.tech-sticky{position:relative;top:auto;min-height:0;display:flex;flex-direction:column}.tech-photo{min-height:0;height:310px;width:100%;order:2}.tech-photo img{object-position:50% 38%}.tech-content{padding:54px 24px 40px;width:100%}.tech-content h2{font-size:47px}.step-panel{min-height:190px}.step-buttons{justify-content:space-between}.step-buttons button{padding:12px 8px;font-size:13px}.tech-note{display:none}.care,.story,.faq{grid-template-columns:1fr;gap:38px}.care-items h3{font-size:23px}.story h2{font-size:46px}.story-image{height:260px}.story blockquote{font-size:24px}.location-grid{grid-template-columns:1fr;gap:20px}.location-photo{min-height:350px}.map-panel{padding:16px}.location-info{flex-direction:row;flex-wrap:wrap}.location-info .button{width:100%}.map-tabs button{font-size:13px}.faq .text-button{margin-top:16px}.questions summary{font-size:16px}footer{flex-wrap:wrap;padding:25px 24px 85px;gap:20px}footer p{width:100%;order:3}footer>a:last-child{margin:0}.contact-float{right:18px;bottom:18px;width:48px;height:48px}#ruta{min-height:270px}.contact-end{padding-top:60px;padding-bottom:65px}}
@media(min-width:801px) and (max-height:820px){.tech-scene{height:auto}.tech-sticky{position:relative;top:0}.tech-note{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}.tech-scene{height:auto}.tech-sticky{position:relative;top:0}}

/* Brand accents and supporting visual details, refinement 2026-10-14. */
.portal{color:var(--orange);border:1px solid #ffad3259;background:#ffad3210;border-radius:8px;padding:10px 15px;font-weight:700;transition:background .2s}.portal:hover{background:#ffad3226}nav a:hover{color:var(--orange)}
.card-0 img{object-position:100% 50%;filter:saturate(.85) brightness(.8)}.card-1 img{object-position:17% 50%;transform:none;filter:saturate(.85) brightness(.8)}.card-1:hover img{transform:scale(1.07)}
.care{grid-template-columns:.85fr 1.15fr;gap:7vw}.care-items article{display:grid;grid-template-columns:110px 1fr;gap:22px;align-items:center}.care-visual{height:110px;width:110px;border-radius:12px;overflow:hidden;background:#2d261c;color:var(--orange);display:grid;place-items:center}.care-visual>svg{height:80px;width:80px}.care-visual img{width:100%;height:100%;object-fit:cover}.care-items article:nth-child(2) img{object-position:50% 55%}.care-items h3{font-size:22px}.care-items p{margin-top:8px}.section-heading h2 span,.care h2 span{color:#b9a488}
@media(max-width:800px){.portal{padding:9px 12px;gap:10px}.care{grid-template-columns:1fr;gap:32px}.care-items article{grid-template-columns:78px 1fr;gap:16px;align-items:start}.care-visual{width:78px;height:88px}.care-visual>svg{width:62px;height:62px}.care-items h3{font-size:21px}.care-items p{font-size:15px}}

/* Owner-provided workshop photography and films. */
.card-0 img,.card-1 img,.card-2 img,.card-3 img{transform:none;object-position:50% 50%;filter:saturate(.8) brightness(.8)}.service-card:hover img{transform:scale(1.04)}.card-1 img{object-position:50% 42%}.tech-photo img{object-position:50% 50%}.story-image img{object-position:50% 40%}.location-photo>img{object-position:50% 50%}.care-visual img{object-position:50% 46%}.care-items article:nth-child(2) img{object-position:50% 50%}
.work-films{border-bottom:1px solid var(--line)}.film-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.film-grid video{display:block;width:100%;aspect-ratio:9/14;object-fit:cover;background:#202427;border-radius:14px}.film-grid figcaption{padding:22px 0 0}.film-grid h3{font-size:24px;line-height:1.25}.film-grid p{font-size:15px;margin-top:7px}.film-grid video:focus-visible{outline:3px solid var(--orange);outline-offset:5px}
@media(max-width:800px){.film-grid{display:flex;overflow-x:auto;gap:18px;scroll-snap-type:x mandatory;padding-bottom:20px}.film-grid figure{flex:0 0 85%;scroll-snap-align:start;min-width:0}.film-grid video{aspect-ratio:9/14}.film-grid h3{font-size:23px}}

/* Full-width technical photo with focus on the board, original1080px source. */
.tech-photo{display:block;background:#d6ddd9;padding:0;min-height:0}.tech-photo img{display:block;width:100%;height:100%;max-height:none;object-fit:cover;object-position:50% 58%;filter:none;border-radius:0}
@media(max-width:800px){.tech-photo{height:360px;padding:0}.tech-photo img{width:100%;height:100%;max-height:none;object-position:50% 58%}}

.contact-end .call{display:flex;align-items:center;justify-content:center;gap:10px}.contact-end .call svg{width:19px;height:19px}.contact-end .button{gap:12px}footer p{line-height:1.7}
