/* Test11 identity and motion. Base layout remains in site.css. */
.brand-mark{display:block;width:48px;height:48px;flex:none;border:0;border-radius:0;transform:none;background:url('/assets/metal-mark.svg') center/contain no-repeat}
.brand-mark::before,.brand-mark::after,.brand-mark span{display:none}
.brand:hover .brand-mark{filter:drop-shadow(0 2px 8px rgba(217,183,121,.28))}
.desktop-nav a{position:relative}
.desktop-nav a::after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:1px;background:#e9d2a4;transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.16,1,.3,1)}
.desktop-nav a:hover::after,.desktop-nav a[aria-current=page]::after{transform:scaleX(1)}

.hero{isolation:isolate;overflow:hidden;background:#102c3b}
.hero-stage,.hero-frame{position:absolute;inset:0}
.hero-stage{z-index:-2}
.hero-frame{opacity:0;background-size:cover;background-position:center;transition:opacity 1.15s ease}
.hero-frame--yard{background-image:url('/assets/hero.png')}
.hero-frame--metal{background-image:url('/assets/materials.png');background-position:center 54%}
.hero-frame.is-active{opacity:1;animation:hero-photo-drift 7.5s ease-out both}
@keyframes hero-photo-drift{from{transform:scale(1.055)}to{transform:scale(1)}}
.hero-shade{z-index:-1}
.hero-content{z-index:1}
.hero-controls{display:none;position:absolute;z-index:4;right:max(38px,calc((100vw - 1320px)/2));bottom:35px;align-items:center;gap:10px}
.hero[data-motion-enabled] .hero-controls{display:flex}
.hero-arrow,.hero-dot{appearance:none;border:1px solid rgba(255,255,255,.62);background:rgba(9,32,46,.35);color:#fff;cursor:pointer;transition:background .25s,border-color .25s,transform .25s}
.hero-arrow{position:relative;width:38px;height:38px;padding:0}
.hero-arrow::after{content:"";position:absolute;top:13px;left:15px;width:9px;height:9px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg)}
.hero-arrow--prev::after{left:18px;transform:rotate(225deg)}
.hero-arrow:hover,.hero-arrow:focus-visible{background:rgba(217,183,121,.88);border-color:#e9d2a4;transform:translateY(-2px)}
.hero-dots{display:flex;align-items:center;gap:7px;margin:0 8px}
.hero-dot{width:24px;height:3px;padding:0;border:0;background:rgba(255,255,255,.48)}
.hero-dot[aria-pressed="true"]{background:#e9d2a4;width:34px}
.hero-dot:hover,.hero-dot:focus-visible{background:#fff}
.hero-arrow:focus-visible,.hero-dot:focus-visible,.menu-toggle:focus-visible,.outline-button:focus-visible,.button:focus-visible,.text-link:focus-visible{outline:2px solid #e9d2a4;outline-offset:4px}

@keyframes hero-copy-enter{from{opacity:.15;clip-path:inset(0 0 22% 0);filter:blur(4px);transform:translateY(24px)}to{opacity:1;clip-path:inset(0);filter:blur(0);transform:translateY(0)}}
.motion-enabled .hero-kicker{animation:hero-copy-enter .75s .12s both cubic-bezier(.16,1,.3,1)}
.motion-enabled .hero h1{animation:hero-copy-enter .9s .26s both cubic-bezier(.16,1,.3,1)}
.motion-enabled .hero-sub{animation:hero-copy-enter .75s .46s both cubic-bezier(.16,1,.3,1)}
.motion-enabled .hero .outline-button{animation:hero-copy-enter .75s .58s both cubic-bezier(.16,1,.3,1)}
.reveal-pending{opacity:0;transform:translateY(25px);transition:opacity .7s ease,transform .7s cubic-bezier(.16,1,.3,1),clip-path .8s cubic-bezier(.16,1,.3,1)}
.reveal-pending.is-visible{opacity:1;transform:none}
.intro-section .split-copy.reveal-pending{transform:translateX(-26px)}
.intro-section .split-image.reveal-pending{transform:none;clip-path:inset(0 16% 0 0)}
.intro-section .split-image.reveal-pending.is-visible{clip-path:inset(0)}
.materials-layout>.reveal-pending{transform:translateX(-22px)}
.material-tags.reveal-pending{transform:translateX(22px)}
.feature-grid article{position:relative;transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s}
.feature-grid article:hover{z-index:1;transform:translateY(-5px);box-shadow:0 14px 24px rgba(13,43,59,.11)}
.service-window{overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scrollbar-color:#c8a569 #e8e7e1;scrollbar-width:thin}
.service-window:focus-visible{outline:2px solid #b78639;outline-offset:5px}
.service-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 44px)/3);gap:22px;padding:3px 0 9px}
.service-slide{min-width:0;scroll-snap-align:start}
.service-card{display:block;position:relative;height:100%;overflow:hidden;background:#fff;color:#102c3b;box-shadow:0 9px 27px rgba(13,43,59,.07);transition:box-shadow .28s cubic-bezier(.16,1,.3,1)}
.service-card:hover,.service-card:focus-visible{box-shadow:0 18px 36px rgba(13,43,59,.17)}
.service-card:focus-visible{outline:3px solid #102c3b;outline-offset:-3px}
.service-photo{height:clamp(220px,22vw,300px);overflow:hidden;background:#d4d0c5}
.service-photo img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .55s cubic-bezier(.16,1,.3,1)}
.service-card:hover .service-photo img,.service-card:focus-visible .service-photo img{transform:scale(1.055)}
.service-copy{position:relative;min-height:172px;padding:31px 28px 30px;text-align:center}
.service-copy .feature-no{position:absolute;top:-20px;left:19px;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#c39a4e;border:2px solid #fff;color:#fff;font-size:15px;letter-spacing:0;font-weight:500;font-variant-numeric:tabular-nums}
.service-copy h3{margin:0 0 13px;color:#102c3b;font-size:20px;line-height:1.35}
.service-copy p{margin:0;color:#586a74;font-size:14px;line-height:1.8}
.service-overlay{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:33px;padding:36px;background:#aa7831;color:#fff;text-align:center;clip-path:inset(100% 0 0 0);transition:clip-path .42s cubic-bezier(.16,1,.3,1)}
.service-overlay::before{content:"";position:absolute;inset:27px;border:1px solid rgba(255,255,255,.73);pointer-events:none}
.service-card:hover .service-overlay,.service-card:focus-visible .service-overlay{clip-path:inset(0)}
.service-overlay strong{position:relative;font-size:clamp(18px,1.6vw,23px);font-weight:600;line-height:1.5}
.service-overlay span{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:15px;min-width:150px;padding:9px 15px;border:1px solid #fff;font-size:13px;font-weight:600}
.service-overlay b{font-size:16px;font-weight:400}
.service-controls{display:none;align-items:center;justify-content:center;gap:19px;margin-top:29px}
.service-carousel[data-ready] .service-controls{display:flex}
.service-carousel[data-ready] .service-window{scrollbar-width:none}
.service-carousel[data-ready] .service-window::-webkit-scrollbar{display:none}
.service-control-arrow{position:relative;width:34px;height:34px;padding:0;border:1px solid #bec8ca;border-radius:50%;background:transparent;color:#102c3b;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.service-control-arrow::after{content:"";position:absolute;top:12px;left:12px;width:8px;height:8px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(45deg)}
.service-control-prev::after{left:14px;transform:rotate(225deg)}
.service-control-arrow:hover:not(:disabled),.service-control-arrow:focus-visible{background:#102c3b;color:#fff;border-color:#102c3b}
.service-control-arrow:disabled{opacity:.35;cursor:default}
.service-control-arrow:focus-visible,.service-dots button:focus-visible{outline:2px solid #b78639;outline-offset:3px}
.service-dots{display:flex;align-items:center;gap:10px;min-height:34px}
.service-dots button{width:10px;height:10px;padding:0;border:0;border-radius:50%;background:#b7bdbe;cursor:pointer;transition:background .2s,transform .2s}
.service-dots button[aria-pressed="true"]{background:#c39a4e;transform:scale(1.25)}
.service-dots button:hover{background:#102c3b}
.service-detail-grid article{padding:0;overflow:hidden;border:0;background:#fff;box-shadow:0 8px 28px rgba(13,43,59,.06);transition:box-shadow .25s}
.service-detail-grid article:hover{box-shadow:0 16px 35px rgba(13,43,59,.13)}
.service-detail-photo{height:250px;overflow:hidden;background:#d4d0c5}
.service-detail-photo img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .5s cubic-bezier(.16,1,.3,1)}
.service-detail-grid article:hover img{transform:scale(1.035)}
.service-detail-copy{padding:29px 34px 35px}
.service-detail-grid h3{margin:15px 0 13px}
.materials-section{overflow-x:clip}
.material-tags span{transition:background .25s,border-color .25s,transform .25s}
.material-tags span:hover{background:#fff8e9;border-color:#c2a065;transform:translateY(-3px)}
.menu-toggle span{transition:transform .25s,opacity .25s}
.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(7px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-7px) rotate(-45deg)}
.mobile-nav:not([hidden]){animation:menu-enter .28s cubic-bezier(.16,1,.3,1) both}
@keyframes menu-enter{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:800px){.brand-mark{width:40px;height:40px}.hero-controls{right:20px;bottom:22px}.hero-arrow{width:34px;height:34px}.hero-arrow::after{top:11px;left:13px}.hero-arrow--prev::after{left:16px}.hero-dots{margin:0 2px}.hero-dot{width:17px}.hero-dot[aria-pressed="true"]{width:25px}}
@media(max-width:1024px){.service-track{grid-auto-columns:calc((100% - 22px)/2)}.service-photo{height:260px}}
@media(max-width:560px){.hero-controls{bottom:20px;right:16px;gap:6px}.scroll-indicator{bottom:20px}}
@media(max-width:560px){.service-track{grid-auto-columns:100%;gap:14px}.service-photo{height:240px}.service-copy{min-height:155px;padding:29px 24px 25px}.service-overlay{display:none}.service-detail-photo{height:210px}.service-detail-copy{padding:25px 28px 30px}}
@media(prefers-reduced-motion:reduce){.hero-frame,.hero-frame.is-active,.motion-enabled .hero-kicker,.motion-enabled .hero h1,.motion-enabled .hero-sub,.motion-enabled .hero .outline-button,.reveal-pending,.reveal-pending.is-visible,.mobile-nav:not([hidden]),.service-card,.service-photo img,.service-overlay,.service-control-arrow,.service-dots button,.service-detail-photo img{animation:none!important;transition:none!important;opacity:1!important;transform:none!important;filter:none!important}.hero-frame:not(.is-active){opacity:0!important}}
