
:root{--ink:#102c49;--blue:#245da3;--muted:#657588;--line:#dce4ec;--paper:#f4f7f9;--navy:#0d2948}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);font:16px/1.65 'DM Sans',Arial,sans-serif;background:#fff}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Manrope,Arial,sans-serif}h1{font-size:clamp(42px,5.3vw,78px);line-height:1.12;font-weight:500;letter-spacing:-3px}h2{font-size:clamp(32px,3.5vw,49px);line-height:1.2;letter-spacing:-1.9px;font-weight:500}h3{font-size:25px;line-height:1.35;letter-spacing:-.6px}p{color:var(--muted)}.wrap{max-width:1280px;margin:auto;padding:0 6%}.section{padding:100px 0}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--blue);display:flex;align-items:center;gap:13px;margin-bottom:22px}.eyebrow:before{content:'';width:25px;height:1px;background:currentColor}.topbar{height:35px;background:var(--navy);color:#e7eef6;display:flex;align-items:center;justify-content:space-between;padding:0 5%;font-size:10px;letter-spacing:1.2px}.topbar a{letter-spacing:.6px}header{height:95px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.97);position:sticky;top:0;z-index:20;border-bottom:1px solid #e9edf1}.brand img{width:165px;height:77px;object-fit:contain}nav{display:flex;gap:30px;font-size:13px}nav a{padding:12px 0;position:relative}nav a.active:after{content:'';position:absolute;bottom:3px;left:0;width:100%;height:2px;background:var(--blue)}.header-cta{font-size:12px;border:1px solid #cad7e2;padding:12px 21px;display:flex;gap:30px}.header-cta:hover,.btn:hover{background:#163f70;color:white;transform:translateY(-2px)}.menu-button{display:none;border:0;background:none;font-size:25px}.hero{height:min(660px,52vw);min-height:540px;position:relative;overflow:hidden;background:#e0e7ee}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(234,240,245,.93),rgba(234,240,245,.5) 36%,transparent 58%);pointer-events:none}.hero .wrap{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;width:100%}.hero h1{max-width:620px}.hero h1 em{font-family:Georgia,serif;font-weight:400;color:#31679e}.hero p{max-width:370px;margin-top:24px;color:#465e75;font-size:14px}.actions{display:flex;gap:25px;align-items:center;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;background:var(--blue);color:#fff;border:1px solid var(--blue);padding:16px 25px;font-size:12px;transition:transform .25s,background .25s}.text-link{font-size:12px;border-bottom:1px solid #95a8b9;padding:10px 0}.hero-caption{position:absolute;bottom:24px;left:6%;font-size:9px;letter-spacing:2px;color:#54728c;z-index:2}.intro-strip{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line);padding:28px 6%;gap:30px}.intro-strip>div{display:flex;align-items:center;gap:17px;font-size:13px}.intro-strip span{color:var(--blue);font-size:23px}.intro-strip small{display:block;font-size:11px;color:var(--muted);margin-top:2px}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:40px}.section-head p{max-width:330px;font-size:14px}.product-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.product{border-bottom:1px solid var(--line);padding-bottom:22px}.product-image{height:300px;overflow:hidden;background:#e7e8e4}.product-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.product:hover img{transform:scale(1.035)}.product-body{padding:24px 0 0;display:grid;grid-template-columns:1fr 40px;gap:12px}.product-body p{font-size:13px;max-width:400px;grid-column:1}.circle-arrow{border:1px solid var(--line);border-radius:50%;height:40px;width:40px;display:grid;place-items:center;grid-column:2;grid-row:1/3}.number{font-size:11px;color:#91a2b2;margin-bottom:8px}.story{background:var(--paper)}.split{display:grid;grid-template-columns:1.05fr 1fr;gap:80px;align-items:center}.split-image{height:460px;object-fit:cover;width:100%}.split .copy p{margin-top:23px;font-size:14px}.split .copy .text-link{display:inline-block;margin-top:22px}.story-tag{background:white;padding:20px 25px;display:flex;justify-content:space-between;align-items:center;border-left:3px solid var(--blue);margin:-46px 25px 0;position:relative;font-size:13px;box-shadow:0 10px 30px #193b5710}.story-tag span{font-size:10px;color:var(--muted)}.feature-row{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:50px;padding-top:35px;border-top:1px solid var(--line)}.feature-row h3{font-size:19px}.feature-row p{font-size:13px;margin-top:12px}.feature-row .number{color:var(--blue)}.gallery-preview{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:16px}.gallery-preview img{height:280px;object-fit:cover;width:100%}.gallery-button{border:0;background:none;padding:0;text-align:left;position:relative;overflow:hidden}.gallery-button:after{content:'↗';position:absolute;bottom:15px;right:15px;width:33px;height:33px;background:#ffffffed;color:var(--ink);display:grid;place-items:center}.gallery-button img{transition:transform .5s}.gallery-button:hover img{transform:scale(1.04)}.contact-band{background:#e9eff5;padding:55px 6%;display:flex;justify-content:space-between;align-items:center;gap:30px}.contact-band h2{font-size:37px}.contact-band p{font-size:14px;margin-top:15px}footer{background:var(--navy);color:white;padding:60px 6% 22px}.footer-main{display:grid;grid-template-columns:2fr 1fr 1.5fr;gap:60px;max-width:1126px;margin:auto}.footer-brand{font-family:Georgia,serif;font-size:29px}.footer-brand span{display:block;font:9px Arial;letter-spacing:4px;margin-top:5px}.footer-main p{font-size:12px;color:#a6b7c9;margin-top:20px}.footer-main h3{font-size:12px;margin-bottom:18px;letter-spacing:1px}.footer-main>div>a:not(.footer-brand){display:block;font-size:12px;color:#d4dfeb;margin:9px 0}.footer-bottom{max-width:1126px;margin:45px auto 0;padding-top:22px;border-top:1px solid #ffffff20;display:flex;justify-content:space-between;gap:25px;color:#9fb1c3;font-size:9px}.page-hero{background:#ecf1f6;padding:65px 0 70px}.page-hero h1{font-size:60px}.page-hero p{max-width:620px;margin-top:22px}.breadcrumb{font-size:11px;color:var(--muted);margin-bottom:30px}.prose p{margin-bottom:24px}.prose{font-size:15px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery-grid img{width:100%;height:260px;object-fit:cover}.gallery-grid figure{margin:0}.gallery-grid figcaption{font-size:11px;color:var(--muted);padding:10px 0}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px}.filters button{padding:9px 18px;border:1px solid var(--line);background:white;color:var(--ink);font-size:12px}.filters button.selected{background:var(--navy);color:white}.contact-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:70px}.contact-details h3{margin-bottom:25px}.contact-details a{display:block;margin:13px 0}.contact-details p{margin-bottom:20px;font-size:14px}.people{margin-top:30px;padding-top:25px;border-top:1px solid var(--line)}.people a{font-size:14px;display:flex;justify-content:space-between}.contact-form{padding:36px;background:var(--paper)}.contact-form h3{margin-bottom:8px}.contact-form p{font-size:12px;margin-bottom:24px}.contact-form label{font-size:12px;display:block;margin:17px 0 5px}.contact-form input,.contact-form select,.contact-form textarea{display:block;width:100%;border:1px solid #cfdae4;padding:12px;background:white;color:var(--ink);border-radius:0}.contact-form textarea{min-height:120px;resize:vertical}.contact-form .btn{margin-top:22px;width:100%}.map-image{width:100%;max-height:400px;object-fit:cover;margin-top:35px}.lightbox{max-width:95vw;max-height:94vh;border:0;padding:25px;background:#fff}.lightbox::backdrop{background:#061c30dc}.lightbox img{max-height:78vh;max-width:85vw;margin:auto;object-fit:contain}.lightbox p{text-align:center;font-size:12px;padding-top:10px}.close{position:absolute;right:3px;top:0;background:white;border:0;font-size:28px;width:30px}.skip{position:fixed;top:-60px;left:10px;z-index:100;background:white;padding:10px}.skip:focus{top:10px}:focus-visible{outline:3px solid #5599de;outline-offset:4px}.reveal{animation:rise .65s both}@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.note{font-size:12px;border-left:2px solid #9fb6cc;padding-left:15px;margin-top:30px;color:var(--muted)}
@media(min-width:1500px){.hero{height:720px}.hero .wrap{max-width:1400px}}
@media(max-width:900px){nav{gap:17px}.header-cta{display:none}.hero h1{font-size:57px;max-width:430px}.split{gap:35px}.gallery-grid{grid-template-columns:repeat(2,1fr)}.contact-grid{gap:35px}.topbar span:nth-child(2){display:none}}
@media(max-width:640px){header{height:78px}.brand img{width:135px;height:65px}.menu-button{display:block}nav{display:none;position:absolute;top:78px;left:0;right:0;padding:25px 6%;background:white;border-bottom:1px solid var(--line);flex-direction:column;gap:6px}nav.open{display:flex}.hero{min-height:760px;height:calc(100svh - 113px);max-height:850px}.hero-image{height:57%;top:auto;bottom:0;object-fit:cover;object-position:73% center}.hero:after{background:linear-gradient(#e1e8ef 0%,#e1e8ef 35%,transparent 65%)}.hero .wrap{justify-content:flex-start;padding-top:45px}.hero h1{font-size:46px;letter-spacing:-2px;max-width:100%}.hero p{font-size:13px;margin-top:18px;max-width:320px}.hero .eyebrow{margin-bottom:17px}.actions{margin-top:22px;gap:18px}.btn{padding:14px 18px;gap:16px}.hero-caption{bottom:13px;font-size:8px}.intro-strip{grid-template-columns:1fr;padding:24px 6%;gap:20px}.intro-strip>div{border-bottom:1px solid var(--line);padding-bottom:16px}.intro-strip>div:last-child{border:0;padding-bottom:0}.section{padding:65px 0}.section-head{display:block}.section-head p{margin-top:20px}.section-head .text-link{display:inline-block;margin-top:16px}.product-grid,.split,.contact-grid{grid-template-columns:1fr}.product-grid{gap:35px}.product-image{height:250px}.split-image{height:330px}.feature-row{grid-template-columns:1fr;gap:28px}.gallery-preview{grid-template-columns:1fr 1fr}.gallery-preview button:first-child{grid-column:1/-1}.gallery-preview img{height:210px}.contact-band{display:block}.contact-band .btn{margin-top:24px}.footer-main{grid-template-columns:1fr 1fr;gap:35px}.footer-main>div:first-child{grid-column:1/-1}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:10px}.page-hero{padding:40px 0 45px}.page-hero h1{font-size:44px}.gallery-grid{gap:12px}.gallery-grid img{height:160px}.contact-form{padding:25px}.people a{flex-wrap:wrap;gap:10px}.contact-band h2{font-size:31px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media(max-width:640px){.hero{min-height:820px}.hero h1{font-size:39px;letter-spacing:-1.7px}.hero-image{height:48%;object-position:76% center}.hero:after{background:linear-gradient(#e1e8ef 0%,#e1e8ef 45%,transparent 67%)}.hero .wrap{padding-top:35px}.hero .eyebrow{font-size:9px;letter-spacing:1.6px}.hero p{max-width:300px}.hero-caption{max-width:210px;line-height:1.5}.product-image{display:block}}
:root{--ink:#282723;--blue:#722c36;--muted:#5c5954;--line:#dedbd3;--paper:#f4f1eb;--navy:#2b2926}body{background:#fcfaf6}header{background:#fcfaf7}.topbar{background:#302c29}.header-cta:hover,.btn:hover{background:#51222a}.page-hero,.contact-band{background:#eeeae2}.page-hero h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400}.section-head h2{letter-spacing:-1.6px}.brand img{mix-blend-mode:multiply}.eyebrow{letter-spacing:2px}.story-tag{border-color:#c09c52}.mill-hero{display:grid;grid-template-columns:42% 58%;position:relative;background:#342f29;isolation:isolate;color:#fff;min-height:510px;height:min(43vw,640px)}.mill-hero>img{grid-column:2;grid-row:1;width:100%;height:100%;object-fit:cover;min-height:0}.mill-copy{grid-row:1;grid-column:1;padding:55px clamp(24px,5vw,95px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:linear-gradient(125deg,#372b29,#302c27)}.mill-copy .eyebrow{color:#e2bf7c}.mill-copy h1{font-family:Georgia,serif;font-size:clamp(54px,5.2vw,88px);letter-spacing:-3px;line-height:1.02}.mill-copy h1 i{font-weight:400;color:#e4d1aa}.mill-copy p{max-width:340px;font-size:15px;margin-top:25px;line-height:1.75;color:#e4ded8}.mill-copy .btn{background:#f2e8d4;color:#3b2d26;border-color:#f2e8d4}.mill-copy .text-link{color:#fff;border-color:#96867d}.mill-credit{position:absolute;right:20px;bottom:15px;letter-spacing:2px;font-size:9px;background:#282521e0;color:#fff;padding:6px 12px}.mill-index{display:flex;justify-content:space-between;align-items:center;padding:22px 5%;border-bottom:1px solid var(--line);font-size:10px;letter-spacing:1.6px}.mill-index a{font-size:14px;letter-spacing:.2px}.mill-index b{color:var(--blue);margin-left:8px}.product-image{display:block}.packing{margin:52px 0 24px;display:grid;grid-template-columns:1.3fr 1fr;align-items:center;background:#eeebe3}.packing img{width:100%;max-height:380px;object-fit:cover}.packing figcaption{padding:35px}.packing small{letter-spacing:2px;color:var(--blue)}.packing h3{margin:14px 0}.footer-main p,.footer-bottom{color:#d0c9be}.footer-main>div>a:not(.footer-brand){color:#f1e9df}.contact-form{background:#f1eee7}.gallery-grid .gallery-button{width:100%}.gallery-grid figcaption{color:#554e45}.story-tag span,.number{color:#6d6259}@media(max-width:800px){.mill-copy{padding:32px}.mill-copy .actions{gap:15px;flex-wrap:wrap}}@media(max-width:640px){.mill-hero{display:flex;flex-direction:column;height:auto;min-height:0}.mill-copy{order:-1;padding:36px 6% 34px}.mill-copy h1{font-size:50px}.mill-copy h1 br{display:none}.mill-copy h1 i:before{content:' '}.mill-copy p{margin-top:16px}.mill-hero>img{height:270px}.mill-index span:last-child{display:none}.mill-index{gap:10px;padding:16px 6%}.packing{grid-template-columns:1fr}.packing figcaption{padding:24px}.mill-credit{bottom:10px;right:10px}.actions{margin-top:20px}}
.mill-hero{display:flex;overflow:hidden;background:#241e19}.mill-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:67% center;animation:camera 8s ease-out both}.mill-copy{position:relative;z-index:1;width:49%;background:linear-gradient(90deg,#211a15df,transparent)}.mill-credit{z-index:2}@keyframes camera{from{transform:scale(1.045)}to{transform:scale(1)}}@media(max-width:640px){.mill-hero{flex-direction:column-reverse}.mill-hero>img{position:relative;height:260px;object-position:82% center}.mill-copy{order:0;width:100%;background:#2f2721}.mill-credit{bottom:7px}}@media(prefers-reduced-motion:reduce){.mill-hero>img{animation:none}}
@media(min-width:761px){.mill-copy h1{font-size:clamp(2.8rem,5vw,5rem);line-height:1.08}}@media(max-width:760px){.mill-copy h1{font-size:clamp(1.8rem,6vw,2.8rem);line-height:1.12}}

html { scrollbar-gutter: stable; }
.mill-hero {
  height: calc(100svh - 130px);
  min-height: 0;
  background: #211c18;
}
.mill-hero > img {
  object-fit: contain;
  object-position: right center;
  animation: none;
}
.mill-copy { align-self: stretch; }
@media (max-width: 760px) {
  .mill-hero { height: auto; flex-direction: column; }
  .mill-hero > img { position: static; height: auto; order: 1; }
  .mill-copy { padding: 28px 6%; }
}
@media (prefers-reduced-motion: no-preference) {
  main > section:first-child { animation: page-arrival .32s ease-out both; }
  @keyframes page-arrival { from { opacity: .35; } to { opacity: 1; } }
}

@media (prefers-reduced-motion: no-preference) {
  main > .mill-hero:first-child { animation: none; }
  .mill-hero > img { animation: mill-light 1.2s ease-out both; }
  .mill-copy h1 > span, .mill-copy h1 > i {
    display: inline-block;
    animation: mill-title .75s cubic-bezier(.2,.7,.3,1) .15s both;
  }
  .mill-copy h1 > i { animation-delay: .38s; }
  .mill-copy h1 br { display: initial; }
  @keyframes mill-light { from { opacity: .18; } to { opacity: 1; } }
  @keyframes mill-title {
    from { opacity: 0; transform: translateY(.25em); }
    to { opacity: 1; transform: translateY(0); }
  }
}

/* Interior pages share a navy masthead with photography from the site archive. */
main[data-page="products"] { --masthead: url("assets/source-8.jpg"); }
main[data-page="about"] { --masthead: url("assets/source-18.jpg"); }
main[data-page="facility"] { --masthead: url("assets/source-10.jpg"); }
main[data-page="contact"] { --masthead: url("assets/source-18.jpg"); }
.page-hero {
  background: linear-gradient(90deg,#102944 10%,rgba(16,41,68,.96) 40%,rgba(16,41,68,.42)), var(--masthead) right 45% / cover;
  color: white;
  padding: clamp(28px,4vw,56px) 0;
  border-bottom: 4px solid #c69c54;
}
.page-hero h1 { color: white; }
.page-hero p, .page-hero .breadcrumb, .page-hero .breadcrumb a { color: #eef3f8; }
.page-hero .eyebrow { color: #f3d39b; }
.page-hero .breadcrumb { margin-bottom: 18px; }
.page-hero ~ .section { padding-block: clamp(36px,5vw,72px); }
.page-hero ~ .story { background: #e9eff3; }
.page-hero ~ .section .product-body, .gallery-grid figcaption {
  background: #f3efe7;
  border-top: 2px solid #c69c54;
  padding: 16px clamp(12px,2vw,24px);
}
.page-hero ~ .section .prose, .contact-details { border-left: 3px solid #c69c54; padding-left: clamp(16px,3vw,40px); }
.contact-form { background: #e9eff3; border-top: 3px solid #234768; }
@media(max-width: 700px) {
  .page-hero { background-image: linear-gradient(90deg,#102944f5,#102944bd),var(--masthead); }
}

.privacy{max-width:760px}.privacy h1,.privacy h2{margin:1em 0 .4em}.privacy h2{font-size:1.6rem}.privacy a,.contact-form p a{text-decoration:underline}.intro-gap{margin-top:24px}


.gallery-preview .gallery-button[data-image="27"] { background: #e8ebed; }
.gallery-preview .gallery-button[data-image="27"] img {
  object-fit: contain;
  transform: none;
}
