:root { --ink:#132a3d; --cream:#f1eee7; --paper:#faf9f5; --red:#9f2f31; --line:rgba(19,42,61,.16); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial, Helvetica, sans-serif; }
a { color:inherit; text-decoration:none; }
img { display:block; width:100%; }
.site-header { height:84px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding:0 4vw; border-bottom:1px solid rgba(255,255,255,.2); position:absolute; inset:0 0 auto; z-index:5; color:white; }
.brand { display:flex; align-items:center; gap:12px; font-weight:800; letter-spacing:.18em; font-size:14px; }
.brand img { width:42px; height:42px; object-fit:cover; background:#eef1f2; }
nav { display:flex; gap:34px; font-size:13px; }
.header-actions { justify-self:end; display:flex; align-items:center; gap:14px; }
.lang-button { border:0; background:transparent; color:white; font:inherit; font-size:11px; letter-spacing:.1em; cursor:pointer; padding:10px 2px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:22px; padding:16px 24px; background:var(--red); color:white; text-transform:uppercase; letter-spacing:.11em; font-size:11px; font-weight:700; border:1px solid var(--red); transition:.2s ease; }
.button:hover { background:#7f2023; border-color:#7f2023; }
.button-small { padding:12px 18px; }
.hero { min-height:820px; display:grid; grid-template-columns:53% 47%; background:var(--ink); color:white; padding-top:84px; }
.hero-copy { padding:clamp(90px,12vw,150px) 6vw 80px 8vw; position:relative; }
.eyebrow { margin:0 0 22px; text-transform:uppercase; letter-spacing:.17em; font-weight:700; font-size:11px; }
h1,h2,p { margin-top:0; }
h1 { font-family:Georgia, 'Times New Roman', serif; font-size:clamp(66px,8.2vw,126px); font-weight:400; letter-spacing:-.065em; line-height:.79; margin:0 0 48px; }
h1 em { color:#d3b7a5; font-weight:400; }
.hero-lede { max-width:580px; color:rgba(255,255,255,.7); font-size:17px; line-height:1.75; }
.hero-actions { display:flex; align-items:center; gap:38px; margin-top:42px; }
.text-link { font-size:12px; text-transform:uppercase; letter-spacing:.1em; border-bottom:1px solid rgba(255,255,255,.5); padding-bottom:6px; }
.hero-visual { position:relative; overflow:hidden; background:#d7d0c6; }
.hero-visual img { height:100%; object-fit:cover; }
.hero-visual:after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(19,42,61,.12),transparent 45%); }
.precision-tag { position:absolute; z-index:1; left:0; bottom:0; width:190px; height:150px; background:var(--cream); color:var(--ink); display:flex; flex-direction:column; justify-content:center; padding:26px; }
.precision-tag strong { font-family:Georgia,serif; font-size:37px; font-weight:400; }
.precision-tag span { text-transform:uppercase; letter-spacing:.1em; font-size:10px; margin-top:7px; }
.proof { display:grid; grid-template-columns:repeat(3,1fr); margin:0 4vw; border:1px solid var(--line); background:var(--paper); }
.proof article { min-height:145px; display:flex; align-items:center; gap:24px; padding:30px 4vw; border-right:1px solid var(--line); }
.proof article:last-child { border:0; }
.proof strong { font-family:Georgia,serif; font-size:35px; font-weight:400; white-space:nowrap; }
.proof span { max-width:150px; font-size:11px; text-transform:uppercase; letter-spacing:.08em; line-height:1.5; color:#536473; }
.section { padding:120px 8vw; }
.section-heading { display:grid; grid-template-columns:1fr 1fr; align-items:end; gap:10vw; margin-bottom:58px; }
h2 { font-family:Georgia, 'Times New Roman', serif; font-size:clamp(48px,5.5vw,82px); font-weight:400; line-height:.98; letter-spacing:-.045em; }
.section-heading > p { max-width:510px; color:#5d6c78; line-height:1.8; }
.material-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.material-card { background:white; }
.material-card img { aspect-ratio:4/5; object-fit:cover; }
.material-card > div { padding:24px; position:relative; }
.material-card span { position:absolute; right:22px; top:25px; font-size:10px; color:#87929a; }
.material-card h3 { font-family:Georgia,serif; font-size:24px; font-weight:400; margin:0 0 9px; }
.material-card p { color:#6b777f; font-size:13px; line-height:1.5; margin:0; }
.experience { background:var(--ink); color:white; text-align:center; }
.experience h2 { max-width:1120px; margin:0 auto 28px; }
.experience > p:last-child { max-width:700px; margin:0 auto; color:rgba(255,255,255,.62); line-height:1.7; }
.process { display:grid; grid-template-columns:.85fr 1.15fr; gap:9vw; background:var(--cream); }
.process-heading { position:sticky; top:40px; align-self:start; }
.process-steps { border-top:1px solid var(--line); }
.process-steps article { display:grid; grid-template-columns:68px 1fr; gap:22px; padding:32px 0; border-bottom:1px solid var(--line); }
.process-steps article > span { font-size:11px; color:#77858e; padding-top:6px; }
.process-steps h3 { font-family:Georgia,serif; font-size:27px; font-weight:400; margin:0 0 10px; }
.process-steps p { color:#65737d; line-height:1.7; margin:0; }
.precision { display:grid; grid-template-columns:1.08fr .92fr; padding-top:20px; }
.precision-image img { height:680px; object-fit:cover; }
.precision-copy { background:var(--ink); color:white; display:flex; flex-direction:column; justify-content:center; padding:7vw; }
.precision-copy > p:not(.eyebrow) { color:rgba(255,255,255,.68); line-height:1.8; }
.precision-copy ul { padding:0; margin:28px 0 0; list-style:none; border-top:1px solid rgba(255,255,255,.18); }
.precision-copy li { padding:16px 0; border-bottom:1px solid rgba(255,255,255,.18); text-transform:uppercase; letter-spacing:.1em; font-size:11px; }
.about { display:grid; grid-template-columns:1fr 1fr; gap:4vw 10vw; }
.about-heading h2 { max-width:700px; }
.about-copy { padding-top:34px; color:#5e6d78; font-size:16px; line-height:1.8; }
.strength-grid { grid-column:1/-1; display:grid; grid-template-columns:repeat(3,1fr); margin-top:38px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.strength-grid article { padding:34px 4vw 38px 0; border-right:1px solid var(--line); }
.strength-grid article:not(:first-child) { padding-left:4vw; }
.strength-grid article:last-child { border-right:0; }
.strength-grid span { display:block; color:#87939b; font-size:10px; margin-bottom:28px; }
.strength-grid h3 { font-family:Georgia,serif; font-size:25px; font-weight:400; margin:0 0 12px; }
.strength-grid p { color:#687680; line-height:1.6; font-size:13px; margin:0; }
.quote-section { display:grid; grid-template-columns:.8fr 1.2fr; gap:8vw; background:var(--red); color:white; }
.quote-intro > p:not(.eyebrow) { max-width:500px; color:rgba(255,255,255,.72); line-height:1.7; }
.direct-contact { margin-top:52px; display:flex; flex-direction:column; align-items:flex-start; gap:13px; }
.direct-contact span { color:rgba(255,255,255,.55); text-transform:uppercase; letter-spacing:.12em; font-size:10px; }
.direct-contact a { border-bottom:1px solid rgba(255,255,255,.5); padding-bottom:4px; font-size:13px; }
.quote-form { background:white; color:var(--ink); padding:clamp(28px,4vw,58px); }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:25px 22px; }
.quote-form label { display:flex; flex-direction:column; gap:9px; }
.quote-form label > span { font-size:10px; text-transform:uppercase; letter-spacing:.1em; font-weight:700; }
.quote-form input,.quote-form select,.quote-form textarea { width:100%; border:0; border-bottom:1px solid var(--line); border-radius:0; background:transparent; color:var(--ink); padding:10px 2px 12px; font:inherit; outline:none; }
.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus { border-color:var(--red); }
.full-field { margin-top:28px; }
.quote-form textarea { resize:vertical; }
.form-note { margin:16px 0 24px; color:#6c7982; font-size:12px; line-height:1.5; }
.file-field { margin-top:24px; }
.file-field input { border:1px dashed var(--line); padding:16px; }
.website-field { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; opacity:0!important; }
.form-result { margin:18px 0 0; padding:13px 15px; font-size:13px; line-height:1.5; }
.form-result.success { background:#eaf4ee; color:#22613b; }
.form-result.error { background:#faeaea; color:#912a2e; }
.quote-form button:disabled { opacity:.6; cursor:wait; }
.quote-form .button-light { background:var(--ink); border-color:var(--ink); color:white; cursor:pointer; }
.button-light { background:white; color:var(--red); border-color:white; }
.button-light:hover { background:var(--cream); border-color:var(--cream); }
footer { min-height:100px; padding:30px 5vw; display:flex; align-items:center; justify-content:space-between; background:#0d1d2a; color:rgba(255,255,255,.55); font-size:10px; letter-spacing:.1em; }
footer div { display:flex; gap:25px; }
footer a:hover { color:white; }
@media (max-width: 820px) { .site-header{grid-template-columns:1fr auto}.site-header nav{display:none}.hero{grid-template-columns:1fr;min-height:auto}.hero-copy{padding:150px 7vw 80px}.hero-visual{min-height:520px}.proof{grid-template-columns:1fr}.proof article{border-right:0;border-bottom:1px solid var(--line)}.section-heading,.precision,.process,.quote-section,.about{grid-template-columns:1fr}.process-heading{position:static}.material-grid{grid-template-columns:repeat(2,1fr)}.strength-grid{grid-template-columns:1fr}.strength-grid article,.strength-grid article:not(:first-child){padding:28px 0;border-right:0;border-bottom:1px solid var(--line)}.strength-grid article:last-child{border-bottom:0} }
@media (max-width: 520px) { .site-header{padding:0 20px}.brand>span:last-child,.header-actions>.button{display:none}.hero-actions{align-items:flex-start;flex-direction:column}.section{padding:85px 20px}.material-grid,.form-grid{grid-template-columns:1fr}.precision-image img{height:440px}.precision-copy{padding:70px 26px}.quote-form{padding:30px 20px}footer{align-items:flex-start;flex-direction:column;gap:20px}footer div{flex-wrap:wrap} }
