:root {
  --ink: #18221e;
  --forest: #163b32;
  --forest-deep: #0d2b24;
  --linen: #f7f3eb;
  --sand: #e8decf;
  --clay: #be5e3c;
  --gold: #d7ad69;
  --muted: #66716c;
  --line: rgba(24, 34, 30, .13);
  --white: #fffdf9;
  --serif: Georgia, 'Times New Roman', serif;
  --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--linen); color: var(--ink); font-family: var(--sans); line-height: 1.55; }
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
.wrap { width: min(1180px, calc(100% - 40px)); margin: auto; }
.eyebrow { color: var(--clay); font-size: .72rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.display { font-family: var(--serif); font-weight: 400; line-height: 1.04; letter-spacing: -.04em; }
.section { padding: 96px 0; }
.section-sm { padding: 65px 0; }
.section-head { max-width: 690px; margin-bottom: 43px; }
.section-head h2 { font-size: clamp(2.25rem, 5vw, 4.4rem); margin: 12px 0 16px; }
.section-head p { color: var(--muted); font-size: 1.05rem; margin: 0; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 9px; border: 1px solid var(--forest); padding: 13px 21px; font-weight: 750; font-size: .9rem; transition: .2s ease; cursor: pointer; }
.btn:hover { transform: translateY(-2px); }
.btn-primary { background: var(--forest); color: var(--white); }
.btn-primary:hover { background: var(--forest-deep); }
.btn-light { background: var(--white); color: var(--forest); border-color: var(--white); }
.btn-outline { color: var(--forest); background: transparent; }
.topline { padding: 8px 0; color: #e8e0d3; background: var(--forest-deep); font-size: .76rem; }
.topline .wrap, .header .wrap { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.topline a { color: #fff; font-weight: 700; }
.header { background: rgba(255,253,249,.94); backdrop-filter: blur(10px); position: sticky; z-index: 30; top: 0; border-bottom: 1px solid var(--line); }
.header .wrap { min-height: 77px; }
.logo { display: inline-flex; align-items: center; gap: 11px; font-family: var(--serif); font-size: 1.45rem; letter-spacing: -.05em; color: var(--forest); }
.logo-mark { width: 29px; height: 37px; position: relative; overflow: hidden; background: var(--clay); transform: skewY(-14deg); }
.logo-mark:after { content: ''; position: absolute; inset: 7px -3px 7px 14px; background: var(--gold); }
.logo small { font: 700 .47rem var(--sans); letter-spacing: .17em; align-self: end; margin: 0 0 8px -6px; }
.nav { display: flex; align-items: center; gap: 25px; font-size: .83rem; font-weight: 750; }
.nav a { color: #44504a; }
.nav a:hover, .nav a.active { color: var(--clay); }
.menu-toggle { display: none; border: 0; background: none; color: var(--forest); font-weight: 800; }
.hero { position: relative; overflow: hidden; background: var(--forest-deep); color: var(--white); min-height: 660px; display: grid; align-items: center; }
.hero:before { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(8,31,25,.97) 15%, rgba(12,48,40,.78) 55%, rgba(12,48,40,.22)), url('https://images.unsplash.com/photo-1618220179428-22790b461013?auto=format&fit=crop&w=1800&q=85') center/cover; }
.hero:after { content: ''; position: absolute; width: 70vw; height: 70vw; border: 1px solid rgba(255,255,255,.14); border-radius: 50%; right: -38vw; bottom: -48vw; }
.hero .wrap { position: relative; z-index: 1; padding: 105px 0; }
.hero-copy { width: min(730px, 100%); }
.hero h1 { font-size: clamp(3rem, 6vw, 5.5rem); margin: 15px 0 22px; }
.hero p { font-size: 1.08rem; max-width: 620px; color: #e0e8df; margin: 0 0 32px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 11px; }
.hero-note { margin-top: 46px; display: flex; gap: 22px; color: #c7d4cb; font-size: .78rem; font-weight: 700; }
.hero-note span { display: flex; align-items: center; gap: 7px; }
.hero-note b { width: 7px; height: 7px; background: var(--gold); border-radius: 50%; }
.metrics { background: var(--clay); color: #fffaf3; }
.metrics .wrap { display: grid; grid-template-columns: repeat(4, 1fr); }
.metric { padding: 24px 20px; border-left: 1px solid rgba(255,255,255,.23); }
.metric:first-child { border: 0; }
.metric strong { display: block; font: 400 clamp(1.4rem, 3vw, 2rem) var(--serif); }
.metric span { font-size: .73rem; font-weight: 750; letter-spacing: .03em; }
.two-col { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(36px, 7vw, 100px); align-items: center; }
.image-stack { position: relative; min-height: 510px; }
.image-stack img:first-child { width: 84%; height: 460px; object-fit: cover; }
.image-stack img:last-child { position: absolute; bottom: 0; right: 0; width: 49%; height: 260px; object-fit: cover; border: 11px solid var(--linen); }
.image-tag { position: absolute; left: 25px; bottom: 25px; padding: 12px 15px; background: var(--white); color: var(--forest); font-size: .75rem; font-weight: 800; z-index: 2; }
.text-block h2 { font-size: clamp(2.25rem, 4vw, 4rem); margin: 12px 0 20px; }
.text-block p { color: var(--muted); }
.check-list { list-style: none; padding: 0; margin: 25px 0 30px; display: grid; gap: 12px; }
.check-list li:before { content: '↗'; color: var(--clay); font-weight: 900; margin-right: 11px; }
.dark { background: var(--forest); color: var(--white); }
.dark .section-head p { color: #cad5cd; }
.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.card { padding: 27px; background: var(--white); border: 1px solid var(--line); color: var(--ink); }
.card h3 { font: 400 1.55rem var(--serif); margin: 7px 0 11px; }
.card p { color: var(--muted); font-size: .9rem; margin: 0; }
.card .card-link { color: var(--clay); display: inline-block; margin-top: 19px; font-size: .8rem; font-weight: 800; }
.fabric-card { overflow: hidden; padding: 0; }
.fabric-card img { width: 100%; height: 245px; object-fit: cover; filter: saturate(.75); transition: transform .35s; }
.fabric-card:hover img { transform: scale(1.04); }
.fabric-card > div { padding: 24px; }
.fabric-card h3 { margin: 0 0 8px; }
.callout { padding: clamp(32px, 6vw, 65px); background: #e9d5bd; display: grid; grid-template-columns: 1fr auto; gap: 25px; align-items: center; }
.callout h2 { font-size: clamp(2rem, 4vw, 3.5rem); margin: 11px 0 0; max-width: 760px; }
.faq { border-top: 1px solid var(--line); }
.faq details { border-bottom: 1px solid var(--line); padding: 20px 0; }
.faq summary { list-style: none; cursor: pointer; font: 400 1.35rem var(--serif); padding-right: 30px; position: relative; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary:after { content: '+'; position: absolute; right: 0; color: var(--clay); font: 1.7rem var(--sans); top: -6px; }
.faq details[open] summary:after { content: '−'; }
.faq p { margin: 12px 40px 0 0; color: var(--muted); max-width: 800px; font-size: .94rem; }
.cta-band { background: var(--gold); color: var(--forest-deep); padding: 39px 0; }
.cta-band .wrap { display: flex; align-items: center; justify-content: space-between; gap: 25px; }
.cta-band h2 { margin: 0; font-size: clamp(1.7rem, 3vw, 2.7rem); }
.page-hero { padding: 105px 0 95px; background: var(--forest-deep); color: var(--white); position: relative; overflow: hidden; }
.page-hero:after { content: ''; position: absolute; width: 560px; height: 560px; right: -120px; top: -250px; border: 1px solid rgba(255,255,255,.14); border-radius: 50%; }
.page-hero .wrap { position: relative; z-index: 1; max-width: 1180px; }
.page-hero h1 { font-size: clamp(3rem, 6vw, 5.5rem); max-width: 900px; margin: 13px 0 17px; }
.page-hero p { max-width: 630px; color: #d5dfd7; margin: 0; }
.mini-metrics { display: flex; flex-wrap: wrap; gap: 0; margin-top: 36px; }
.mini-metrics span { padding: 7px 17px; border: 1px solid rgba(255,255,255,.21); font-size: .74rem; font-weight: 800; }
.spec-table { width: 100%; border-collapse: collapse; background: var(--white); }
.spec-table th, .spec-table td { padding: 15px 17px; text-align: left; border-bottom: 1px solid var(--line); font-size: .87rem; }
.spec-table th { color: var(--clay); width: 27%; font-size: .71rem; letter-spacing: .08em; text-transform: uppercase; }
.steps { display: grid; grid-template-columns: repeat(6, 1fr); gap: 0; border-top: 1px solid rgba(255,255,255,.25); }
.step { padding: 22px 15px 0 0; margin-right: 14px; border-right: 1px solid rgba(255,255,255,.25); }
.step:last-child { border: 0; }
.step-number { color: var(--gold); font: 400 2.4rem var(--serif); }
.step h3 { font: 400 1.2rem var(--serif); margin: 8px 0; }
.step p { font-size: .78rem; margin: 0; }
.cert-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 13px; }
.cert { border: 1px solid var(--line); background: var(--white); min-height: 145px; display: grid; place-items: center; padding: 18px; text-align: center; color: var(--forest); }
.cert b { font: 400 1.45rem var(--serif); display: block; }
.cert span { font-size: .66rem; letter-spacing: .11em; font-weight: 800; text-transform: uppercase; }
.guide-list { display: grid; gap: 0; border-top: 1px solid var(--line); }
.guide { display: grid; grid-template-columns: 105px 1fr auto; gap: 30px; align-items: center; border-bottom: 1px solid var(--line); padding: 28px 0; }
.guide-number { font: 400 3rem var(--serif); color: var(--clay); }
.guide h2 { font: 400 clamp(1.5rem, 2.5vw, 2.25rem) var(--serif); line-height: 1.1; margin: 0 0 8px; }
.guide p { color: var(--muted); margin: 0; max-width: 700px; font-size: .9rem; }
.article { width: min(820px, calc(100% - 40px)); margin: 0 auto; padding: 75px 0; }
.article h2 { font: 400 2.2rem var(--serif); margin: 42px 0 12px; }
.article h3 { font: 400 1.55rem var(--serif); margin: 30px 0 8px; }
.article p, .article li { color: #4f5d56; }
.article li { margin-bottom: 8px; }
.quote-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 55px; align-items: start; }
.contact-card { padding: 25px 0; border-bottom: 1px solid var(--line); }
.contact-card h3 { font: 400 1.42rem var(--serif); margin: 7px 0; }
.contact-card p { color: var(--muted); font-size: .9rem; margin: 0 0 8px; }
.contact-card a { color: var(--clay); font-weight: 800; font-size: .88rem; }
.rfq { background: var(--white); padding: clamp(25px, 4vw, 47px); border: 1px solid var(--line); }
.rfq h2 { font-size: 2.7rem; margin: 9px 0 18px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.field { display: grid; gap: 6px; }
.field.full { grid-column: 1 / -1; }
.field label { font-size: .73rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--forest); }
.field input, .field select, .field textarea { border: 1px solid #c9c8c0; background: #fffefa; padding: 12px; outline: none; color: var(--ink); }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--clay); }
.checkbox { display: flex; align-items: center; gap: 9px; font-size: .85rem; color: var(--muted); }
.checkbox input { width: 15px; height: 15px; accent-color: var(--clay); }
.form-status { display: none; padding-top: 13px; color: var(--forest); font-weight: 700; font-size: .85rem; }
.map { min-height: 340px; background: linear-gradient(135deg, rgba(22,59,50,.92), rgba(22,59,50,.62)), url('https://images.unsplash.com/photo-1565800450233-1736a2d17b87?auto=format&fit=crop&w=1600&q=80') center/cover; color: var(--white); display: grid; place-items: center; text-align: center; padding: 30px; }
.map h2 { font-size: 2.6rem; margin: 10px 0; }
.map p { max-width: 510px; color: #d6e0d7; }
.footer { background: #102c25; color: #d4ded6; padding: 60px 0 22px; }
.footer-grid { display: grid; grid-template-columns: 1.7fr 1fr 1fr; gap: 35px; padding-bottom: 43px; }
.footer .logo { color: #fff; }
.footer p, .footer a { color: #aabbb0; font-size: .83rem; }
.footer h3 { color: #fff; font-size: .75rem; text-transform: uppercase; letter-spacing: .1em; }
.footer-links { display: grid; gap: 8px; }
.foot-bottom { border-top: 1px solid rgba(255,255,255,.13); padding-top: 20px; display: flex; justify-content: space-between; font-size: .72rem; }
.floating-wa { position: fixed; bottom: 22px; right: 22px; z-index: 20; width: 53px; height: 53px; display: grid; place-items: center; background: #25d366; border-radius: 50%; box-shadow: 0 10px 25px rgba(0,0,0,.2); color: #fff; font-weight: 900; }
@media (max-width: 800px) { .nav { display: none; position: absolute; top: 77px; left: 0; right: 0; background: var(--white); padding: 18px 20px 24px; border-bottom: 1px solid var(--line); flex-direction: column; align-items: flex-start; gap: 14px; } .nav.open { display: flex; } .menu-toggle { display: block; } .header .btn { display: none; } .metrics .wrap, .grid-3, .two-col, .quote-layout { grid-template-columns: 1fr; } .metrics .wrap { grid-template-columns: 1fr 1fr; } .metric:nth-child(3) { border-left: 0; } .image-stack { min-height: 415px; } .image-stack img:first-child { height: 370px; } .image-stack img:last-child { height: 190px; } .steps { grid-template-columns: 1fr 1fr; gap: 24px; } .step { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.25); padding-bottom: 15px; } .cert-grid { grid-template-columns: repeat(2,1fr); } .callout, .cta-band .wrap { grid-template-columns: 1fr; display: grid; } .guide { grid-template-columns: 55px 1fr; gap: 18px; } .guide .btn { grid-column: 2; justify-self: start; } .footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .wrap { width: min(100% - 28px, 1180px); } .topline .wrap { justify-content: center; } .topline span { display: none; } .hero { min-height: 620px; } .hero .wrap { padding: 80px 0; } .hero h1, .page-hero h1 { font-size: 2.9rem; } .hero-note { gap: 12px; flex-direction: column; } .metrics .wrap { grid-template-columns: 1fr; } .metric, .metric:nth-child(3) { border-left: 0; border-bottom: 1px solid rgba(255,255,255,.23); } .section { padding: 67px 0; } .form-grid { grid-template-columns: 1fr; } .field.full { grid-column: auto; } .footer-grid { grid-template-columns: 1fr; } .foot-bottom { display: grid; gap: 8px; } }
