@charset "UTF-8";

/* Graphite and anodized aluminum. Layout and original photographs are unchanged. */
:root{
  color-scheme:dark;
  --paper:#10171D;
  --ink:#EEF3F6;
  --muted:#AFBEC8;
  --line:#34434F;
  --blue:#ABC5D6;
  --blue-mid:#8BA9BD;
  --blue-light:#C0D5E1;
  --logo-gray:#A9B7C1;
  --steel-surface:#19242D;
  --steel-raised:#21303B;
  --steel-deep:#0B1117;
  --silver:#E4EDF3;
  --ice:#BCD4E3;
  --product-paper:#EDF0F2;
  --photo-backdrop:#17222A;
}

html,body{background:var(--paper);color:var(--ink)}
body{color-scheme:dark}
::selection{background:#7896AA;color:#081119}
button:focus-visible,a:focus-visible{outline-color:var(--ice)}
h1,h2,h3{color:var(--silver)}
.eyebrow{color:#A9C5D6}
.section-kicker:before{background:#90AFBF}
.section-kicker .muted{color:#8FA4B3}
.body-copy,.page-title-row p{color:#BCC8D0}

/* A narrow, directional highlight reads as a metal edge, not a glowing header. */
.site-header{
  background:linear-gradient(180deg,#293740 0,#17232C 2px,#161F27 8px,#121B22 88%,#18232C 100%);
  border-bottom-color:#506572;
  box-shadow:inset 0 1px 0 #C6D5DC18,0 1px 0 #050B10;
}
.wordmark{background:transparent;box-shadow:none}
.site-header nav a{color:#ADBFCB}
.site-header nav a span{color:#93B0C2}
.site-header nav a:hover,.site-header nav a.active{color:#F0F5F8}
.site-header nav a::after{background:linear-gradient(90deg,#718E9E,#D3E1E9,#7895A5)}
.header-contact{color:#D7E6F0;border-bottom-color:#788E9E}
.header-contact:hover{color:#fff;border-bottom-color:#D1E2ED}

/* Aluminum button faces: one restrained sweep on hover, with no looping motion. */
.button{
  color:#E2EDF5;
  background:linear-gradient(180deg,#354957 0,#263845 8%,#1A2A36 70%,#243A4A 100%);
  border-color:#6F8798 #334E61 #223646 #526D80;
  box-shadow:inset 0 1px 0 #D1E4EF24,inset 0 -1px 0 #07111BB3,0 2px 5px #00000016;
  transition:color 240ms ease,border-color 240ms ease,box-shadow 240ms ease;
}
.button::before{
  background:linear-gradient(115deg,transparent 27%,#D6EBF512 43%,#EDF8FE2B 50%,#D6EBF510 57%,transparent 73%);
  transform:translateX(-125%);
  transition:transform 560ms cubic-bezier(.22,1,.36,1);
  pointer-events:none;
}
.button:hover,.button:focus-visible{
  color:#fff;
  border-color:#99B3C4 #54748A #3C576A #809DAF;
  box-shadow:inset 0 1px 0 #E1F0F733,inset 0 -1px 0 #07111BB3,0 3px 8px #00000022;
}
.button:hover::before,.button:focus-visible::before{transform:translateX(125%)}
.button:hover .arrow,.button:focus-visible .arrow{transform:translate(4px,-1px)}
.button:disabled,.button:disabled:hover{color:#8B9FAB;cursor:default;box-shadow:none;opacity:.55}
.button:disabled::before{display:none}
.button:disabled .arrow{transform:none}
.text-link{color:#D0E0EB;border-bottom-color:#4E6575}
.text-link:hover{color:#fff;border-bottom-color:#93B0C1}

/* Original photographs stay in their original colors. Only the surrounding mat changes. */
.about-image{background:var(--photo-backdrop)}
.about-image>img{object-fit:contain}
.image-caption{background:var(--steel-surface);color:#C6D8E4;border-top:1px solid #3E5362}
.about-bottom{border-color:var(--line)}
.about-bottom .small-number{color:#8EAABB}
.about-bottom h3{color:#DDE8EF}
.about-bottom p{color:#AFBDC7}

.filters{border-bottom-color:#3B4D5A;scrollbar-color:#698598 transparent}
.filter{color:#ACBFCC}
.filter:hover{background:#1B2A35;color:#EDF5FA}
.filter.active{background:#20303B;color:#E3EEF5}
.filter.active::after{background:#A7C0D0}

/* Catalogue cards remain open and unframed. */
.gallery-card{background:transparent;color:var(--ink);border:0;box-shadow:none}
.project-card .card-image{background:var(--photo-backdrop)}
.product-card .card-image{background:var(--product-paper)}
.card-image img{object-fit:contain}
.card-image .view-mark{
  color:#D4E6F2;
  background:#1E303E;
  border-color:#5D7B8F;
  box-shadow:inset 0 1px 0 #C3DCEB1A;
}
.gallery-card:hover .view-mark{background:#C0D3DF;border-color:#DEEAF2;color:#162734}
.card-copy{border-bottom-color:var(--line)}
.card-kicker{color:#94B3C7}
.card-title{color:#E6EEF4}
.card-description{color:#AEBFCB}
.card-meta{color:#95ACBD}
.collection-footer>span{color:#A1B4C3}

/* The factory keeps its full-width photo column and shared introduction. */
.factory-photo{background:var(--photo-backdrop)}
.factory-photo img{object-fit:contain}
.factory-overview h2,.factory-facts h3{color:#E3ECF3}
.factory-overview p,.factory-overview .factory-intro{color:#B5C4CF}
.factory-overview .factory-mobile-address{color:#9FB4C3}
.factory-facts section{border-color:#3A4C5B}
.factory-tile{color:var(--ink);background:transparent}
.factory-tile .card-image{background:var(--photo-backdrop)}

.contact-section,.contact-information,.contact-information>div+div{border-color:var(--line)}
.contact-heading h2{color:#EDF3F7}
.map-frame{background:#1A2731;border-color:#4D6372}
.map-frame iframe{color-scheme:light}
.map-copy h3{color:#E1ECF3}
.map-copy p{color:#B5C5D0}
.contact-information h3{color:#E0EAF1}
.contact-information p{color:#BCCBD5}
.contact-information a{color:#D8E8F2}
.contact-information a:hover{color:#fff;text-decoration-color:#A5C0D1}
.phone-divider{color:#7690A3}

.site-footer{background:var(--steel-deep);border-top-color:#354753;color:#93AABB}
.site-footer span:first-child{color:#BECDD8}
#page-index{color:#BDD1DF}

.circle-button{
  color:#CCDDE9;
  background:#1A2935;
  border-color:#567185;
  box-shadow:inset 0 1px 0 #CDE2EF16;
}
.circle-button:hover{background:#B9CEDD;border-color:#D6E4ED;color:#172A39}
.circle-button:disabled{opacity:.4;cursor:default;box-shadow:none}
.circle-button:disabled:hover{background:#1A2935;border-color:#567185;color:#CCDDE9}

/* Existing machined border is retained around the whole detail dialog. */
#gallery-dialog{
  --dialog-media:var(--photo-backdrop);
  background:#14212B;
  background-clip:padding-box;
  color:#E5EEF5;
  overflow:auto;
  box-shadow:0 0 0 .5px #91ADBE80,inset 0 0 0 1px #B4CBDC18,0 25px 85px #00000080;
  scrollbar-color:#617F93 #14212B;
}
#gallery-dialog::backdrop{background:rgba(4,10,15,.82)}
#gallery-dialog .dialog-close{background:#1D2C38;color:#E4EFF6;border-color:#6B879B}
#gallery-dialog .dialog-close:hover{background:#C3D6E2;color:#182A37;border-color:#DCE9F1}
#gallery-dialog .dialog-picture>img{background:var(--dialog-media);object-fit:contain}
.dialog-copy h2{color:#ECF3F8}
.dialog-copy>p{color:#B6C8D5}
.dialog-details>div{border-color:#3E5566}
.dialog-details dt{color:#A6C2D5}
.dialog-details dd{color:#D0DEE8}
#dialog-image-count{color:#ACC7D9}
.dialog-image-controls{color:#B6CCDC}
#dialog-thumbnails button{background:var(--dialog-media);border-color:#476579}
#dialog-thumbnails button.active{border-color:#C2D9E7}
#dialog-thumbnails button:hover{border-color:#8EAFBF}
#dialog-thumbnails img{object-fit:contain}

/* Product photographs have their original white backgrounds, so retain a pale mat in detail views. */
#gallery-dialog[data-gallery-section="products"]{
  --dialog-media:var(--product-paper);
}

.back-to-top{
  background:linear-gradient(180deg,#354B5B,#1D3141 12%,#172936 86%,#2C4659);
  color:#E1EEF7;
  border-color:#708C9F #354F64 #203748 #547287;
  box-shadow:inset 0 1px 0 #D2E5F122,0 5px 18px #00000033;
}
.back-to-top:hover{background:linear-gradient(180deg,#466173,#284659 14%,#1E3545 86%,#405D70);color:#fff}

@media(max-width:740px){
  .site-header{background:linear-gradient(180deg,#1A2731,#121B22 88%,#1A2934)}
  .header-contact{color:#D9E8F2}
  .contact-information>div+div{border-color:#344957}
  #gallery-dialog{box-shadow:0 0 0 .5px #91ADBE80,inset 0 0 0 .5px #B4CBDC18,0 16px 50px #00000080}
  .back-to-top{box-shadow:inset 0 1px 0 #D2E5F122,0 3px 12px #00000040}
}

@media(prefers-reduced-motion:reduce){
  .button,.button::before,.button .arrow,.back-to-top,.back-to-top>span:first-child,.circle-button,.card-image .view-mark{transition:none}
  .button::before{display:none}
  .button:hover .arrow,.button:focus-visible .arrow,.gallery-card:hover .view-mark{transform:none}
  #gallery-dialog::backdrop{backdrop-filter:none}
}
