@charset "UTF-8";
:root{--ink:#122932;--muted:#53626a;--accent:#cf703f;--paper:#fff;--soft:#f3f5f5;--line:#dce3e4;--gutter:clamp(1.35rem,5.5vw,6.5rem)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.7}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:5px}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.12;font-weight:500;letter-spacing:-.035em}h2{font-size:clamp(2rem,3.75vw,3.8rem);margin-bottom:1.5rem}h3{font-size:1.35rem;letter-spacing:-.02em}p{margin-bottom:1.15rem}.skip-link{position:fixed;left:1rem;top:-100px;z-index:100;background:white;padding:.5rem 1rem}.skip-link:focus{top:1rem}.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:2rem;min-height:96px;padding:1.15rem var(--gutter);background:#fff;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:.85rem;flex-shrink:0}.brand-name{font-size:1.03rem;letter-spacing:.095em;font-weight:700;line-height:1.3}.brand-name span{display:block;font-size:.7rem;letter-spacing:.27em;margin-top:.18rem}.site-header nav{display:flex;gap:1.9rem;align-items:center;font-size:.875rem}.site-header nav a{white-space:nowrap}.site-header nav a:hover{color:var(--accent)}.hero{position:relative;background:var(--ink);color:white;min-height:650px;display:grid;align-items:center;overflow:hidden}.hero-content{padding:5.5rem var(--gutter) 2rem;width:100%;z-index:1}.eyebrow{font-size:.78rem;letter-spacing:.17em;font-weight:700;line-height:1.5;margin-bottom:1.8rem}.hero .eyebrow{color:#e4b49b}.hero h1{font-size:clamp(3rem,5.8vw,6rem);letter-spacing:-.045em;max-width:870px;margin-bottom:1.65rem}.hero h1 em{font-style:normal;font-weight:400;color:#e8b99e}.hero-description{font-size:1.08rem;max-width:470px;color:#e0e6e7;line-height:1.8}.button{display:inline-flex;align-items:center;justify-content:center;min-height:49px;padding:.75rem 1.65rem;font-size:.875rem;font-weight:600;letter-spacing:.02em;border:1px solid transparent;cursor:pointer;transition:background .18s,color .18s}.button-light{background:white;color:var(--ink);margin-top:1.15rem}.button-light:hover{background:#e8b99e}.hero-footnote{display:flex;justify-content:space-between;gap:1rem;margin-top:4.3rem;padding-top:1.15rem;border-top:1px solid #ffffff40;color:#d5dddf;font-size:.72rem;letter-spacing:.13em}.section{padding:6rem var(--gutter)}.about{display:grid;grid-template-columns:1fr 2fr;gap:4rem}.about>div{max-width:790px}.body-large{font-size:1.2rem;color:var(--ink);line-height:1.7}.about p:not(.eyebrow):not(.body-large){color:var(--muted)}.contact{background:var(--ink);color:white;display:grid;grid-template-columns:1fr 1fr;gap:4rem}.contact .eyebrow{color:#e4b49b}.contact h3{margin-top:.3rem}address{font-style:normal;max-width:480px;color:#d1dce0;line-height:1.9}.contact-email{display:inline-block;margin-top:1.4rem;font-size:1.3rem;border-bottom:1px solid #e4b49b}footer{display:flex;justify-content:space-between;gap:1rem;padding:1.55rem var(--gutter);font-size:.78rem;color:var(--muted)}
.site-header nav{gap:clamp(1rem,1.7vw,1.8rem)}.site-header nav a[aria-current]{color:#9e4421}.nav-contact{padding:.55rem 1rem;border:1px solid var(--ink)}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 58%;opacity:1}.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,25,33,.72),rgba(9,25,33,.36) 48%,rgba(9,25,33,.03))}.hero-content{position:relative;z-index:2}.section-aside .eyebrow,.process .eyebrow,.products .eyebrow{color:#9e4421}.aside-note{font-size:.9rem!important;color:var(--muted);margin-top:2rem}.expertise{display:flex;flex-wrap:wrap;gap:.6rem 1.75rem;border-top:1px solid var(--line);padding-top:1.4rem;margin-top:2.2rem;font-size:.85rem;font-weight:600}.process{background:var(--soft)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:3rem;margin-bottom:3rem}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:330px;margin-bottom:.2rem;color:var(--muted)}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);list-style:none;padding:0;margin:0;gap:3rem}.process-grid li{border-top:1px solid #a6b4b9;padding-top:1.65rem}.step-number{display:block;color:#9e4421;font-size:.86rem;margin-bottom:2.25rem}.process-grid h3{font-size:1.7rem;margin-bottom:1rem}.process-grid p{color:var(--muted);font-size:.96rem}.step-detail{display:block;font-size:.76rem;letter-spacing:.025em;margin-top:1.3rem;font-weight:600}.product-row{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:center;margin-top:4.5rem;scroll-margin-top:125px}.product-image{background:var(--soft);overflow:hidden}.product-image img{width:100%;height:auto;aspect-ratio:1.5;object-fit:cover;transition:transform .5s ease}.product-row:hover .product-image img{transform:scale(1.025)}.product-copy h3{font-size:clamp(1.9rem,2.8vw,2.8rem);margin-bottom:1.2rem}.product-copy .eyebrow{margin-bottom:1rem}.product-copy>p:not(.eyebrow){color:var(--muted);font-size:.95rem}.product-types{list-style:none;margin:1.5rem 0 1.65rem;padding:0;border-top:1px solid var(--line)}.product-types li{border-bottom:1px solid var(--line);padding:.65rem 0;font-size:.88rem}.text-link{font-size:.85rem;font-weight:600;border-bottom:1px solid var(--accent);padding-bottom:.3rem}.text-link:hover{color:#9e4421}.product-row-reverse .product-image{order:2}.product-row-reverse .product-copy{order:1}.other-products{display:flex;gap:3rem;justify-content:space-between;align-items:center;padding:2.3rem 0 0;margin-top:4.5rem;border-top:1px solid var(--line)}.other-products h3{font-size:1.35rem;margin-bottom:.7rem}.other-products p{max-width:650px;color:var(--muted);font-size:.93rem;margin-bottom:0}.button-outline{border-color:var(--ink);white-space:nowrap}.button-outline:hover{background:var(--ink);color:white}.contact{gap:clamp(2.5rem,6vw,6rem)}.contact-intro{color:#d1dce0}.contact-address{margin-top:3rem}.contact-address h3{font-size:1.1rem;line-height:1.5;letter-spacing:0}.contact address{font-size:.93rem;max-width:415px}.contact-email{font-size:1.2rem}.contact-form-panel{padding-top:.2rem}.contact-form-panel>h3{font-size:1.6rem;margin-bottom:2rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}.field{margin-bottom:1.3rem;min-width:0}.field label{display:block;font-size:.875rem;margin-bottom:.5rem;color:#f1f5f6}.field label span{color:#b2c1c7;font-size:.8rem}.field input,.field textarea{width:100%;border:1px solid #66808b;border-radius:0;background:#ffffff06;color:white;padding:.65rem .8rem;min-height:47px}.field textarea{resize:vertical;min-height:136px}.field input:focus,.field textarea:focus{border-color:#e8b99e}.form-note{font-size:.8rem;color:#c2d1d7;line-height:1.6;margin-bottom:1rem;max-width:430px}.button-accent{background:#e8b99e;color:var(--ink)}.button-accent:hover{background:#f5d2bf}.form-status{color:#d9e4e8;font-size:.82rem;margin:1rem 0 0}.form-status:empty{display:none}footer>div{display:flex;gap:2rem}footer a:hover{color:var(--ink)}.menu-toggle{display:none}.menu-icon{width:18px;height:12px;border-top:1.5px solid currentColor;border-bottom:1.5px solid currentColor;position:relative}.menu-icon::after{content:"";position:absolute;left:0;right:0;top:4px;border-top:1.5px solid currentColor}
@media(min-width:1700px){:root{--gutter:max(6rem,calc((100vw - 1480px)/2))}}
@media(max-width:1100px){.site-header{flex-wrap:wrap;gap:0}.menu-toggle{display:flex;align-items:center;gap:.65rem;background:transparent;border:1px solid var(--line);padding:.65rem .8rem;min-height:44px;font-size:.875rem;color:var(--ink);cursor:pointer}.site-header nav{display:none;flex-basis:100%;padding:1.3rem 0 .5rem;flex-direction:column;align-items:stretch;gap:0}.site-header nav a{padding:.75rem 0;font-size:1rem}.site-header nav .nav-contact{border:none}.site-header.menu-open nav{display:flex;max-height:calc(100dvh - 100px);overflow:auto}.process-grid{gap:2rem}.product-row{grid-template-columns:1fr 1fr;gap:2rem}.hero h1{font-size:clamp(3rem,7vw,5.1rem)}}
@media(max-width:760px){html{scroll-padding-top:80px}.site-header{min-height:80px;padding-top:.85rem;padding-bottom:.85rem;gap:1rem}.brand-name{font-size:.82rem}.brand-name span{font-size:.62rem}.site-header nav{gap:1rem;font-size:.8rem}.hero{min-height:580px}.hero-content{padding-top:4.5rem}.hero h1{font-size:clamp(2.65rem,8.8vw,4.5rem)}.hero-description{font-size:1rem}.hero-footnote{margin-top:3.5rem;font-size:.65rem}.section{padding-top:3.75rem;padding-bottom:3.75rem}.about,.contact{grid-template-columns:1fr;gap:1rem}.contact{gap:2.5rem}.about>.eyebrow{margin-bottom:0}footer{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media(max-width:760px){.hero-image{object-position:60% center}.hero::after{background:linear-gradient(90deg,rgba(9,25,33,.68),rgba(9,25,33,.3))}.hero-content{padding-top:4rem}.hero-footnote{font-size:.75rem;letter-spacing:.08em}.brand-name span{font-size:.65rem}.section-heading{display:block;margin-bottom:2rem}.section-heading>p{max-width:none;margin-top:1.5rem}.aside-note{display:none}.expertise{gap:.65rem 1.3rem}.process-grid{grid-template-columns:1fr;gap:2rem}.process-grid li{padding-top:1.2rem}.step-number{margin-bottom:1rem}.process-grid p{max-width:540px}.step-detail{font-size:.8rem}.product-row{grid-template-columns:1fr;margin-top:3rem;gap:1.8rem;scroll-margin-top:100px}.product-row-reverse .product-image,.product-row-reverse .product-copy{order:initial}.product-image img{aspect-ratio:1.5}.other-products{display:block;margin-top:3rem}.other-products .button{margin-top:1.5rem;white-space:normal;text-align:center}.contact-address{margin-top:2.1rem}.contact-form-panel{padding-top:2rem;border-top:1px solid #4b626c}.contact .contact-email{font-size:1.15rem}.form-row{grid-template-columns:1fr;gap:0}.field input,.field textarea{font-size:1rem}.hero-footnote span{flex-shrink:0}footer{font-size:.8rem}.eyebrow{font-size:.8rem}footer>div{gap:1.5rem}}
@media(max-width:375px){.hero h1{font-size:2.4rem}.hero-footnote{flex-wrap:wrap}.brand{gap:.6rem}.brand-name{font-size:.72rem}.brand-name span{font-size:.61rem}.menu-toggle{padding:.65rem}.menu-label{font-size:.8rem}}

/* Product galleries fill the fixed frame, cropping excess image edges. */
.product-row > * { min-width: 0; }
.product-carousel { background: #fff; overflow: visible; }
.carousel-viewport { position: relative; aspect-ratio: 1.5; overflow: hidden; background: #f3f5f5; touch-action: pan-y pinch-zoom; }
.carousel-slide { position: absolute; inset: 0; margin: 0; width: 100%; height: 100%; }
.carousel-slide[hidden] { display: none; }
.product-carousel .carousel-slide img { width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; user-select: none; -webkit-user-drag: none; transition: none; }
.product-row:hover .product-carousel img { transform: none; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.carousel-dots { display: flex; justify-content: center; gap: 2px; padding-top: 10px; }
.carousel-dot { display: grid; place-items: center; width: 32px; height: 32px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--muted); cursor: pointer; }
.carousel-dot::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #bcc6ca; transition: background .2s, transform .2s; }
.carousel-dot[aria-current="true"]::before { background: #9e4421; transform: scale(1.3); }
.carousel-dot:hover::before { background: var(--ink); }
