:root{--paper:#fafaf9;--surface:#f0f0ed;--card:#fff;--ink:#202321;--muted:#666d68;--line:#dedfda;--accent:#ec8c46;--accent-text:#a44d1d;--header:rgba(250,250,249,.87);--logo-wordmark:#303432;--logo-tagline:#686d69;--shadow:0 16px 45px #16211b0a;--ease:cubic-bezier(.2,.7,.2,1);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;color:var(--ink);background:var(--paper);color-scheme:light;font-synthesis:none}
:root[data-theme=dark]{--paper:#111412;--surface:#1b1f1c;--card:#232824;--ink:#f1f3ef;--muted:#aab3ac;--line:#363d37;--accent:#ef9b5d;--accent-text:#efad7a;--header:rgba(17,20,18,.88);--logo-wordmark:#929292;--logo-tagline:#bac3bc;--shadow:0 16px 45px #0003;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;overflow-x:clip}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--accent-text);outline-offset:5px}[hidden]{display:none!important}img{display:block;max-width:100%;height:auto}svg{flex-shrink:0}h1,h2,h3,p,figure{margin:0}h1,h2,h3{letter-spacing:-.055em;font-weight:600;text-wrap:balance}h1{font-size:clamp(3rem,6.8vw,6.1rem);line-height:1.04}h2{font-size:clamp(2.2rem,4.6vw,4.3rem);line-height:1.09}h3{font-size:1.5rem;line-height:1.18;letter-spacing:-.035em}p{font-size:1.0625rem;line-height:1.75;color:var(--muted)}address{font-style:normal}.wrap{width:min(1240px,calc(100% - 96px));margin-inline:auto}.section{padding-block:112px}.eyebrow{font-size:.75rem;letter-spacing:.13em;line-height:1.5;font-weight:600;color:var(--accent-text);margin-bottom:24px}.skip{position:fixed;top:-100px;left:20px;padding:16px 24px;background:var(--card);z-index:100;border-radius:12px}.skip:focus{top:12px}.header{position:sticky;top:0;z-index:50;background:var(--header);backdrop-filter:blur(24px) saturate(140%);-webkit-backdrop-filter:blur(24px) saturate(140%);border-bottom:1px solid transparent;transition:border-color .3s,box-shadow .3s}.header.is-scrolled{border-color:var(--line);box-shadow:0 5px 24px #00000005}.header-inner{height:82px;display:flex;align-items:center;justify-content:space-between;gap:32px}.logo{display:block;flex-shrink:0;width:184px}.logo svg{display:block;width:100%;height:auto;max-height:66px}.logo svg path{transition:fill .5s ease}.logo svg stop{transition:stop-color .5s ease}.nav{display:flex;align-items:center;gap:34px;font-size:.875rem;font-weight:500}.nav>a:not(.button){position:relative;padding-block:12px}.nav>a:not(.button):after{content:'';position:absolute;bottom:4px;left:0;right:0;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}.nav>a:hover:after,.nav>a[aria-current=page]:after{transform:scaleX(1)}.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;position:relative;isolation:isolate;overflow:hidden;min-height:52px;padding:16px 25px;border-radius:99px;border:1px solid transparent;font-size:.9375rem;font-weight:600;line-height:1.3;transition:box-shadow .35s var(--ease),transform .35s var(--ease),background .35s var(--ease);white-space:normal}.button.primary,.button.small{background:var(--ink);color:var(--paper)}.button.small{min-height:42px;padding:12px 21px;font-size:.875rem}.button.secondary{background:transparent;border-color:var(--line);color:var(--ink)}.button:before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(110px circle at var(--x,50%) var(--y,50%),#ed9c6b65,transparent 75%);opacity:0;transition:opacity .3s}.button:hover:before{opacity:1}.button:hover{transform:translateY(-2px);box-shadow:0 8px 25px #dc89542b}.button svg{transition:transform .35s var(--ease)}.button:hover svg{transform:translateX(3px)}.text-link{display:inline-flex;align-items:center;gap:12px;font-size:.9375rem;font-weight:500;line-height:1.5;padding-block:10px}.text-link svg{transition:transform .3s var(--ease)}.text-link:hover{color:var(--accent-text)}.text-link:hover svg{transform:translateX(4px)}.inline-link,figcaption a{text-decoration:underline;text-underline-offset:4px}.menu-toggle{display:none;color:var(--ink);background:transparent;border:0;padding:12px 0 12px 12px;align-items:center;gap:12px;font-size:.875rem}.menu-lines{display:block;width:20px;height:14px;position:relative}.menu-lines:before,.menu-lines:after{content:'';position:absolute;left:0;right:0;height:1px;background:currentColor;transition:transform .3s}.menu-lines:before{top:3px}.menu-lines:after{bottom:3px}.menu-toggle[aria-expanded=true] .menu-lines:before{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-lines:after{transform:translateY(-3.5px) rotate(-45deg)}
/* The opening: quiet type, then the workshop revealed as the page moves. */
.home-hero{text-align:center;padding-top:84px;padding-bottom:54px}.home-hero h1{font-size:clamp(3.1rem,6.25vw,5.8rem);max-width:1150px;margin:auto}.home-hero h1 span{background:linear-gradient(100deg,#e29b69 5%,#aa4d20 92%);background-clip:text;-webkit-background-clip:text;color:transparent}:root[data-theme=dark] .home-hero h1 span{background-image:linear-gradient(100deg,#ffc89b,#e18b56)}.hero-description{font-size:1.25rem;line-height:1.65;margin-top:27px}.hero-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:30px}.hero-window{width:min(1370px,calc(100% - 48px));margin:auto;perspective:1600px}.hero-frame{position:relative;overflow:hidden;border-radius:30px;aspect-ratio:2.05;background:#26312a;transform:scale(var(--hero-scale,.965));transform-origin:center top;will-change:transform}.hero-photo{width:100%;height:112%;max-width:none;position:absolute;top:-6%;left:0;object-fit:cover;object-position:center 49%;transform:translate3d(0,var(--hero-shift,0px),0);will-change:transform}.hero-frame:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#101a16b0);pointer-events:none}.hero-caption{position:absolute;left:40px;right:40px;bottom:31px;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#fff;font-size:.8125rem}.hero-caption span:first-child{letter-spacing:.1em;font-size:.75rem}.quick-facts{display:grid;grid-template-columns:repeat(4,1fr);padding-block:49px 64px}.quick-facts>div{padding-inline:25px;border-right:1px solid var(--line)}.quick-facts>div:first-child{padding-left:0}.quick-facts>div:last-child{border:0}.quick-facts strong{display:block;font-size:2.6rem;font-weight:600;letter-spacing:-.055em;line-height:1.2;white-space:nowrap}.quick-facts strong span{font-size:1rem;font-weight:500;letter-spacing:-.02em}.quick-facts p{font-size:.875rem;margin-top:10px;line-height:1.5}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:36px;margin-bottom:45px}.section-head>p{max-width:360px}.section-head>.text-link{flex-shrink:0}.surface-section{background:var(--surface)}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.card{display:flex;flex-direction:column;border-radius:23px;overflow:hidden;background:var(--card);box-shadow:0 2px 5px #16211b03;transition:transform .6s var(--ease),box-shadow .6s var(--ease);min-width:0}.card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.card-image{aspect-ratio:1.35;overflow:hidden;background:var(--surface)}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}.card:hover .card-image img{transform:scale(1.045)}.card-image.contain-image{background:#f4f4f3}.contain-image img{object-fit:contain}.card-image.contain-image img{object-fit:contain;padding:16px}.card-body{padding:28px 28px 30px;display:flex;flex-direction:column;align-items:flex-start;flex:1}.card-category{font-size:.75rem;font-weight:600;letter-spacing:.11em;color:var(--accent-text);margin-bottom:12px}.card-body h3{font-size:1.55rem}.card-body>p:not(.card-category){font-size:1rem;line-height:1.65;margin-top:15px;margin-bottom:24px}.card-link{display:inline-flex;gap:13px;align-items:center;font-size:.875rem;font-weight:600;margin-top:auto}.card-link svg{transition:transform .3s}.card:hover .card-link svg{transform:translateX(4px)}
/* Three natural scroll chapters; the photograph stays in view on larger screens. */
.sequence-section{padding-block:112px 30px;background:#17211b;color:#f4f5ef}.sequence-section .eyebrow{color:#dbad88}.sequence-section p{color:#b9c5bc}.sequence-section .text-link{color:#e7b68f}.sequence-section .section-head{margin-bottom:30px}.sequence{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:start}.sequence-step{min-height:68vh;display:flex;align-items:center;padding-block:80px}.sequence-step h3{font-size:clamp(2rem,3.6vw,3.3rem);line-height:1.1;margin-bottom:23px}.sequence-step p:not(.eyebrow){max-width:410px;font-size:1.125rem}.sequence-step .text-link{margin-top:23px}.sequence-visual{position:sticky;top:calc(82px + 6vh);height:66vh;max-height:650px;min-height:380px;overflow:hidden;border-radius:25px;margin-top:25px;background:#e3e5e0}.sequence-frame{position:absolute;inset:0;opacity:0;transform:scale(1.045);transition:opacity .8s var(--ease),transform 1.1s var(--ease)}.sequence-frame.is-active{opacity:1;transform:scale(1)}.sequence-frame img{width:100%;height:100%;object-fit:cover}.sequence-frame:first-child img{object-fit:contain;padding:20px;background:#f0f1ee}.sequence-dots{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);display:flex;gap:7px;padding:9px 13px;background:#14211970;backdrop-filter:blur(12px);border-radius:99px}.sequence-dots i{display:block;width:6px;height:6px;border-radius:99px;background:#ffffff65;transition:width .4s,background .4s}.sequence-dots i.is-active{width:25px;background:#fff}.sequence-mobile{display:none}.project-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.project-card{min-width:0}.project-card>img{width:100%;height:330px;object-fit:cover;border-radius:23px}.project-card>div{display:flex;justify-content:space-between;gap:14px;margin-top:24px}.project-card h3{font-size:1.35rem}.project-card p{font-size:1rem;margin-top:10px;line-height:1.65}.project-card:hover>div{color:var(--accent-text)}.rvo-feature{display:grid;grid-template-columns:1fr 1fr;min-height:470px;background:var(--surface);border-radius:30px;overflow:hidden}.rvo-photo{background:#4e6a71;padding:30px;display:flex;align-items:center;justify-content:center}.rvo-photo img{width:100%;height:410px;object-fit:contain;transition:transform .9s var(--ease)}.rvo-feature:hover .rvo-photo img{transform:scale(1.025)}.rvo-copy{padding:65px;align-self:center}.rvo-copy p:not(.eyebrow){margin-top:24px}.rvo-copy .text-link{margin-top:21px}.cta{padding-block:100px 115px;text-align:center;background:var(--surface)}.cta h2{font-size:clamp(3rem,6.8vw,6.2rem);line-height:1.06}.cta h2 span{color:var(--muted)}.cta p:not(.eyebrow){margin-top:25px;font-size:1.125rem}.cta .button{margin-top:32px}.footer{padding-top:72px;background:var(--paper)}.footer-reviews{border-bottom:1px solid var(--line);padding-bottom:34px}.section-head.compact h2{font-size:2.25rem}.section-head.compact .eyebrow{margin-bottom:12px}.google-rating{display:flex;align-items:center;gap:16px;font-size:1.125rem;flex-wrap:wrap}.google-rating strong{font-weight:600;white-space:nowrap}.google-rating strong span{font-size:1.125rem;letter-spacing:1px;color:#ff861c}.google-rating>span:last-child{display:flex;gap:5px;align-items:center;font-size:.875rem;border-bottom:1px solid var(--line);padding-block:6px}.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.review-card{background:var(--surface);border-radius:17px;padding:25px}.review-stars{color:#ff861c;font-size:1rem;letter-spacing:3px}.review-card blockquote{margin:17px 0 22px;font-size:1.0625rem;line-height:1.6;min-height:54px;letter-spacing:-.02em}.review-card figcaption{font-size:.875rem;font-weight:600}.review-card figcaption span{display:block;color:var(--muted);font-size:.75rem;font-weight:400;margin-top:6px}.review-note{font-size:.75rem;margin-top:19px}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr 1.1fr 1fr;gap:34px;padding-block:49px}.footer-grid h3{font-size:.875rem;letter-spacing:0;margin-bottom:18px}.footer-grid a:not(.logo){display:flex;align-items:center;gap:6px;font-size:.875rem;line-height:1.65;margin-bottom:10px;overflow-wrap:anywhere}.footer-grid a:not(.logo):hover{color:var(--accent-text)}.footer-grid a:not(.logo) svg{width:14px;height:14px}.footer-grid address{font-size:.875rem;color:var(--muted);line-height:1.8;margin-bottom:13px}.footer-brand p{margin-top:18px;font-size:.9375rem}.footer-grid .logo{width:210px;max-width:100%}.footer-grid .logo svg{width:100%;height:auto;max-height:none}.footer-base{display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--line);font-size:.75rem;color:var(--muted);padding:24px 145px 35px 0;line-height:1.6}.theme-control{position:fixed;right:22px;bottom:calc(20px + env(safe-area-inset-bottom));z-index:60;display:flex;align-items:center;gap:9px;min-height:44px;padding:12px 16px;font-size:.8125rem;background:var(--header);color:var(--ink);border:1px solid var(--line);border-radius:99px;backdrop-filter:blur(20px);box-shadow:0 5px 24px #0000000d;transition:background .3s,border-color .3s}.theme-control:hover{border-color:var(--accent-text)}.theme-control .sun-icon{display:none}:root[data-theme=dark] .theme-control .sun-icon{display:block}:root[data-theme=dark] .theme-control .moon-icon{display:none}
/* Inner pages share the same generous rhythm and hierarchy. */
.page-top{padding-top:35px;padding-bottom:64px}.breadcrumb{display:flex;gap:10px;flex-wrap:wrap;font-size:.8125rem;color:var(--muted);margin-bottom:65px;line-height:1.5}.breadcrumb a:hover{color:var(--ink)}.page-top .eyebrow{margin-bottom:23px}.page-top h1{max-width:1100px}.page-top h1 span{color:var(--muted)}.page-intro{font-size:1.25rem;max-width:740px;margin-top:29px;line-height:1.7}.category-nav{display:flex;gap:10px;flex-wrap:wrap;padding-block:5px 30px;border-bottom:1px solid var(--line)}.category-nav a{font-size:.875rem;padding:12px 20px;border:1px solid var(--line);border-radius:99px;transition:background .25s,color .25s}.category-nav a:hover{background:var(--ink);color:var(--paper)}.service-group{scroll-margin-top:80px;border-bottom:1px solid var(--line)}.service-group .cards{align-items:stretch}.service-group .card{background:var(--surface)}.service-group .section-head h2{font-size:clamp(2.3rem,4vw,3.5rem)}.service-detail{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:start;padding-top:8px;padding-bottom:65px}.service-image{position:sticky;top:115px;min-width:0}.service-image>img{width:100%;max-height:650px;aspect-ratio:1.05;object-fit:cover;border-radius:25px;background:var(--surface)}.service-image.contain-image>img{object-fit:contain;padding:24px;background:#f3f3f1}.service-image figcaption{font-size:.8125rem;line-height:1.6;color:var(--muted);margin-top:15px;padding-inline:4px}.service-overview{padding-top:16px}.service-overview .eyebrow{font-size:.75rem}.service-overview h2{font-size:2.7rem;margin-bottom:26px}.service-overview>p:not(.eyebrow){font-size:1.0625rem}.feature-list{list-style:none;padding:0;margin:27px 0 30px}.feature-list li{padding:17px 0 17px 26px;border-bottom:1px solid var(--line);font-size:1rem;line-height:1.55;position:relative}.feature-list li:before{content:'+';position:absolute;left:0;color:var(--accent-text);font-size:1.2rem}.service-explainer{display:grid;grid-template-columns:1fr 1fr;gap:90px;padding-block:10px 75px;border-bottom:1px solid var(--line)}.service-explainer h2{font-size:2.7rem}.service-explainer>p{font-size:1.125rem}.faq{padding-top:80px;max-width:930px;margin:auto}.faq h2{font-size:2.5rem;margin-bottom:30px}.faq details{border-bottom:1px solid var(--line);padding-block:23px}.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:1.125rem;font-weight:500;line-height:1.5}.faq summary::-webkit-details-marker{display:none}.faq summary span{font-size:1.7rem;color:var(--muted);transition:transform .3s}.faq details[open] summary span{transform:rotate(45deg)}.faq details p{margin-top:19px;max-width:800px}.related{margin-top:90px}.service-nav{display:flex;flex-wrap:wrap;gap:10px}.service-nav a{display:flex;align-items:center;gap:12px;font-size:.875rem;border:1px solid var(--line);border-radius:99px;padding:12px 18px;line-height:1.5}.service-nav a:hover{background:var(--surface)}.projects-section{padding-top:18px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px 34px}.project-grid .project-card>img{height:420px}.project-grid .project-card figcaption{margin-top:25px}.project-grid h2{font-size:1.75rem;letter-spacing:-.035em}.section-tail{padding-block:65px 10px;text-align:center}.shop-film{padding-top:10px}.film-heading{margin-bottom:30px}.film-heading h2{font-size:2rem}.film-heading .eyebrow{margin-bottom:10px}.film-frame video{width:100%;height:auto;aspect-ratio:16/9;display:block;border-radius:28px;background:#111}.film-frame figcaption{display:flex;justify-content:space-between;gap:20px;font-size:.875rem;color:var(--muted);padding-block:19px;border-bottom:1px solid var(--line);line-height:1.6}.film-frame figcaption span:last-child{font-size:.75rem;letter-spacing:.07em}.shop-story{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.shop-story h2{font-size:3rem;margin-bottom:28px}.shop-story p:not(.eyebrow){margin-bottom:22px}.shop-story .button{margin-top:8px}.shop-story img{width:100%;height:580px;object-fit:cover;border-radius:25px}.shop-pair{display:grid;grid-template-columns:1fr 1fr;gap:34px;margin-top:100px}.shop-pair img{width:100%;height:340px;object-fit:cover;border-radius:24px}.shop-pair figure:first-child img{object-fit:contain;padding:20px;background:var(--surface)}.shop-pair figcaption{margin-top:25px}.shop-pair figcaption h3{font-size:1.5rem;margin-bottom:12px}.shop-pair p{font-size:1rem}.contact-section{padding-top:24px}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}.contact-info{padding-top:28px}.contact-item{padding-block:25px;border-bottom:1px solid var(--line)}.contact-item>span{display:block;font-size:.8125rem;color:var(--muted);margin-bottom:13px}.contact-item>a:not(.text-link),.contact-item address{font-size:1.45rem;letter-spacing:-.025em;line-height:1.6;overflow-wrap:anywhere}.contact-item .text-link{margin-top:15px}.contact-tip{margin-top:28px;font-size:.9375rem}.quote-form{padding:42px;background:var(--surface);border-radius:26px}.quote-form h2{font-size:2.25rem;margin-bottom:17px}.quote-form>p{font-size:.9375rem;margin-bottom:30px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:10px;margin-bottom:22px}.field label{font-size:.875rem;line-height:1.5}.field input,.field select,.field textarea{border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);width:100%;padding:15px;min-height:49px;font-size:1rem}.field input::placeholder,.field textarea::placeholder{color:var(--muted)}.field textarea{min-height:150px;resize:vertical}.quote-form .form-status{font-size:.875rem;margin:22px 0 0}.quote-form .form-status:empty{display:none}
/* Complete gallery, preserving natural photo proportions. */
.photo-gallery{padding-top:65px}.photo-category{margin-bottom:85px;scroll-margin-top:120px}.photo-category:last-child{margin:0}.category-heading{display:flex;align-items:baseline;justify-content:space-between;gap:25px;margin-bottom:30px}.category-heading h2{font-size:2.4rem}.category-heading>span{font-size:.875rem;color:var(--muted);white-space:nowrap}.photo-masonry{columns:3;column-gap:24px}.photo-tile{break-inside:avoid;margin-bottom:24px;background:var(--surface);border-radius:19px;overflow:hidden}.gallery-photo{display:block;position:relative;overflow:hidden}.gallery-photo img{width:100%;height:auto;transition:transform .7s var(--ease)}.gallery-photo:hover img{transform:scale(1.035)}.gallery-photo:focus-visible{outline-offset:-5px}.photo-enlarge{position:absolute;right:15px;bottom:15px;background:#ffffffdf;color:#18231b;width:35px;height:35px;border-radius:50%;display:grid;place-items:center;backdrop-filter:blur(12px)}.photo-tile figcaption{font-size:.875rem;line-height:1.6;padding:16px 20px}.gallery-lightbox{width:min(1250px,96vw);max-width:96vw;max-height:94dvh;padding:0;border:1px solid var(--line);border-radius:22px;background:var(--paper);color:var(--ink);overflow:auto}.gallery-lightbox::backdrop{background:#080c0ae8;backdrop-filter:blur(12px)}.lightbox-inner{padding:20px}.lightbox-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px;font-size:.875rem;color:var(--muted)}.gallery-lightbox button{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:99px;min-height:44px;padding:10px 16px}.gallery-lightbox button:hover{border-color:var(--accent-text)}.lightbox-stage{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:16px}.lightbox-stage>button{padding:8px;font-size:1.5rem}.lightbox-stage img{width:100%;height:70dvh;object-fit:contain}.gallery-lightbox #lightbox-caption{margin:18px 60px 0;font-size:1rem;line-height:1.5}.gallery-is-open{overflow:hidden}
/* Content remains readable without JavaScript. Motion is progressive enhancement. */
.reveal{transition:opacity .85s var(--ease),transform .85s var(--ease);transition-delay:var(--reveal-delay,0ms)}.reveal.waiting{opacity:0;transform:translate3d(0,28px,0)}.intro-in{animation:arrive 1.1s var(--ease) both}.intro-in:nth-child(2){animation-delay:.08s}.intro-in:nth-child(3){animation-delay:.16s}.intro-in:nth-child(4){animation-delay:.23s}@keyframes arrive{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){.home-hero{padding-top:105px;padding-bottom:65px}.hero-window{width:min(1480px,calc(100% - 96px))}.hero-frame{aspect-ratio:2.25}}
@media(max-width:1150px){.wrap{width:calc(100% - 64px)}.nav{gap:24px}.cards{gap:22px}.card-body{padding:24px}.card-body h3{font-size:1.4rem}.quick-facts strong{font-size:2.2rem}.quick-facts>div{padding-inline:19px}.quick-facts strong span{font-size:.875rem}.sequence{gap:45px}.rvo-copy{padding:45px}.footer-grid{grid-template-columns:1fr 1fr;gap:38px 50px}.contact-grid{gap:55px}.quote-form{padding:32px}.service-detail{gap:40px}.service-overview h2{font-size:2.3rem}.shop-story{gap:45px}}
@media(max-width:960px){.section{padding-block:85px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.home-hero h1{font-size:clamp(3rem,7vw,4.7rem)}.hero-frame{aspect-ratio:1.75}.hero-caption{left:28px;right:28px;bottom:24px}.quick-facts{grid-template-columns:1fr 1fr;gap:34px;padding-block:40px 55px}.quick-facts>div,.quick-facts>div:first-child{padding:0 15px 0 0}.quick-facts>div:nth-child(even){border:0;padding-left:20px}.quick-facts strong{font-size:2.7rem}.quick-facts strong span{font-size:1rem}.sequence{display:block}.sequence-visual{display:none}.sequence-section{padding-block:85px}.sequence-step{min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:40px;padding-block:45px}.sequence-step h3{font-size:2.3rem}.sequence-step p:not(.eyebrow){font-size:1rem}.sequence-mobile{display:block;overflow:hidden;border-radius:20px;background:#edf0e9}.sequence-mobile img{width:100%;height:340px;object-fit:cover}.sequence-step:first-child .sequence-mobile img{object-fit:contain;padding:15px}.sequence-step:last-child{padding-bottom:0}.project-preview{gap:22px}.project-card>img{height:270px}.project-card h3{font-size:1.2rem}.section-head{align-items:flex-start}.section-head>.text-link{align-self:flex-end}.rvo-copy{padding:35px}.rvo-copy h2{font-size:2.8rem}.rvo-photo{padding:20px}.rvo-photo img{height:350px}.rvo-feature{min-height:0}.google-rating{gap:10px;font-size:1rem}.review-grid{gap:15px}.review-card{padding:20px}.section-head.compact{flex-direction:column;gap:25px}.service-detail{grid-template-columns:1fr 1fr;gap:35px}.service-overview .eyebrow{display:none}.service-overview h2{font-size:2.1rem}.service-explainer{gap:45px}.service-explainer h2{font-size:2.2rem}.service-image>img{aspect-ratio:.85}.project-grid .project-card>img{height:330px}.shop-story h2{font-size:2.5rem}.shop-story img{height:500px}.shop-pair img{height:280px}.photo-masonry{columns:2}.contact-grid{gap:35px}.contact-item>a:not(.text-link),.contact-item address{font-size:1.2rem}.field-row{grid-template-columns:1fr;gap:0}.quote-form h2{font-size:1.85rem}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.header-inner{height:72px}.logo{width:161px}.menu-toggle{display:flex}.nav{position:absolute;top:72px;left:0;right:0;display:none;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 20px 30px #0001;padding:20px;gap:8px;align-items:stretch}.nav.open{display:flex;flex-direction:column}.nav>a:not(.button){font-size:1.125rem;padding:16px 8px}.nav .button{margin-top:12px}.nav>a:not(.button):after{display:none}.section{padding-block:65px}.home-hero{padding-top:55px;padding-bottom:40px}.home-hero h1{font-size:clamp(2.7rem,8.1vw,4rem);line-height:1.08;letter-spacing:-.06em}.home-hero .eyebrow{font-size:.75rem;letter-spacing:.09em;margin-bottom:23px}.hero-description{font-size:1.0625rem;margin-top:24px}.hero-description br{display:none}.hero-actions{gap:12px;margin-top:25px}.button{font-size:.875rem;padding:15px 20px;gap:10px;min-height:50px}.hero-window{width:calc(100% - 24px)}.hero-frame{aspect-ratio:1.2;border-radius:23px}.hero-photo{object-position:56% center}.hero-caption{left:20px;right:20px;bottom:21px;display:block}.hero-caption span:first-child{display:block;font-size:.75rem;margin-bottom:8px}.hero-caption span:last-child{font-size:.8125rem}.quick-facts{gap:28px 18px;padding-block:32px 45px}.quick-facts strong{font-size:2.15rem}.quick-facts strong span{font-size:.875rem}.quick-facts p{font-size:.8125rem;max-width:150px;line-height:1.5;margin-top:8px}.quick-facts>div:nth-child(even){padding-left:8px}.eyebrow{font-size:.75rem;margin-bottom:19px}h2{font-size:2.5rem}.section-head{flex-direction:column;gap:20px;margin-bottom:30px}.section-head>.text-link{align-self:flex-start}.section-head>p{max-width:550px}.cards{gap:20px}.card-image{aspect-ratio:1.2}.card-body{padding:22px 20px}.card-category{font-size:.75rem}.card-body h3{font-size:1.35rem}.card-body>p:not(.card-category){font-size:.9375rem;line-height:1.65}.card{border-radius:19px}.sequence-section{padding-block:65px}.sequence-step{gap:25px;padding-block:35px}.sequence-step h3{font-size:2rem}.sequence-mobile img{height:320px}.project-preview{grid-template-columns:1fr;gap:38px}.project-card>img{height:auto;aspect-ratio:1.35}.project-card h3{font-size:1.45rem}.project-card>div{margin-top:20px}.project-card p{max-width:500px}.rvo-feature{grid-template-columns:1fr;border-radius:24px}.rvo-photo img{height:330px}.rvo-copy{padding:38px 30px}.rvo-copy h2{font-size:2.6rem}.rvo-copy p:not(.eyebrow){margin-top:20px}.cta{padding-block:75px 80px}.cta h2{font-size:clamp(3rem,9vw,4.5rem)}.cta p:not(.eyebrow){font-size:1rem}.footer{padding-top:55px}.review-grid{grid-template-columns:1fr;gap:15px}.review-card blockquote{min-height:0;margin:14px 0 18px}.review-card{padding:23px}.footer-grid{gap:30px 22px;padding-block:35px}.footer-brand{grid-column:1/-1}.footer-brand p{font-size:.875rem}.footer-grid h3{margin-bottom:14px}.footer-base{flex-direction:column;padding:25px 0 90px;gap:9px}.theme-control{right:14px;bottom:calc(14px + env(safe-area-inset-bottom))}.page-top{padding-top:22px;padding-bottom:42px}.breadcrumb{font-size:.75rem;margin-bottom:40px}.page-top h1{font-size:clamp(2.8rem,8vw,4rem);line-height:1.08}.page-top .eyebrow{font-size:.75rem;letter-spacing:.08em}.page-intro{font-size:1.0625rem;margin-top:24px}.category-nav{gap:8px;padding-bottom:24px}.category-nav a{padding:10px 14px;font-size:.8125rem}.service-group .section-head h2{font-size:2.4rem}.service-detail{grid-template-columns:1fr;gap:35px;padding-top:0;padding-bottom:0}.service-image{position:static}.service-image>img{aspect-ratio:1.3;max-height:none}.service-image.contain-image>img{aspect-ratio:1.35}.service-overview{padding:0}.service-overview h2{font-size:2.45rem}.service-explainer{grid-template-columns:1fr;gap:25px;padding-bottom:50px}.service-explainer h2{font-size:2.3rem}.service-explainer>p{font-size:1.0625rem}.faq{padding-top:55px}.faq h2{font-size:2.3rem}.faq summary{font-size:1rem}.related{margin-top:60px}.service-nav a{font-size:.8125rem;padding:11px 14px}.project-grid{gap:45px 24px}.project-grid .project-card>img{height:auto;aspect-ratio:1}.project-grid h2{font-size:1.5rem}.section-tail{padding-top:40px}.film-frame video{border-radius:19px}.film-heading h2{font-size:1.8rem}.film-frame figcaption{flex-direction:column;gap:7px;font-size:.8125rem}.film-frame figcaption span:last-child{font-size:.75rem}.shop-story{grid-template-columns:1fr;gap:35px}.shop-story h2{font-size:2.6rem}.shop-story img{height:auto;aspect-ratio:1.25}.shop-pair{margin-top:60px;gap:25px}.shop-pair img{height:240px}.shop-pair figcaption h3{font-size:1.3rem}.shop-pair p{font-size:.9375rem}.photo-gallery{padding-top:45px}.category-heading h2{font-size:1.9rem}.category-heading>span{font-size:.8125rem}.photo-masonry{column-gap:16px}.photo-tile{margin-bottom:16px;border-radius:15px}.photo-tile figcaption{font-size:.8125rem;padding:13px 15px}.photo-category{margin-bottom:55px}.lightbox-inner{padding:12px}.lightbox-stage{grid-template-columns:36px minmax(0,1fr) 36px;gap:7px}.lightbox-stage img{height:60dvh}.gallery-lightbox #lightbox-caption{margin:14px 0 0}.contact-grid{grid-template-columns:1fr;gap:40px}.contact-section{padding-top:0}.contact-info{padding-top:0}.contact-item>a:not(.text-link),.contact-item address{font-size:1.35rem}.quote-form{padding:30px 24px;border-radius:22px}.quote-form h2{font-size:2rem}}
@media(max-width:550px){.cards{grid-template-columns:1fr}.card-image{aspect-ratio:1.45}.card-body{padding:26px}.card-body h3{font-size:1.65rem}.card-body>p:not(.card-category){font-size:1rem}.card-category{font-size:.75rem}.sequence-step{grid-template-columns:1fr;gap:28px;padding-block:38px}.sequence-step h3{font-size:2.4rem}.sequence-step p:not(.eyebrow){max-width:none}.sequence-mobile img{height:350px}.project-grid{grid-template-columns:1fr}.project-grid .project-card>img{aspect-ratio:1.22}.project-grid h2{font-size:1.7rem}.shop-pair{grid-template-columns:1fr;gap:40px}.shop-pair img{height:auto;aspect-ratio:1.3}.photo-masonry{columns:1}.category-heading{gap:15px;align-items:flex-start}.category-heading h2{font-size:1.8rem}.category-heading>span{padding-top:7px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:last-child{grid-column:1/-1}.quick-facts strong{font-size:2rem}.quick-facts strong span{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal.waiting{opacity:1;transform:none}.hero-frame,.hero-photo{transform:none!important}.sequence-frame{transform:none!important}}

body,.header,.card,.surface-section,.quote-form,.footer,.cta{transition:background-color .4s ease,color .4s ease,border-color .4s ease}.card{transition:transform .6s var(--ease),box-shadow .6s var(--ease),background-color .4s ease}.reveal.card{transition:opacity .85s var(--ease),transform .85s var(--ease),box-shadow .6s var(--ease),background-color .4s ease}
/* Homepage equipment showcase: native scrolling, one machine chapter at a time. */
.machine-showcase{padding:42px 0 36px}.machine-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:45px;margin-bottom:30px}.machine-heading h1{font-size:clamp(2.6rem,4.25vw,4.1rem);line-height:1.07}.machine-heading h1 span{color:#b9c5bc}.machine-heading .eyebrow{margin-bottom:18px}.machine-intro{max-width:335px;padding-bottom:2px}.machine-intro>p{font-size:1rem;line-height:1.7}.machine-intro .text-link{font-size:.875rem;margin-top:9px}.machine-sequence{gap:65px;grid-template-columns:.95fr 1.15fr}.machine-step{min-height:77vh;padding-block:75px;scroll-margin-top:100px}.machine-step h2{font-size:clamp(2.3rem,3.7vw,3.65rem);line-height:1.1;margin-bottom:24px}.machine-step .machine-copy>p:not(.eyebrow):not(.machine-source){font-size:1.0625rem;line-height:1.8;max-width:440px}.machine-step .eyebrow{font-size:.75rem;letter-spacing:.1em}.machine-specs{margin:27px 0 0;padding:0;display:grid;gap:0;max-width:440px}.machine-specs>div{display:grid;grid-template-columns:100px 1fr;gap:18px;padding-block:12px;border-top:1px solid #ffffff20}.machine-specs dt{font-size:.8125rem;color:#a5b4a9;line-height:1.6}.machine-specs dd{font-size:.875rem;margin:0;color:#edf2ed;line-height:1.6}.machine-step .text-link{margin-top:20px;font-size:.9375rem}.machine-step .machine-source{font-size:.75rem;line-height:1.65;max-width:440px;color:#a9b6ad;margin-top:19px}.machine-source a{text-decoration:underline;text-underline-offset:3px}.machine-visual{height:70vh;min-height:430px;max-height:760px;top:calc(82px + 4vh);margin-top:0;border-radius:28px;background:#f3f4f0}.machine-frame img,.machine-frame:first-child img{object-fit:cover;padding:0;background:transparent}.machine-frame.contain img{object-fit:contain;padding:35px 30px 65px;background:#f3f4f0}.machine-photo.contain img{object-fit:contain;padding:22px;background:#f3f4f0}.machine-progress{position:absolute;top:23px;left:23px;display:flex;gap:10px;align-items:center;background:#16231cdc;color:#fff;border:1px solid #ffffff22;border-radius:99px;padding:9px 13px;font-size:.75rem;font-variant-numeric:tabular-nums;backdrop-filter:blur(12px)}.machine-progress-line{display:block;width:24px;height:1px;background:#dce7dc99}.machine-visual .sequence-dots{bottom:25px;background:#16231cbd}.machine-visual .sequence-dots i{width:5px;height:5px}.machine-visual .sequence-dots i.is-active{width:22px}
@media(min-width:1600px){.machine-showcase{padding-top:55px}.machine-heading{margin-bottom:38px}.machine-step{min-height:79vh}}
@media(max-width:1150px){.machine-sequence{gap:38px}.machine-step h2{font-size:2.7rem}.machine-step .machine-copy>p:not(.eyebrow):not(.machine-source){font-size:1rem}.machine-visual{min-height:400px}.machine-frame.contain img{padding:25px 20px 60px}.machine-intro{max-width:290px}}
@media(max-width:960px){.machine-showcase{padding-block:40px 60px}.machine-heading{gap:35px;margin-bottom:20px}.machine-heading h1{font-size:2.75rem}.machine-intro{max-width:270px}.machine-sequence{display:block}.machine-step{min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:35px;padding-block:50px;border-bottom:1px solid #ffffff20}.machine-step:last-child{border:0}.machine-step h2{font-size:2.35rem}.machine-step .sequence-mobile{align-self:center}.machine-step .sequence-mobile img{height:430px}.machine-step:first-child .sequence-mobile img{object-fit:cover;padding:0}.machine-specs>div{grid-template-columns:85px 1fr;gap:12px}.machine-visual{display:none}}
@media(max-width:760px){.machine-showcase{padding-block:32px 45px}.machine-heading{display:block;margin-bottom:0}.machine-heading h1{font-size:2.6rem}.machine-heading .eyebrow{font-size:.75rem;max-width:290px;line-height:1.8}.machine-intro{max-width:520px;margin-top:22px}.machine-intro>p{font-size:.9375rem}.machine-intro .text-link{font-size:.875rem}.machine-step{grid-template-columns:1fr;gap:27px;padding-block:35px}.machine-step .sequence-mobile{order:-1;border-radius:21px}.machine-step .sequence-mobile img{height:auto;aspect-ratio:1.2;object-fit:cover}.machine-step .machine-photo.contain img{height:360px;aspect-ratio:auto;object-fit:contain;padding:24px}.machine-step h2{font-size:2.5rem;margin-bottom:20px}.machine-step .machine-copy>p:not(.eyebrow):not(.machine-source){max-width:none}.machine-step .machine-source{max-width:none}.machine-specs{max-width:none;margin-top:22px}.machine-step .eyebrow{margin-bottom:17px}.machine-specs>div{grid-template-columns:95px 1fr;gap:16px}.machine-step .text-link{margin-top:18px}}
@media(prefers-reduced-motion:reduce){.machine-frame{transition:none!important;transform:none!important}}

.shop-story img.five-axis-shop{object-fit:cover;object-position:center;padding:0}

/* Capability summary: consistent hierarchy and generous spacing. */
.capacity-summary{padding-block:46px 60px}.capacity-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.capacity-card{display:flex;flex-direction:column;min-width:0;background:var(--card);border:1px solid var(--line);border-radius:23px;padding:27px;position:relative;isolation:isolate;overflow:hidden;transition:opacity .85s var(--ease),transform .5s var(--ease),border-color .4s,box-shadow .5s}.capacity-card:before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 0 0,#ec8c461a,transparent 72%);opacity:0;transition:opacity .45s}.capacity-card:hover,.capacity-card:focus-visible{border-color:var(--accent-text);transform:translateY(-4px);box-shadow:var(--shadow)}.capacity-card:hover:before,.capacity-card:focus-visible:before{opacity:1}.capacity-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}.capacity-icon{display:grid;place-items:center;width:43px;height:43px;border-radius:13px;color:var(--accent-text);background:var(--surface)}.capacity-link{color:var(--muted);transition:transform .35s,color .35s}.capacity-card:hover .capacity-link{color:var(--accent-text);transform:translateX(3px)}.capacity-label{font-size:.8125rem;font-weight:500;line-height:1.5;margin-bottom:12px;color:var(--muted)}.capacity-value{font-size:clamp(1.8rem,2.6vw,2.35rem);font-weight:600;line-height:1.13;letter-spacing:-.045em;min-height:2.3em;text-wrap:initial}.capacity-value span{font-size:.65em;font-weight:500;letter-spacing:-.025em}.capacity-detail{font-size:.875rem;line-height:1.65;margin-top:22px;max-width:240px;padding-top:19px;border-top:1px solid var(--line)}:root[data-theme=dark] .capacity-card{background:#1a211c}:root[data-theme=dark] .capacity-icon{background:#293229}
@media(max-width:1100px){.capacity-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.capacity-card{padding:28px}.capacity-value{font-size:2.2rem}.capacity-detail{max-width:none}}
@media(max-width:760px){.capacity-summary{padding-block:30px 40px}.capacity-grid{gap:14px}.capacity-card{padding:22px;border-radius:20px}.capacity-top{margin-bottom:23px}.capacity-value{font-size:1.9rem}.capacity-detail{font-size:.875rem;margin-top:20px;padding-top:17px}.capacity-label{font-size:.8125rem}}
@media(max-width:520px){.capacity-grid{grid-template-columns:1fr}.capacity-card{display:grid;grid-template-columns:1fr 54px;column-gap:16px;padding:25px}.capacity-top{grid-column:2;grid-row:1/4;align-self:start;justify-content:flex-end;margin:0}.capacity-link{display:none}.capacity-label,.capacity-value,.capacity-detail{grid-column:1}.capacity-label{margin-bottom:9px}.capacity-value{font-size:2rem;min-height:0}.capacity-detail{grid-column:1/-1;margin-top:20px}.capacity-icon{width:43px;height:43px}}

/* Compact machine presentation: the following section stays directly beneath it. */
.machine-deck{position:relative}.machine-stage{padding:0 0 12px}.machine-panel{padding-bottom:55px;scroll-margin-top:100px}.machine-wide-image{width:100%;height:clamp(230px,37vh,430px);overflow:hidden;border-radius:26px;background:#fff}.machine-wide-image>img{width:100%;height:100%;object-fit:cover;object-position:center}.machine-wide-image.contain>img{object-fit:contain;padding:14px 30px;background:#fff}.machine-information{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:start;padding-top:25px}.machine-description .eyebrow{margin:0 0 10px;font-size:.6875rem;letter-spacing:.12em}.machine-description h2{font-size:clamp(2rem,3.35vw,3.25rem);line-height:1.04;letter-spacing:-.055em;max-width:640px;text-wrap:balance}.machine-overview>p{font-size:1rem;line-height:1.55;max-width:510px}.machine-overview .text-link{margin-top:12px;font-size:.875rem}.machine-panel .machine-specs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:none;gap:28px;margin-top:22px}.machine-panel .machine-specs>div{display:flex;flex-direction:column;gap:3px;padding:10px 0 0;border-top:1px solid #ffffff24}.machine-panel .machine-specs dt{font-size:.6875rem;line-height:1.4}.machine-panel .machine-specs dd{font-size:.875rem;line-height:1.4}.machine-image-credit{margin-top:12px;font-size:.625rem;line-height:1.5;color:#a9b6ad}.machine-image-credit a{text-decoration:underline;text-underline-offset:3px}
.machine-deck.is-enhanced .machine-stage{position:relative}.is-enhanced .machine-slides{display:grid;isolation:isolate;overflow:hidden;border-radius:26px}.is-enhanced .machine-panel{grid-area:1/1;min-width:0;padding-bottom:0;opacity:0;visibility:hidden;pointer-events:none;transform:scale(.985);transition:opacity .65s ease,transform .95s cubic-bezier(.22,1,.36,1),visibility .95s;z-index:0}.is-enhanced .machine-panel.is-active{opacity:1;visibility:visible;pointer-events:auto;transform:none;z-index:1}.is-enhanced .is-active .machine-wide-image{animation:machine-app-open 1.05s cubic-bezier(.22,1,.36,1) both}.is-enhanced .is-active .machine-description{animation:machine-copy-open .82s cubic-bezier(.22,1,.36,1) .08s both}.is-enhanced .is-active .machine-overview{animation:machine-copy-open .82s cubic-bezier(.22,1,.36,1) .14s both}.is-enhanced .is-active .machine-specs{animation:machine-copy-open .82s cubic-bezier(.22,1,.36,1) .2s both}.is-enhanced .is-active .machine-image-credit{animation:machine-copy-open .75s cubic-bezier(.22,1,.36,1) .25s both}@keyframes machine-app-open{from{opacity:.15;border-radius:38px;transform:scale(.94)}to{opacity:1;border-radius:26px;transform:none}}@keyframes machine-copy-open{from{opacity:0;transform:translate3d(0,12px,0) scale(.99)}to{opacity:1;transform:none}}
.machine-controls{display:flex;align-items:center;justify-content:space-between;margin-top:14px;padding-top:10px;border-top:1px solid #ffffff20;gap:20px}.machine-controls[hidden]{display:none}.machine-count{font-size:.6875rem;letter-spacing:.08em;font-variant-numeric:tabular-nums;color:#b9c5bc;min-width:60px}.machine-dots{display:flex;gap:2px}.machine-dots button{display:grid;place-items:center;width:32px;height:32px;border:0;background:transparent;cursor:pointer}.machine-dots button span{width:5px;height:5px;border-radius:20px;background:#68776d;transition:width .35s,background .35s}.machine-dots button[aria-current=true] span{width:23px;background:#f0bd96}.machine-arrows{display:flex;gap:7px}.machine-arrows button{width:32px;height:32px;border:1px solid #ffffff28;border-radius:50%;background:#ffffff08;color:#f4f5ef;font-size:1rem;cursor:pointer;transition:background .3s,box-shadow .3s}.machine-arrows button:hover:not(:disabled){background:#ffffff16;box-shadow:0 0 18px #dbad8833}.machine-arrows button:disabled{opacity:.25;cursor:default}.machine-controls button:focus-visible{outline:2px solid #f0bd96;outline-offset:2px}
@media(max-width:1100px){.machine-information{gap:30px}.machine-description h2{font-size:2.5rem}.machine-overview>p{font-size:.9375rem}.machine-panel .machine-specs{gap:20px}}
@media(max-width:1100px){.machine-stage{touch-action:pan-y}.machine-deck.is-enhanced .machine-panel{padding-bottom:0}.machine-controls{display:flex}.machine-intro>p{max-width:360px}}
@media(max-width:760px){.machine-deck{margin-top:25px}.machine-wide-image{height:clamp(165px,27svh,280px);border-radius:20px}.machine-wide-image.contain>img{padding:10px 15px}.machine-information{display:block;padding-top:20px}.machine-description .eyebrow{font-size:.625rem;margin-bottom:8px}.machine-description h2{font-size:clamp(1.85rem,6.8vw,2.5rem);max-width:none}.machine-overview{margin-top:13px}.machine-overview>p{font-size:.875rem;line-height:1.5}.machine-overview .text-link{font-size:.8125rem;margin-top:10px}.machine-panel .machine-specs{gap:12px;margin-top:17px}.machine-panel .machine-specs dt{font-size:.625rem}.machine-panel .machine-specs dd{font-size:.75rem}.machine-image-credit{font-size:.5625rem;margin-top:10px}.machine-controls{gap:6px;margin-top:10px}.machine-count{min-width:45px;font-size:.625rem}.machine-dots button{width:26px}.machine-arrows{gap:4px}}
@media(prefers-reduced-motion:reduce){.is-enhanced .machine-panel,.is-enhanced .machine-wide-image,.is-enhanced .machine-description,.is-enhanced .machine-overview,.is-enhanced .machine-specs,.is-enhanced .machine-image-credit{animation:none!important;transition:none!important;filter:none!important;transform:none!important;clip-path:none!important}}

#machine-five-axis .machine-wide-image>img{object-position:center 30%}

/* RVO lifestyle photograph. */
.rvo-photo{position:relative;min-height:470px;padding:0;overflow:hidden}.rvo-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 70%}
@media(max-width:760px){.rvo-photo{min-height:0;aspect-ratio:1}.rvo-photo img{height:100%}}

/* Office photograph gives the contact details a quiet sense of place. */
.contact-info.contact-office{position:relative;isolation:isolate;overflow:hidden;align-self:start;padding:36px 32px 32px;border:1px solid var(--line);border-radius:26px;background:var(--paper)}
.contact-office>.contact-office-photo{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center 55%;pointer-events:none}
.contact-office:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(250,250,249,.82),rgba(250,250,249,.94));pointer-events:none;transition:background .4s ease}
:root[data-theme=dark] .contact-office:before{background:linear-gradient(180deg,rgba(17,20,18,.86),rgba(17,20,18,.95))}
.contact-office .contact-item>span{font-size:.875rem}.contact-office .contact-item:last-of-type{border-bottom:0}.contact-office .contact-tip{padding-top:24px;border-top:1px solid var(--line);margin-top:8px}
@media(max-width:1100px){.contact-info.contact-office{padding:30px 24px}}
@media(max-width:760px){.contact-info.contact-office{padding:30px 26px;border-radius:22px}}

/* Match the machine showcase to the selected page theme. */
.machine-showcase{background:#fff;color:var(--ink);transition:background-color .35s,color .35s}
:root[data-theme=dark] .machine-showcase{background:var(--paper)}
.machine-showcase p,.machine-showcase .machine-heading h1 span,.machine-showcase .machine-specs dt,.machine-showcase .machine-count{color:var(--muted)}
.machine-showcase .eyebrow,.machine-showcase .text-link{color:var(--accent-text)}
.machine-showcase .machine-specs dd{color:var(--ink)}
.machine-showcase .machine-specs>div,.machine-showcase .machine-controls{border-color:var(--line)}
.machine-showcase .machine-dots button span{background:var(--muted)}
.machine-showcase .machine-dots button[aria-current=true] span{background:var(--accent-text)}
.machine-showcase .machine-arrows button{background:var(--surface);border-color:var(--line);color:var(--ink)}
.machine-showcase .machine-arrows button:hover:not(:disabled){background:var(--card);box-shadow:0 0 18px #ec8c4633}
.machine-showcase .machine-controls button:focus-visible{outline-color:var(--accent-text)}

/* Official RVO wordmark in the RVO Products feature card. */
.rvo-logo{display:block;width:clamp(128px,13vw,172px);height:auto;margin:0 0 28px;transition:transform .65s var(--ease),filter .65s var(--ease)}
.rvo-feature:hover .rvo-logo{transform:translateY(-3px) scale(1.025);filter:drop-shadow(0 8px 14px #00000018)}
