
:root {
  --background: 220 51% 16%;
  --foreground: 45 49% 90%;
  --card: 221 48% 21%;
  --card-foreground: 45 49% 90%;
  --popover: 221 48% 21%;
  --popover-foreground: 45 49% 90%;
  --primary: 5 72% 59%;
  --primary-foreground: 220 51% 16%;
  --secondary: 220 44% 26%;
  --secondary-foreground: 45 49% 90%;
  --muted: 220 44% 26%;
  --muted-foreground: 44 20% 70%;
  --accent: 5 72% 59%;
  --accent-foreground: 45 49% 90%;
  --destructive: 5 72% 59%;
  --destructive-foreground: 45 49% 90%;
  --border: 45 20% 60%;
  --input: 220 44% 26%;
  --ring: 5 100% 68%;
  --radius: .25rem;
  --navy: #14213D;
  --panel: #1B2A4E;
  --steel: #253860;
  --cream: #F2ECD9;
  --coral: #E2574C;
  --coral-bright: #FF6E5E;
  --line: rgba(242,236,217,.18);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--navy); color: var(--cream); font-family: 'Segoe UI', Arial, sans-serif; overflow-x: clip; -webkit-font-smoothing: antialiased; }
::selection { background: var(--coral); color: var(--cream); }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
img { max-width: 100%; display: block; }
:focus-visible { outline: 2px solid var(--coral-bright); outline-offset: 4px; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; } }

.site-header { position: relative; z-index: 30; background: var(--navy); border-bottom: 1px solid var(--line); }
.nav-inner { max-width: 1600px; height: 88px; margin: auto; padding: 0 clamp(24px,5vw,80px); display: flex; align-items: center; justify-content: space-between; gap: 38px; }
.brand { display: inline-flex; align-items: center; gap: 10px; flex-shrink: 0; width: max-content; }
.brand-logo { height: 76px; width: auto; display: block; object-fit: contain; }
.footer-intro .brand-logo { height: 104px; }
.desktop-nav, .nav-actions { display: flex; align-items: center; }
.desktop-nav { gap: clamp(17px,2.3vw,38px); margin-left: auto; }
.nav-link { font-size: 12px; font-weight: 800; letter-spacing: .075em; color: #c2c7ce; transition: color .2s; white-space: nowrap; }
.nav-link:hover, .nav-link.active { color: var(--coral-bright); }
.nav-actions { gap: 24px; }
.social-link { display: inline-flex; color: var(--cream); transition: color .2s,filter .2s; }
.social-link:hover { color: var(--coral-bright); filter: drop-shadow(0 0 8px rgba(255,110,94,.5)); }
.nav-cta { display: inline-flex; align-items: center; gap: 13px; border: 1px solid var(--coral); padding: 12px 18px; color: var(--cream); font: 800 11px 'Manrope',sans-serif; letter-spacing: .1em; white-space: nowrap; transition: background .2s,box-shadow .2s; }
.nav-cta:hover { background: var(--coral); box-shadow: 0 0 24px rgba(226,87,76,.25); }
.menu-toggle, .mobile-nav { display: none; }

.hero { min-height: min(790px,calc(100dvh - 88px)); min-height: max(680px,calc(100dvh - 88px)); position: relative; display: flex; flex-direction: column; overflow: hidden; background: #101b32; }
.hero-image { position: absolute; width: 100%; height: 100%; inset: 0; object-fit: cover; object-position: center; }
.hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg,#14213D 0%,rgba(20,33,61,.97) 20%,rgba(20,33,61,.78) 41%,rgba(20,33,61,.1) 78%),linear-gradient(0deg,rgba(20,33,61,.85),transparent 23%); }
.hero-inner { position: relative; width: 100%; max-width: 1600px; padding: clamp(80px,12vh,150px) clamp(24px,7vw,112px) 70px; margin: auto; flex: 1; display: flex; align-items: center; }
.hero-copy { max-width: 680px; }
.eyebrow { font-size: 11px; font-weight: 800; letter-spacing: .2em; line-height: 1.5; }
.eyebrow.coral, .coral { color: var(--coral-bright); }
.signal-dot { width: 7px; height: 7px; display: inline-block; background: var(--coral); border-radius: 50%; margin-right: 9px; box-shadow: 0 0 13px var(--coral); }
.hero h1 { font: 900 clamp(78px,9.5vw,158px)/.78 'Arial Narrow', 'Segoe UI', Arial, sans-serif; letter-spacing: -.03em; margin: 32px 0 38px; }
.hero h1 em { font-style: normal; color: var(--coral-bright); }
.hero h2 { font: 800 clamp(19px,2vw,30px)/1 'Arial Narrow', 'Segoe UI', Arial, sans-serif; letter-spacing: .09em; margin: 0 0 18px; }
.hero-copy > p { color: #d2d7dc; font-size: 14px; line-height: 1.85; max-width: 540px; margin: 0; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.button { min-height: 52px; padding: 0 23px; display: inline-flex; justify-content: center; align-items: center; gap: 25px; font-size: 11px; font-weight: 800; letter-spacing: .12em; border: 1px solid transparent; transition: background .22s,color .22s,border-color .22s,box-shadow .22s,transform .22s; text-align: center; }
.button:hover { transform: translateY(-2px); }
.button:active { transform: scale(.98); }
.button-primary { background: var(--coral); color: #fff; }
.button-primary:hover { background: var(--coral-bright); box-shadow: 0 0 27px rgba(226,87,76,.35); }
.button-outline { border-color: rgba(242,236,217,.6); background: rgba(20,33,61,.3); color: var(--cream); }
.button-outline:hover { border-color: var(--coral-bright); box-shadow: 0 0 24px rgba(226,87,76,.16); }
.button-light { background: var(--cream); color: var(--navy); }
.button-light:hover { background: #fff; box-shadow: 0 0 25px rgba(242,236,217,.24); }
.hero-vertical { position: absolute; right: 36px; top: 50%; writing-mode: vertical-rl; font-size: 9px; letter-spacing: .24em; font-weight: 800; color: #d3d1c7; transform: translateY(-50%); }
.hero-bottom { position: relative; border-top: 1px solid rgba(242,236,217,.18); padding: 19px clamp(24px,7vw,112px); display: flex; justify-content: space-between; font-size: 10px; font-weight: 800; letter-spacing: .19em; color: #c5c8ca; }
.hero-bottom span:last-child { display: flex; gap: 12px; align-items: center; }

.section { padding: 95px clamp(24px,6vw,96px) 110px; max-width: 1600px; margin: auto; }
.section-topline { border-top: 1px solid var(--line); display: flex; justify-content: space-between; padding-top: 13px; gap: 20px; color: #b6bdc9; font-size: 9px; font-weight: 800; letter-spacing: .18em; }
.section-heading-row { display: flex; justify-content: space-between; align-items: end; gap: 30px; margin: 58px 0 43px; }
.display-heading { font: 900 clamp(62px,7vw,112px)/.88 'Arial Narrow', 'Segoe UI', Arial, sans-serif; letter-spacing: -.015em; margin: 10px 0 18px; }
.display-heading span { color: var(--coral-bright); }
.section-lead { color: #bdc5d1; font-size: 15px; line-height: 1.8; max-width: 560px; margin: 0; }
.text-link { border: 0; border-bottom: 1px solid var(--coral); background: none; padding: 0 0 9px; display: inline-flex; align-items: center; justify-content: space-between; gap: 23px; font-size: 11px; font-weight: 800; letter-spacing: .12em; width: max-content; max-width: 100%; transition: color .2s,border-color .2s,filter .2s; }
.text-link:hover { color: var(--coral-bright); filter: drop-shadow(0 0 7px rgba(226,87,76,.35)); }
.heading-link { margin-bottom: 7px; white-space: nowrap; }
.product-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; }
.product-card { min-width: 0; background: var(--panel); border: 1px solid rgba(242,236,217,.12); transition: border-color .22s,box-shadow .22s,transform .22s; }
.product-card:hover { border-color: rgba(255,110,94,.65); box-shadow: 0 12px 38px rgba(5,12,28,.2),0 0 18px rgba(226,87,76,.1); transform: translateY(-3px); }
.product-image-link { display: block; position: relative; aspect-ratio: 1/.92; background: #0f1b34; overflow: hidden; }
.product-image-link img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease-out; }
.product-card:hover img { transform: scale(1.045); }
.image-index { position: absolute; left: 16px; bottom: 16px; font: 700 10px 'Manrope',sans-serif; letter-spacing: .14em; text-shadow: 0 1px 5px #000; }
.product-info { padding: 22px 21px 23px; }
.product-topline { display: flex; justify-content: space-between; align-items: center; gap: 7px; color: #abb8ca; font-size: 9px; text-transform: uppercase; letter-spacing: .09em; font-weight: 800; }
.status { display: inline-block; border: 1px solid var(--coral); color: var(--coral-bright); padding: 6px 7px; font-size: 9px; font-weight: 800; letter-spacing: .09em; white-space: nowrap; }
.status-custom { color: var(--cream); border-color: rgba(242,236,217,.6); }
.product-info h3 { font: 800 clamp(26px,2.3vw,37px)/1 'Arial Narrow', 'Segoe UI', Arial, sans-serif; text-transform: uppercase; margin: 22px 0 11px; }
.product-info h3 a:hover { color: var(--coral-bright); }
.product-info p { color: #b9c3d0; font-size: 12px; line-height: 1.75; min-height: 65px; margin: 0 0 24px; }
.product-info .text-link { width: 100%; }
.collection-note { font-size: 11px; color: #9facbd; margin: 20px 0 0; }

.process-section { display: grid; grid-template-columns: 49% 51%; background: var(--panel); min-height: 740px; }
.process-visual { position: relative; min-height: 620px; background: #0c172d; overflow: hidden; }
.process-visual img { width: 100%; height: 100%; position: absolute; object-fit: cover; }
.process-visual::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg,rgba(20,33,61,.45),transparent 45%); pointer-events: none; }
.vertical-label { position: absolute; z-index: 1; left: 30px; bottom: 30px; writing-mode: vertical-rl; transform: rotate(180deg); font-size: 9px; font-weight: 800; letter-spacing: .18em; }
.process-content { padding: clamp(60px,7vw,115px) clamp(35px,7vw,105px); display: flex; flex-direction: column; justify-content: center; }
.process-content .display-heading { font-size: clamp(55px,5.3vw,90px); }
.period { color: var(--coral-bright); }
.steps-list { margin-top: 32px; border-top: 1px solid var(--line); }
.step { display: grid; grid-template-columns: 70px 1fr; border-bottom: 1px solid var(--line); padding: 19px 0; }
.step > span { font: 700 12px 'Manrope',sans-serif; color: var(--coral-bright); padding-top: 6px; }
.step h3 { font: 800 24px/1 'Arial Narrow', 'Segoe UI', Arial, sans-serif; letter-spacing: .06em; margin: 0 0 5px; }
.step p { font-size: 12px; line-height: 1.7; color: #b9c3d0; margin: 0; }
.custom-banner { background: var(--coral); position: relative; overflow: hidden; }
.custom-banner::after { content: 'R3'; position: absolute; right: -30px; top: -110px; font: 900 480px/1 'Arial Narrow', 'Segoe UI', Arial, sans-serif; letter-spacing: -.07em; color: rgba(20,33,61,.08); pointer-events: none; }
.custom-inner { max-width: 1600px; margin: auto; position: relative; z-index: 1; padding: 92px clamp(24px,6vw,96px) 80px; }
.custom-inner .eyebrow { color: #fff7e9; }
.custom-inner h2 { font: 900 clamp(75px,9vw,150px)/.82 'Arial Narrow', 'Segoe UI', Arial, sans-serif; letter-spacing: -.02em; margin: 30px 0 55px; }
.custom-inner h2 em, .contact-prompt h2 em { font-style: normal; color: var(--navy); }
.custom-banner-bottom { display: flex; justify-content: space-between; align-items: end; gap: 40px; border-top: 1px solid rgba(242,236,217,.5); padding-top: 25px; }
.custom-banner-bottom p { max-width: 550px; line-height: 1.7; font-size: 14px; margin: 0; }
.social-section { max-width: 1600px; margin: auto; padding: 95px clamp(24px,6vw,96px); display: flex; justify-content: space-between; align-items: end; gap: 70px; }
.social-section h2 { font: 900 clamp(50px,5.7vw,95px)/.9 'Arial Narrow', 'Segoe UI', Arial, sans-serif; margin: 18px 0 0; }
.social-section > div:last-child { width: 340px; flex-shrink: 0; }
.social-section p:not(.eyebrow) { font-size: 13px; line-height: 1.85; color: #c5ccd5; margin: 0 0 28px; }

.page-intro { min-height: 370px; position: relative; overflow: hidden; padding: 40px clamp(24px,6vw,96px) 68px; background: var(--panel); }
.page-intro .section-topline { max-width: 1408px; margin: auto; }
.page-intro-content { max-width: 1408px; margin: 66px auto 0; position: relative; z-index: 1; }
.page-intro h1 { font: 900 clamp(72px,9vw,152px)/.85 'Arial Narrow', 'Segoe UI', Arial, sans-serif; letter-spacing: -.025em; margin: 12px 0 20px; }
.page-intro-content > p:last-child { max-width: 640px; font-size: 16px; color: #c6ced9; line-height: 1.75; margin: 0; }
.page-intro-mark { position: absolute; right: 5%; bottom: -100px; font: 900 380px/.8 'Arial Narrow', 'Segoe UI', Arial, sans-serif; letter-spacing: -.09em; color: rgba(242,236,217,.035); pointer-events: none; }
.story-section { max-width: 1500px; margin: auto; padding: 120px clamp(24px,6vw,96px); display: grid; grid-template-columns: 1fr 1fr; gap: 9%; }
.story-statement h2 { font: 900 clamp(66px,7vw,110px)/.86 'Arial Narrow', 'Segoe UI', Arial, sans-serif; margin: 35px 0 0; }
.story-statement em { font-style: normal; color: var(--coral-bright); }
.story-body { padding-top: 30px; }
.small-rule { display: block; width: 55px; height: 3px; background: var(--coral); margin-bottom: 38px; }
.story-body p { color: #c4cbd5; font-size: 15px; line-height: 1.95; margin: 0 0 25px; }
.story-body .text-link { margin-top: 15px; }
.about-image { height: 520px; position: relative; }
.about-image img { width: 100%; height: 100%; object-fit: cover; object-position: center 42%; }
.about-image::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(20,33,61,.85),transparent 75%); }
.about-image div { position: absolute; z-index: 1; left: 6%; bottom: 14%; }
.about-image span { font: 700 12px 'Manrope',sans-serif; letter-spacing: .2em; }
.about-image strong { display: block; font: 900 clamp(55px,7vw,110px)/.9 'Arial Narrow', 'Segoe UI', Arial, sans-serif; margin-top: 18px; }
.values-strip { display: grid; grid-template-columns: repeat(3,1fr); max-width: 1600px; margin: auto; padding: 75px clamp(24px,6vw,96px); gap: 30px; }
.values-strip > div { border-top: 1px solid var(--coral); padding-top: 16px; }
.values-strip span { font-size: 10px; font-weight: 800; letter-spacing: .16em; color: var(--coral-bright); }
.values-strip p { max-width: 300px; font: 700 27px/1.2 'Arial Narrow', 'Segoe UI', Arial, sans-serif; }
.focus-grid { display: grid; grid-template-columns: repeat(3,1fr); max-width: 1600px; margin: auto; padding: 0 clamp(24px,6vw,96px) 95px; gap: 30px; }
.focus-card { border-top: 1px solid var(--coral); padding: 18px 0 0; }
.focus-card span { font-size: 10px; font-weight: 800; letter-spacing: .16em; color: var(--coral-bright); }
.focus-card h3 { font: 800 30px/1.05 'Arial Narrow', 'Segoe UI', Arial, sans-serif; letter-spacing: .03em; margin: 22px 0 14px; }
.focus-card p { color: #c4cbd5; font-size: 13px; line-height: 1.8; margin: 0; }
.approach-section { padding: 95px clamp(24px,6vw,96px); max-width: 1600px; margin: auto; }
.approach-section .display-heading { margin: 10px 0 30px; }
.two-col-text { display: grid; grid-template-columns: 1fr 1fr; gap: 40px 9%; }
.two-col-text p { color: #c4cbd5; font-size: 15px; line-height: 1.9; margin: 0; }
.commission-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 50px 9%; margin-top: 58px; }
.commission-grid > div { border-top: 1px solid var(--line); padding-top: 22px; }
.commission-grid h3 { font: 800 33px/1.05 'Arial Narrow', 'Segoe UI', Arial, sans-serif; letter-spacing: .03em; margin: 16px 0 14px; }
.commission-grid p { color: #c4cbd5; font-size: 14px; line-height: 1.85; margin: 0 0 18px; }
.manifesto { max-width: 1600px; margin: auto; padding: 110px clamp(24px,6vw,96px) 120px; border-top: 1px solid var(--line); }
.manifesto .eyebrow { margin-bottom: 30px; }
.manifesto-quote { font: 900 clamp(52px,7vw,108px)/.9 'Arial Narrow', 'Segoe UI', Arial, sans-serif; letter-spacing: -.02em; margin: 0 0 40px; max-width: 1100px; }
.manifesto-quote em { font-style: normal; color: var(--coral-bright); }
.manifesto p:not(.eyebrow) { color: #c4cbd5; font-size: 15px; line-height: 1.9; max-width: 620px; margin: 0 0 20px; }
.custom-editorial { display: grid; grid-template-columns: 50% 50%; min-height: 620px; }
.custom-photo { position: relative; min-height: 500px; }
.custom-photo img { width: 100%; height: 100%; position: absolute; object-fit: cover; }
.custom-photo span { position: absolute; bottom: 22px; left: 30px; font-size: 10px; font-weight: 800; letter-spacing: .17em; text-shadow: 0 1px 5px #000; }
.custom-editorial-text { display: flex; flex-direction: column; justify-content: center; padding: 65px clamp(30px,7vw,110px); }
.custom-editorial-text h2, .contact-aside h2 { font: 900 clamp(60px,6vw,100px)/.88 'Arial Narrow', 'Segoe UI', Arial, sans-serif; margin: 20px 0 28px; }
.custom-editorial-text > p:not(.eyebrow) { font-size: 14px; line-height: 1.9; color: #c4cbd5; margin: 0 0 17px; }
.tag-row { display: flex; gap: 9px; flex-wrap: wrap; margin-top: 20px; }
.tag-row span { border: 1px solid var(--line); padding: 9px 12px; font-size: 9px; font-weight: 800; letter-spacing: .1em; }
.custom-steps { padding-top: 70px; }
.custom-steps > .eyebrow { margin-top: 60px; }
.custom-steps-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 17px; margin-top: 60px; }
.custom-steps-grid > div { border-top: 1px solid var(--coral); padding: 18px 13px 20px 0; }
.custom-steps-grid span { color: var(--coral-bright); font-size: 10px; font-weight: 800; letter-spacing: .13em; }
.custom-steps-grid h3 { font: 800 31px 'Arial Narrow', 'Segoe UI', Arial, sans-serif; margin: 26px 0 12px; }
.custom-steps-grid p { color: #c4cbd5; font-size: 13px; line-height: 1.8; }
.contact-prompt { background: var(--coral); text-align: center; padding: 90px 24px 100px; }
.contact-prompt h2 { font: 900 clamp(68px,9vw,140px)/.88 'Arial Narrow', 'Segoe UI', Arial, sans-serif; margin: 16px 0; }
.contact-prompt > p:not(.eyebrow) { max-width: 450px; margin: 0 auto 30px; line-height: 1.75; }
.contact-prompt .button-primary { background: var(--navy); }
.contact-prompt .button-primary:hover { background: var(--steel); }

.detail-hero { display: grid; grid-template-columns: 52% 48%; min-height: 620px; background: var(--panel); }
.detail-image { position: relative; min-height: 570px; background: #0b1528; }
.detail-image img { position: absolute; width: 100%; height: 100%; object-fit: cover; }
.detail-image span { position: absolute; bottom: 24px; left: 30px; font-size: 9px; font-weight: 800; letter-spacing: .17em; text-shadow: 0 1px 5px #000; }
.detail-summary { padding: 45px clamp(35px,6vw,95px) 65px; display: flex; flex-direction: column; align-items: start; justify-content: center; }
.back-link { display: inline-flex; gap: 10px; align-items: center; font-size: 10px; font-weight: 800; letter-spacing: .12em; color: #b7c2d0; margin-bottom: auto; }
.back-link:hover { color: var(--coral-bright); }
.detail-summary .eyebrow { margin-top: 45px; }
.detail-summary h1 { font: 900 clamp(65px,6.2vw,105px)/.87 'Arial Narrow', 'Segoe UI', Arial, sans-serif; margin: 15px 0 23px; }
.detail-summary .status { margin-bottom: 25px; }
.detail-summary > p { color: #bfccd8; font-size: 13px; line-height: 1.85; margin: 0 0 20px; max-width: 510px; }
.detail-summary .detail-lead { color: var(--cream); font-size: 18px; line-height: 1.5; font-weight: 700; }
.detail-summary .button { margin: 12px 0 17px; }
.detail-note { color: #aab8c9; font-size: 11px; }
.detail-specs-layout { display: grid; grid-template-columns: 43% 1fr; gap: 8%; margin-top: 65px; }
.spec-list { border-top: 1px solid var(--line); }
.spec-list > div { border-bottom: 1px solid var(--line); padding: 20px 0; }
.spec-list h3 { font: 800 23px 'Arial Narrow', 'Segoe UI', Arial, sans-serif; letter-spacing: .05em; margin: 0 0 9px; }
.spec-list p, .spec-list li { color: #c1cad5; font-size: 13px; line-height: 1.8; margin: 0; }
.spec-list ul { padding-left: 18px; margin: 0; }
.detail-gallery { padding-top: 20px; }
.detail-gallery .display-heading { margin: 60px 0 34px; }
.gallery-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.gallery-pair img { width: 100%; aspect-ratio: 1.45; object-fit: cover; }
.detail-gallery > p { color: #aab8c9; font-size: 11px; margin-top: 18px; }
.related { padding-top: 10px; }
.related-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.related-grid .product-image-link { aspect-ratio: 1.8; }

.contact-layout { max-width: 1500px; padding: 105px clamp(24px,6vw,96px) 135px; margin: auto; display: grid; grid-template-columns: 40% 60%; gap: 0; }
.contact-aside { padding-right: 18%; }
.contact-aside h2 { margin-top: 20px; }
.contact-aside > p:not(.eyebrow) { color: #c2cad5; font-size: 14px; line-height: 1.85; }
.contact-aside-note { border-top: 1px solid var(--coral); margin-top: 65px; padding-top: 18px; }
.contact-aside-note span { color: var(--coral-bright); font-size: 10px; font-weight: 800; letter-spacing: .16em; }
.contact-aside-note p { color: #aeb9c8; font-size: 12px; line-height: 1.8; }
.contact-options { display: flex; flex-direction: column; align-items: start; gap: 11px; margin-top: 20px; }
.contact-options a, .email-link { display: inline-flex; align-items: center; gap: 8px; color: var(--cream); font-size: 10px; font-weight: 800; letter-spacing: .1em; transition: color .2s, transform .2s; }
.contact-options a:hover, .email-link:hover { color: var(--coral-bright); transform: translateX(2px); }
.custom-contact-options { justify-content: center; flex-direction: row; flex-wrap: wrap; margin-top: 22px; }
.detail-contact-options { margin-top: 7px; }
.email-link { margin-top: 16px; color: #aeb9c8; }
.contact-form-wrap { background: var(--panel); border: 1px solid var(--line); padding: clamp(25px,4vw,55px); }
.form-header { display: flex; justify-content: space-between; gap: 15px; padding-bottom: 22px; border-bottom: 1px solid var(--line); font-size: 9px; font-weight: 800; letter-spacing: .12em; color: #abb9c9; }
.contact-form-wrap form { padding-top: 30px; }
.contact-form-wrap label { display: flex; flex-direction: column; gap: 10px; margin-bottom: 22px; font-size: 10px; font-weight: 800; letter-spacing: .13em; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.contact-form-wrap input, .contact-form-wrap select, .contact-form-wrap textarea { width: 100%; border: 1px solid rgba(242,236,217,.27); background: var(--navy); color: var(--cream); border-radius: 0; min-height: 48px; padding: 12px 14px; outline: none; font-size: 13px; font-weight: 500; letter-spacing: 0; transition: border-color .2s,box-shadow .2s; }
.contact-form-wrap textarea { resize: vertical; }
.contact-form-wrap input::placeholder, .contact-form-wrap textarea::placeholder { color: #9facbd; }
.contact-form-wrap input:focus, .contact-form-wrap select:focus, .contact-form-wrap textarea:focus { border-color: var(--coral-bright); box-shadow: 0 0 0 2px rgba(255,110,94,.14); }
.contact-form-wrap select { appearance: auto; }
.contact-form-wrap .button:disabled { opacity: .55; cursor: wait; }
.form-privacy { color: #b5c0cf; font-size: 11px; line-height: 1.65; margin: 16px 0 0; }
.form-privacy a, .legal-content a { color: var(--coral-bright); text-decoration: underline; text-underline-offset: 3px; }
.form-error { color: #ff988d; font-size: 12px; display: flex; align-items: center; gap: 8px; }
.form-success { padding: 60px 0; }
.form-success svg { color: var(--coral-bright); }
.form-success h3 { font: 900 50px 'Arial Narrow', 'Segoe UI', Arial, sans-serif; margin: 18px 0 10px; }
.form-success p { max-width: 450px; color: #bfc9d5; font-size: 14px; line-height: 1.8; margin-bottom: 30px; }
.legal-content { max-width: 860px; margin: auto; padding: 85px 24px 130px; }
.legal-content h2 { font: 800 43px 'Arial Narrow', 'Segoe UI', Arial, sans-serif; border-bottom: 1px solid var(--line); padding-bottom: 18px; }
.legal-content p { font-size: 15px; line-height: 1.9; color: #c6ced7; margin: 0 0 25px; }

.site-footer { background: #101b32; border-top: 1px solid var(--line); padding: 70px clamp(24px,6vw,96px) 22px; }
.footer-top { max-width: 1408px; margin: auto; display: grid; grid-template-columns: 2fr 1fr 1.1fr .8fr; gap: 45px; padding-bottom: 90px; }
.footer-intro p { max-width: 315px; color: #aeb9c8; font-size: 12px; line-height: 1.9; margin: 25px 0 23px; }
.footer-intro > span { font-size: 9px; font-weight: 800; color: var(--coral-bright); letter-spacing: .16em; }
.footer-column { display: flex; flex-direction: column; align-items: start; gap: 14px; }
.footer-column h3 { font-size: 10px; letter-spacing: .18em; color: var(--coral-bright); margin: 5px 0 14px; }
.footer-column a { font-size: 12px; color: #bac4d1; display: inline-flex; align-items: center; gap: 8px; transition: color .2s; }
.footer-column a:hover { color: var(--coral-bright); }
.footer-bottom { max-width: 1408px; margin: auto; border-top: 1px solid var(--line); padding-top: 22px; display: flex; justify-content: space-between; gap: 20px; color: #9fabba; font-size: 9px; font-weight: 700; letter-spacing: .1em; }

@media (max-width: 1200px) { .desktop-nav { gap: 18px; } .nav-actions { gap: 13px; } .nav-inner { gap: 25px; } .product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .product-image-link { aspect-ratio: 1.3; } .product-info p { min-height: 0; } }
@media (max-width: 950px) { .desktop-nav, .nav-actions { display: none; } .nav-inner { height: 74px; } .menu-toggle { display: inline-flex; align-items: center; justify-content: center; background: none; border: 1px solid var(--line); color: var(--cream); width: 46px; height: 46px; } .mobile-nav { display: flex; flex-direction: column; padding: 12px 24px 24px; background: var(--panel); border-top: 1px solid var(--line); } .mobile-nav a { min-height: 50px; display: flex; justify-content: space-between; align-items: center; font-size: 13px; font-weight: 700; border-bottom: 1px solid var(--line); } .mobile-nav a:hover, .mobile-nav a.active { color: var(--coral-bright); } .hero { min-height: max(680px,calc(100dvh - 74px)); } .process-section { grid-template-columns: 45% 55%; } .process-content { padding: 50px 35px; } .footer-top { grid-template-columns: 1.5fr 1fr 1fr; } .footer-column:last-child { grid-column: 2 / 4; } }
@media (max-width: 700px) { .section { padding: 68px 22px 75px; } .section-topline span:last-child { display: none; } .section-heading-row { display: block; margin: 40px 0 32px; } .heading-link { margin-top: 25px; } .hero { min-height: 730px; } .hero-image { object-position: 60% center; opacity: .75; } .hero-shade { background: linear-gradient(90deg,rgba(20,33,61,.97),rgba(20,33,61,.58)),linear-gradient(0deg,#14213D,transparent 35%); } .hero-inner { padding: 95px 24px 50px; } .hero h1 { font-size: clamp(76px,16vw,115px); margin: 28px 0 30px; } .hero h2 { font-size: 24px; max-width: 370px; } .hero-copy > p { font-size: 13px; } .hero-vertical { display: none; } .hero-bottom { padding: 18px 24px; } .hero-bottom span:last-child { display: none; } .product-grid { grid-template-columns: 1fr; gap: 18px; } .product-image-link { aspect-ratio: 1.25; } .product-info { padding: 24px; } .product-info h3 { font-size: 38px; } .process-section, .custom-editorial, .detail-hero, .story-section, .contact-layout, .detail-specs-layout { grid-template-columns: 1fr; } .process-visual { min-height: 340px; } .process-content { padding: 60px 24px 70px; } .custom-inner { padding: 75px 24px; } .custom-inner h2 { font-size: clamp(67px,14vw,100px); margin-bottom: 35px; } .custom-banner-bottom { display: block; } .custom-banner-bottom .button { margin-top: 25px; } .social-section { display: block; padding: 75px 24px; } .social-section > div:last-child { width: auto; margin-top: 35px; } .page-intro { min-height: 320px; padding: 28px 24px 55px; } .page-intro-content { margin-top: 63px; } .page-intro h1 { font-size: clamp(65px,12vw,98px); } .page-intro-content > p:last-child { font-size: 14px; } .page-intro-mark { font-size: 250px; bottom: -55px; } .story-section { padding: 75px 24px; gap: 30px; } .story-body { padding: 0; } .about-image { height: 390px; } .about-image div { left: 24px; right: 24px; } .values-strip { grid-template-columns: 1fr; padding: 60px 24px; } .values-strip p { margin-bottom: 5px; } .custom-photo { min-height: 360px; } .custom-editorial-text { padding: 65px 24px; } .custom-steps-grid { grid-template-columns: 1fr 1fr; gap: 22px; } .contact-prompt { padding: 75px 24px; } .detail-image { min-height: 390px; } .detail-summary { padding: 40px 24px 65px; } .detail-summary .eyebrow { margin-top: 50px; } .detail-summary h1 { font-size: 75px; } .detail-specs-layout { margin-top: 45px; gap: 25px; } .gallery-pair { grid-template-columns: 1fr; } .related-grid { grid-template-columns: 1fr; } .contact-layout { padding: 70px 24px 85px; } .contact-aside { padding: 0 0 45px; } .contact-aside-note { margin-top: 35px; } .footer-top { grid-template-columns: 1fr 1fr; gap: 42px 20px; padding-bottom: 65px; } .footer-intro { grid-column: 1/-1; } .footer-column:last-child { grid-column: auto; } .footer-bottom span:last-child { display: none; } }
@media (max-width: 900px) { .focus-grid { grid-template-columns: 1fr 1fr; } .two-col-text, .commission-grid { grid-template-columns: 1fr; gap: 30px; } .commission-grid { margin-top: 40px; } }
@media (max-width: 600px) { .focus-grid { grid-template-columns: 1fr; } .manifesto { padding: 75px 24px 85px; } .manifesto-quote { font-size: clamp(44px,11vw,72px); } }
@media (max-width: 420px) { .brand-logo { height: 48px; } .hero h1 { font-size: 75px; } .hero-actions { flex-direction: column; align-items: stretch; } .hero-actions .button { justify-content: space-between; } .custom-steps-grid { grid-template-columns: 1fr; margin-top: 35px; } .form-row { grid-template-columns: 1fr; gap: 0; } .form-header span:last-child { display: none; } .footer-top { grid-template-columns: 1fr 1fr; } }

/* Local PHP/HTML build additions */
.mobile-nav.is-open { display:flex; }
@media (max-width: 980px) {
  .desktop-nav, .nav-actions { display:none; }
  .menu-toggle { display:inline-flex; align-items:center; justify-content:center; border:0; background:none; color:var(--cream); padding:10px; }
  .mobile-nav { display:none; flex-direction:column; border-top:1px solid var(--line); background:var(--navy); }
  .mobile-nav a { display:flex; justify-content:space-between; padding:18px 24px; border-bottom:1px solid var(--line); font-size:12px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
  .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .process-section { grid-template-columns:1fr; }
  .process-visual { min-height:420px; }
  .social-section { flex-direction:column; align-items:flex-start; }
  .social-section > div:last-child { width:auto; max-width:520px; }
}
@media (max-width: 620px) {
  .nav-inner { height:76px; padding:0 20px; }
  .brand-logo { height:64px; }
  .hero { min-height:650px; }
  .hero h1 { font-size:68px; }
  .hero-vertical { display:none; }
  .hero-bottom { display:none; }
  .product-grid { grid-template-columns:1fr; }
  .section-heading-row { align-items:flex-start; flex-direction:column; }
  .page-intro { min-height:320px; }
  .page-intro h1 { font-size:58px; }
}
/* Product image carousel */
.product-carousel {
    position: relative;
    min-width: 0;
}

/* Image area */
.product-carousel .product-image-link {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    touch-action: pan-y pinch-zoom;
}

.product-carousel .product-image-link img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* Prevent existing image/button styles from revealing hidden items. */
.product-carousel [hidden] {
    display: none !important;
}

/* Previous and next buttons */
.product-carousel__button {
    position: absolute;
    top: 50%;
    z-index: 3;
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    margin: 0;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.6);
    border-radius: 50%;
    background: rgba(15, 15, 15, 0.82);
    color: #fff;
    font: 20px / 1 Arial, sans-serif;
    cursor: pointer;
    transform: translateY(-50%);
}

.product-carousel__prev {
    left: 12px;
}

.product-carousel__next {
    right: 12px;
}

.product-carousel__button:hover {
    background: #000;
}

/* Keyboard focus */
.product-carousel__button:focus-visible,
.product-carousel .product-image-link:focus-visible {
    outline: 3px solid #fff;
    outline-offset: -5px;
    box-shadow: 0 0 0 3px #111;
}

/* Image counter */
.product-carousel__count {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 2;
    padding: 5px 9px;
    border-radius: 999px;
    background: rgba(15, 15, 15, 0.82);
    color: #fff;
    font: 12px / 1.4 Arial, sans-serif;
    pointer-events: none;
}