:root { --ink:#17201b; --deep:#0f1713; --paper:#f2eee5; --cream:#fbf8f1; --wood:#8a5a33; --gold:#c99b62; --line:#d2cabd; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { background:var(--cream); color:var(--ink); font-family:Arial,Helvetica,sans-serif; margin:0; }
a { color:inherit; text-decoration:none; }
a:focus-visible { outline:3px solid var(--gold); outline-offset:4px; }
body.admin-bar .site-header { top:32px; }
@media (max-width:782px) { body.admin-bar .site-header { top:46px; } }
.section-pad { padding:110px clamp(24px,8vw,124px); }
.section-label { color:var(--wood); font-size:11px; font-weight:800; letter-spacing:.2em; margin:0 0 24px; text-transform:uppercase; }
h1,h2,h3,blockquote { font-family:Georgia,'Times New Roman',serif; font-weight:400; }
h2 { font-size:clamp(42px,5.2vw,74px); letter-spacing:-.045em; line-height:1.04; margin:0; }

.site-header { align-items:center; background:rgba(251,248,241,.96); display:flex; height:88px; justify-content:space-between; left:0; padding:0 clamp(24px,5vw,78px); position:absolute; right:0; top:0; z-index:10; }
.brand { align-items:center; display:flex; gap:11px; }
.brand img { height:62px; object-fit:contain; width:62px; }
.brand-type { display:flex; flex-direction:column; gap:3px; }
.brand-type strong { font-family:Georgia,serif; font-size:21px; font-weight:500; letter-spacing:-.025em; }
.brand-type small { color:#6c746e; font-size:9px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
nav { align-items:center; display:flex; gap:28px; font-size:12px; font-weight:700; }
nav a { border-bottom:1px solid transparent; padding:10px 0; }
nav a:hover { border-color:var(--wood); }
.nav-cta { background:var(--ink); color:white; padding:14px 20px; }
nav .nav-cta:hover { background:var(--wood); border-color:transparent; }

.hero { background:#152019; height:min(840px,100vh); min-height:700px; overflow:hidden; position:relative; }
.hero-photo { height:100%; inset:0; object-fit:cover; object-position:center 52%; position:absolute; width:100%; }
.hero-material { display:grid; gap:14px; grid-template-columns:1.15fr .72fr 1fr; inset:88px -4vw 0 48%; opacity:.9; position:absolute; transform:skewX(-8deg); }
.hero-material i { background:linear-gradient(115deg,rgba(255,255,255,.04),transparent 25%),repeating-linear-gradient(90deg,#5b351f 0,#70452b 2px,#8f5c38 5px,#59351f 8px,#7e4f30 12px); box-shadow:inset 0 0 0 1px rgba(255,255,255,.09),0 24px 70px rgba(0,0,0,.35); }
.hero-material i:nth-child(2) { background:repeating-linear-gradient(90deg,#b28454 0,#c59a67 3px,#93683f 6px,#c59a67 10px); transform:translateY(10%); }
.hero-material i:nth-child(3) { background:repeating-linear-gradient(90deg,#34261d 0,#503624 3px,#6b4930 6px,#3f2b20 11px); transform:translateY(-5%); }
.hero-shade { background:linear-gradient(90deg,rgba(8,15,11,.97),rgba(8,15,11,.83) 46%,rgba(8,15,11,.18) 79%); inset:0; position:absolute; }
.hero-content { color:white; left:clamp(24px,8vw,124px); max-width:780px; position:absolute; top:52%; transform:translateY(-42%); }
.eyebrow { color:#e0c7a4; font-size:11px; font-weight:800; letter-spacing:.2em; margin:0 0 24px; text-transform:uppercase; }
h1 { font-size:clamp(58px,7vw,106px); letter-spacing:-.055em; line-height:.91; margin:0; }
.hero-copy { color:rgba(255,255,255,.86); font-size:clamp(17px,1.5vw,21px); line-height:1.55; margin:30px 0 36px; max-width:650px; }
.hero-actions { align-items:center; display:flex; gap:30px; }
.button { align-items:center; display:inline-flex; font-size:13px; font-weight:800; gap:28px; padding:17px 23px; }
.button-gold { background:var(--gold); color:#142019; }
.button-gold:hover { background:#e0b67f; }
.text-link { border-bottom:1px solid rgba(255,255,255,.55); font-size:13px; font-weight:700; padding:9px 0; }
.hero-caption { bottom:36px; color:white; display:flex; flex-direction:column; position:absolute; right:clamp(24px,5vw,78px); text-align:right; }
.hero-caption span { font-size:9px; letter-spacing:.17em; opacity:.7; text-transform:uppercase; }
.hero-caption strong { font-family:Georgia,serif; font-size:17px; font-weight:400; margin-top:5px; }

.trust-bar { background:var(--deep); color:white; display:grid; grid-template-columns:repeat(4,1fr); padding:34px clamp(24px,6vw,96px); }
.trust-bar div { align-items:baseline; border-right:1px solid rgba(255,255,255,.18); display:flex; gap:13px; justify-content:center; }
.trust-bar div:last-child { border:0; }
.trust-bar strong { color:#d8b582; font-family:Georgia,serif; font-size:25px; font-weight:400; }
.trust-bar span { color:rgba(255,255,255,.67); font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }

.statement { background:var(--paper); }
.statement h2 { max-width:1100px; }
.statement-grid { border-top:1px solid var(--line); display:grid; gap:9vw; grid-template-columns:1.1fr 1fr; margin-top:66px; padding-top:38px; }
.statement-grid p { color:#4e5751; font-size:16px; line-height:1.75; margin:0; }
.statement-grid .lead { color:var(--ink); font-family:Georgia,serif; font-size:24px; line-height:1.5; }

.capabilities { background:var(--cream); }
.section-heading { align-items:end; display:flex; justify-content:space-between; margin-bottom:58px; }
.section-heading .section-label { margin:0; }
.section-heading > p:last-child { color:#5f675f; font-size:14px; line-height:1.6; margin:0; max-width:410px; }
.capability-grid { border-top:1px solid var(--line); display:grid; grid-template-columns:repeat(4,1fr); }
.capability-grid article { border-right:1px solid var(--line); min-height:315px; padding:28px 30px 26px 0; }
.capability-grid article:not(:first-child) { padding-left:30px; }
.capability-grid article:last-child { border:0; }
.capability-grid span,.market-grid span { color:var(--wood); font-size:10px; font-weight:800; letter-spacing:.12em; }
.capability-grid h3 { font-size:27px; line-height:1.12; margin:86px 0 18px; }
.capability-grid p { color:#626a64; font-size:14px; line-height:1.7; margin:0; }

.work { background:#e5ded2; }
.work-heading { align-items:end; display:flex; gap:8vw; justify-content:space-between; margin-bottom:58px; }
.work-heading > p { color:#596159; line-height:1.75; margin:0 0 8px; max-width:440px; }
.featured-work { margin:0; }
.featured-work .photo-frame { aspect-ratio:2.1/1; min-height:420px; }
.photo-frame { background:#c8c0b4; overflow:hidden; position:relative; }
.photo-frame img { height:100%; inset:0; object-fit:cover; position:absolute; transition:transform .6s ease; width:100%; }
.work figure:hover img { transform:scale(1.018); }
.work figcaption { align-items:baseline; display:flex; gap:24px; justify-content:space-between; padding:18px 0 35px; }
.work figcaption span { color:var(--wood); font-size:10px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.work figcaption strong { font-family:Georgia,serif; font-size:19px; font-weight:400; text-align:right; }
.work-grid { border-top:1px solid #bfb6a9; display:grid; gap:0 28px; grid-template-columns:1fr 1fr; padding-top:32px; }
.work-grid figure { margin:0; }
.work-grid .photo-frame { aspect-ratio:1.45/1; }
.work-grid figure:nth-child(3n+2) .photo-frame { aspect-ratio:1.2/1; }

.production { background:#fbf8f1; display:grid; gap:8vw; grid-template-columns:.8fr 1.2fr; }
.production-intro > p:last-child { color:#5f675f; font-size:15px; line-height:1.75; margin:30px 0 0; max-width:520px; }
.machine-grid { border-top:1px solid var(--line); display:grid; grid-template-columns:1fr 1fr; }
.machine-grid article { border-bottom:1px solid var(--line); min-height:255px; padding:28px 34px 34px 0; }
.machine-grid article:nth-child(odd) { border-right:1px solid var(--line); }
.machine-grid article:nth-child(even) { padding-left:34px; }
.machine-grid span { color:var(--wood); font-size:9px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.machine-grid h3 { font-size:29px; line-height:1.1; margin:62px 0 14px; }
.machine-grid p { color:#626a64; font-size:14px; line-height:1.7; margin:0; }

.gc-ready { background:var(--deep); color:white; display:grid; gap:8vw; grid-template-columns:.85fr 1.15fr; }
.gc-ready-intro { align-self:start; position:sticky; top:40px; }
.gc-ready-intro .section-label { color:#d5ac77; }
.gc-ready-intro > p:not(.section-label) { color:#bac1bc; font-size:16px; line-height:1.75; margin:28px 0 36px; }
.gc-grid { border-top:1px solid #3c4941; display:grid; grid-template-columns:1fr 1fr; }
.gc-grid article { border-bottom:1px solid #3c4941; min-height:250px; padding:28px 30px 34px 0; }
.gc-grid article:nth-child(odd) { border-right:1px solid #3c4941; }
.gc-grid article:nth-child(even) { padding-left:30px; }
.gc-grid span { color:#d5ac77; font-size:10px; font-weight:800; }
.gc-grid h3 { font-size:29px; margin:58px 0 14px; }
.gc-grid p { color:#aeb8b1; font-size:14px; line-height:1.7; margin:0; }
.work-image-wrap { min-height:570px; overflow:hidden; position:relative; }
.work-image { height:100%; inset:0; object-fit:cover; position:absolute; width:100%; }
.work-copy { align-self:center; padding:70px clamp(42px,6vw,96px); }
.work-copy .section-label { color:#d5ac77; }
.project-type { color:#9da79f; font-size:11px; font-weight:700; letter-spacing:.14em; margin:0 0 16px; text-transform:uppercase; }
.work-copy h2 { font-size:clamp(44px,5vw,70px); }
.work-copy > p:not(.section-label):not(.project-type) { color:#bac1bc; font-size:16px; line-height:1.75; margin:28px 0 36px; }
.dark-link { align-items:center; border-bottom:1px solid #657069; display:flex; font-size:13px; font-weight:800; justify-content:space-between; padding:14px 0; }

.process { background:var(--paper); display:grid; gap:10vw; grid-template-columns:.9fr 1.1fr; }
.process-intro { position:sticky; top:40px; align-self:start; }
.process-intro > p:last-child { color:#5f675f; line-height:1.75; margin:30px 0 0; max-width:520px; }
.process-list { list-style:none; margin:0; padding:0; }
.process-list li { border-top:1px solid var(--line); display:grid; gap:32px; grid-template-columns:46px 1fr; padding:31px 0 36px; }
.process-list li:last-child { border-bottom:1px solid var(--line); }
.process-list span { color:var(--wood); font-size:10px; font-weight:800; }
.process-list h3 { font-size:28px; margin:0 0 12px; }
.process-list p { color:#606861; font-size:14px; line-height:1.7; margin:0; }

.visibility { background:#ccb89a; display:grid; gap:10vw; grid-template-columns:1.1fr .9fr; }
.visibility-card { background:var(--ink); color:white; padding:58px; }
.visibility-card .section-label { color:#dcb77f; }
.visibility-card h2 { font-size:clamp(38px,4vw,58px); }
.visibility-card > p:not(.section-label) { color:#abb5ae; line-height:1.7; margin:22px 0 48px; max-width:590px; }
.portal-head { align-items:center; border-bottom:1px solid #475149; display:flex; justify-content:space-between; padding-bottom:24px; }
.portal-head div { display:flex; flex-direction:column; gap:6px; }
.portal-head span,.portal-metrics span,.lookahead span { color:#93a097; font-size:9px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.portal-head strong { font-family:Georgia,serif; font-size:25px; font-weight:400; }
.portal-head em { background:#294d37; border:1px solid #4a765a; color:#b9dec4; font-size:9px; font-style:normal; font-weight:800; letter-spacing:.12em; padding:8px 10px; text-transform:uppercase; }
.portal-metrics { display:grid; grid-template-columns:repeat(3,1fr); margin:28px 0 36px; }
.portal-metrics div { border-right:1px solid #475149; display:flex; flex-direction:column; gap:8px; padding:0 22px; }
.portal-metrics div { min-width:0; }
.portal-metrics div:first-child { padding-left:0; }
.portal-metrics div:last-child { border:0; }
.portal-metrics strong { font-family:Georgia,serif; font-size:20px; font-weight:400; }
.status-row { align-items:center; display:grid; font-size:10px; gap:16px; grid-template-columns:80px 1fr 62px; margin-top:20px; text-transform:uppercase; }
.status-row i { background:#39423c; height:4px; }
.status-row b { background:var(--gold); display:block; height:100%; }
.status-row em { color:#acb6ae; font-style:normal; text-align:right; }
.lookahead { border-top:1px solid #475149; margin-top:32px; padding-top:24px; }
.lookahead p { color:#d2d9d4; font-size:12px; line-height:1.6; margin:10px 0 0; }
.visibility-copy { align-self:center; }
.visibility-copy .section-label { color:#59452f; }
blockquote { font-size:clamp(34px,4.1vw,60px); letter-spacing:-.04em; line-height:1.1; margin:0 0 30px; }
.visibility-copy > p:last-child { line-height:1.75; max-width:520px; }

.markets { background:var(--cream); }
.market-grid { border-top:1px solid var(--line); display:grid; grid-template-columns:repeat(3,1fr); margin-top:50px; }
.market-grid article { border-right:1px solid var(--line); min-height:270px; padding:26px 38px 0 0; }
.market-grid article:not(:first-child) { padding-left:38px; }
.market-grid article:last-child { border:0; }
.market-grid h3 { font-size:34px; margin:76px 0 16px; }
.market-grid p { color:#636b65; font-size:14px; line-height:1.7; }

.about { align-items:center; background:var(--paper); display:grid; gap:9vw; grid-template-columns:.8fr 1.2fr; }
.about img { height:auto; margin:auto; max-width:360px; width:100%; }
.about > div > p:not(.section-label) { color:#596159; font-size:16px; line-height:1.75; max-width:630px; }
.about h2 + p { margin-top:30px; }

.contact { background:var(--wood); color:white; display:grid; gap:10vw; grid-template-columns:1fr 1fr; }
.contact .section-label { color:#e4c99f; }
.contact > div > p:last-child { color:rgba(255,255,255,.72); font-size:16px; line-height:1.75; max-width:560px; }
.contact-panel { align-self:center; }
.contact-action { align-items:center; border-top:1px solid rgba(255,255,255,.35); display:flex; font-family:Georgia,serif; font-size:26px; justify-content:space-between; padding:22px 0; }
.contact-panel address { border-top:1px solid rgba(255,255,255,.35); font-size:14px; font-style:normal; line-height:1.7; padding-top:24px; }
.contact-panel .hours { color:rgba(255,255,255,.65); font-size:11px; letter-spacing:.1em; text-transform:uppercase; }
footer { align-items:center; background:#0b110e; color:#7f8982; display:flex; font-size:10px; justify-content:space-between; letter-spacing:.08em; padding:28px clamp(24px,5vw,78px); text-transform:uppercase; }

@media (max-width:900px) {
  nav > a:not(.nav-cta) { display:none; }
  .trust-bar { gap:18px; grid-template-columns:1fr 1fr; }
  .trust-bar div { align-items:center; flex-direction:column; gap:5px; text-align:center; }
  .statement-grid,.process,.visibility,.about,.contact,.production { gap:48px; grid-template-columns:1fr; }
  .work-heading { align-items:start; flex-direction:column; }
  .capability-grid { grid-template-columns:1fr 1fr; }
  .capability-grid article:nth-child(2) { border-right:0; }
  .capability-grid article:nth-child(n+3) { border-top:1px solid var(--line); }
  .gc-ready { grid-template-columns:1fr; }
  .gc-ready-intro { position:static; }
  .process-intro { position:static; }
}
@media (max-width:620px) {
  .section-pad { padding:76px 24px; }
  .site-header { height:76px; }
  .brand img { height:49px; width:49px; }
  .brand-type strong { font-size:18px; }
  .brand-type small { display:none; }
  .nav-cta { padding:11px 13px; }
  .hero { min-height:720px; }
  .hero-photo { object-position:64% center; }
  .hero-shade { background:linear-gradient(90deg,rgba(8,15,11,.96),rgba(8,15,11,.58)); }
  .hero-content { top:48%; }
  .hero-actions { align-items:flex-start; flex-direction:column; gap:12px; }
  .hero-caption { display:none; }
  .trust-bar { grid-template-columns:1fr; padding:24px; }
  .trust-bar div { border-bottom:1px solid rgba(255,255,255,.15); border-right:0; padding:12px; }
  .trust-bar div:last-child { border:0; }
  .statement-grid { margin-top:42px; }
  .section-heading { align-items:start; flex-direction:column; gap:20px; }
  .featured-work .photo-frame { aspect-ratio:1.2/1; min-height:0; }
  .work-grid { grid-template-columns:1fr; }
  .work figcaption { align-items:flex-start; flex-direction:column; gap:8px; }
  .work figcaption strong { text-align:left; }
  .machine-grid { grid-template-columns:1fr; }
  .machine-grid article,.machine-grid article:nth-child(even) { border-right:0; min-height:0; padding:26px 0 34px; }
  .machine-grid h3 { margin-top:38px; }
  .capability-grid,.market-grid { grid-template-columns:1fr; }
  .capability-grid article,.capability-grid article:not(:first-child),.market-grid article,.market-grid article:not(:first-child) { border-bottom:1px solid var(--line); border-right:0; min-height:0; padding:26px 0 34px; }
  .capability-grid h3,.market-grid h3 { margin-top:42px; }
  .gc-grid { grid-template-columns:1fr; }
  .gc-grid article,.gc-grid article:nth-child(even) { border-right:0; min-height:0; padding:26px 0 34px; }
  .gc-grid h3 { margin-top:36px; }
  .visibility-card { padding:40px 26px; }
  .portal-head { align-items:flex-start; gap:16px; }
  .portal-head strong { font-size:22px; }
  .portal-metrics { gap:10px; grid-template-columns:1.35fr .9fr .7fr; }
  .portal-metrics div { padding:0 10px; }
  .portal-metrics strong { font-size:17px; }
  .status-row { gap:10px; grid-template-columns:67px 1fr 54px; }
  .about img { max-width:260px; }
  footer { align-items:flex-start; flex-direction:column; gap:14px; }
}
