:root{
  --cream:#f7f2e8;
  --cream-2:#eee5d5;
  --paper:#fffdf8;
  --forest:#21483b;
  --forest-2:#17352c;
  --sage:#8da894;
  --sage-light:#dce5dc;
  --clay:#c96743;
  --clay-dark:#a84c2d;
  --ink:#25312d;
  --muted:#6f7771;
  --line:#dcd3c4;
  --shadow:0 22px 60px rgba(65,55,38,.12);
  --serif:Georgia,'Times New Roman',serif;
  --sans:'Trebuchet MS','Segoe UI',Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{display:block;width:100%}
button,input,textarea,select{font:inherit}
p{line-height:1.75}
h1,h2,h3{font-family:var(--serif);font-weight:400}

/* Warm navigation */
.site-header{height:90px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;gap:26px;position:sticky;top:0;z-index:50;background:rgba(255,253,248,.94);border-bottom:1px solid rgba(82,70,50,.12);backdrop-filter:blur(18px)}
.brand{display:flex;align-items:center;gap:12px;font-size:16px;letter-spacing:.035em;white-space:nowrap;font-weight:700;color:var(--forest)}
.brand b{color:var(--clay)}
.brand small{display:block;font-size:8px;line-height:1.4;letter-spacing:.14em;color:#7b7d71;margin-top:4px}
.brand-mark{width:35px;height:35px;display:grid;grid-template-columns:repeat(3,7px);gap:3px;align-items:end;justify-content:center;padding:5px;background:var(--sage-light);border-radius:50% 50% 46% 54%}
.brand-mark i{display:block;border-radius:7px 7px 2px 2px;background:var(--clay)}
.brand-mark i:nth-child(1){height:11px}.brand-mark i:nth-child(2){height:18px}.brand-mark i:nth-child(3){height:24px}
.nav{display:flex;align-items:center;gap:27px;font-size:12px;font-weight:700}
.nav a{padding:35px 0 30px;border-bottom:3px solid transparent;transition:.2s}
.nav a:hover,.nav a.active{color:var(--clay);border-color:var(--clay)}
.header-cta{background:var(--forest);color:#fff;padding:14px 20px;border-radius:999px;font-size:11px;font-weight:700;box-shadow:0 8px 20px rgba(33,72,59,.18);transition:.2s}
.header-cta:hover{background:var(--clay);transform:translateY(-1px)}
.header-cta span{margin-left:8px}
.menu{display:none;border:0;background:var(--sage-light);width:42px;height:42px;padding:9px;border-radius:50%}
.menu span{display:block;height:2px;background:var(--forest);margin:7px 0}

/* Hero covers */
.hero{position:relative;min-height:calc(100vh - 90px);overflow:hidden;color:#fff;background:var(--forest)}
.hero>img{position:absolute;inset:0;height:100%;object-fit:cover;object-position:center 55%}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(24,50,42,.92),rgba(24,50,42,.67) 47%,rgba(24,50,42,.14) 78%),linear-gradient(0deg,rgba(18,42,34,.62),transparent 50%)}
.hero-grid{position:absolute;width:520px;height:520px;right:-130px;top:-160px;border:1px solid rgba(255,255,255,.18);border-radius:50%;box-shadow:0 0 0 65px rgba(255,255,255,.035),0 0 0 130px rgba(255,255,255,.025)}
.hero-content{position:relative;z-index:2;padding:12vh 7vw 175px;max-width:940px}
.eyebrow,.section-index{font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.eyebrow{display:flex;align-items:center;gap:12px}
.eyebrow span{width:32px;height:2px;background:var(--clay)}
.hero h1{font-size:clamp(68px,8.7vw,132px);line-height:.82;letter-spacing:-.055em;margin:30px 0 34px;text-wrap:balance}
.hero h1 em{color:#efb296;font-style:italic}
.hero-lead{font-size:clamp(16px,1.3vw,20px);max-width:700px;color:#f0eee7}
.hero-actions{display:flex;gap:12px;margin-top:36px}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;padding:16px 22px;border:1px solid transparent;border-radius:999px;font-size:11px;font-weight:700;transition:.25s}
.button-primary{background:var(--clay);color:#fff;box-shadow:0 12px 28px rgba(116,48,25,.2)}
.button-primary:hover{background:var(--clay-dark);transform:translateY(-2px)}
.button-glass{border-color:rgba(255,255,255,.55);background:rgba(255,255,255,.09);color:#fff;backdrop-filter:blur(8px)}
.button-glass:hover{background:#fff;color:var(--forest)}
.hero-metrics{position:absolute;z-index:3;left:7vw;right:7vw;bottom:28px;display:grid;grid-template-columns:repeat(3,1fr);background:rgba(255,253,248,.93);color:var(--ink);border-radius:20px;box-shadow:var(--shadow);overflow:hidden;backdrop-filter:blur(14px)}
.hero-metrics div{padding:23px 28px;border-right:1px solid var(--line)}
.hero-metrics small{display:block;font-size:8px;font-weight:700;letter-spacing:.12em;color:var(--clay);margin-bottom:9px}
.hero-metrics b{font-family:var(--serif);font-size:16px;font-weight:400}

/* Shared sections */
.section{padding:110px 7vw}
.section-index{color:var(--clay);margin:5px 0}
.section-index.light{color:#c5d4c9}
.statement{display:grid;grid-template-columns:13% minmax(0,1fr) 260px;gap:45px;align-items:start;background:var(--cream)}
.statement h2,.section-head h2,.tech-copy h2,.catalog-heading h2{font-size:clamp(44px,5.2vw,78px);line-height:.98;letter-spacing:-.045em;margin:0}
.statement h2 span,.tech-copy h2 span{color:var(--sage)}
.large-copy{font-size:17px;color:#59625d;max-width:880px;margin-top:34px}
.statement aside{background:var(--paper);padding:26px;border-radius:18px;border:1px solid var(--line);box-shadow:0 12px 35px rgba(67,59,44,.06)}
.statement aside:before{content:'“';display:block;color:var(--clay);font:52px/1 var(--serif);height:34px}
.statement aside b{font-family:var(--serif);font-size:19px;font-weight:400;color:var(--forest)}
.statement aside p{font-size:12px;color:var(--muted)}
.section-dark{background:var(--forest);color:#fff;padding:110px 7vw}
.section-head{display:grid;grid-template-columns:1.2fr .8fr;gap:72px;align-items:end;margin-bottom:50px}
.section-head>p{color:var(--muted);margin:0 0 8px}
.section-dark .section-head>p{color:#c5d1c9}

/* Catalog cards */
.product-strip{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:18px}
.feature-card{min-height:570px;position:relative;overflow:hidden;background:#d7ddd6;border-radius:24px;box-shadow:0 18px 48px rgba(7,25,19,.2)}
.feature-card img{height:100%;object-fit:cover;filter:saturate(.86);transition:.55s}
.feature-card:hover img{transform:scale(1.035)}
.feature-card:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(18,42,34,.94))}
.card-number{position:absolute;top:20px;left:20px;z-index:2;background:var(--paper);color:var(--clay);width:42px;height:42px;display:grid;place-items:center;border-radius:50%;font-size:10px;font-weight:700}
.card-copy{position:absolute;z-index:2;bottom:0;padding:32px;color:#fff}
.card-copy small{font-size:9px;font-weight:700;letter-spacing:.13em;color:#d5ddd7}
.card-copy h3{font-size:43px;margin:9px 0 12px}
.card-copy p{font-size:12px;color:#e0e5e1;max-width:360px}
.card-copy b{display:block;margin-top:19px;font-size:10px;color:#f0ad8d}
.center-action{text-align:center;margin-top:38px}
.button-outline{color:#fff;border-color:#729080}
.button-outline:hover{background:#fff;color:var(--forest)}

/* Technology section on the homepage */
.tech-intro{display:grid;grid-template-columns:1fr 1fr;background:var(--paper)}
.tech-visual{position:relative;min-height:850px;margin:34px 0 34px 34px;border-radius:28px;overflow:hidden;box-shadow:var(--shadow)}
.tech-visual>img{height:100%;object-fit:cover}
.visual-label{position:absolute;left:25px;bottom:25px;background:rgba(255,253,248,.94);color:var(--ink);padding:17px 22px;border-radius:14px;display:flex;gap:14px;align-items:center;font-size:9px;line-height:1.6;box-shadow:var(--shadow)}
.visual-label i{width:9px;height:9px;background:#53a877;border-radius:50%;box-shadow:0 0 0 5px rgba(83,168,119,.15)}
.tech-copy{padding-left:7vw;padding-right:7vw}
.tech-copy h2{margin:28px 0 48px}
.process-list{list-style:none;padding:0;margin:0;counter-reset:steps}
.process-list li{display:grid;grid-template-columns:210px 1fr;gap:25px;padding:20px 0;border-top:1px solid var(--line);counter-increment:steps}
.process-list b{font-family:var(--serif);font-size:17px;font-weight:400;color:var(--forest)}
.process-list span{font-size:12px;color:var(--muted)}
.text-link{display:inline-flex;gap:25px;margin-top:34px;padding-bottom:7px;border-bottom:1px solid var(--clay);font-size:10px;font-weight:700;color:var(--forest)}
.text-link span{color:var(--clay)}

/* Production */
.production{background:var(--paper)}
.production-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:50px}
.production-grid article{padding:29px 25px;background:var(--cream);border:1px solid var(--line);border-radius:18px;min-height:290px;transition:.25s}
.production-grid article:hover{transform:translateY(-4px);box-shadow:0 16px 35px rgba(72,61,42,.09);background:#fff}
.production-grid span{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--sage-light);font-size:10px;font-weight:700;color:var(--forest)}
.production-grid h3{font-size:24px;margin:42px 0 14px;color:var(--forest)}
.production-grid p{font-size:12px;color:var(--muted)}
.cta-band{padding:76px 7vw;background:var(--clay);color:#fff;display:flex;align-items:end;justify-content:space-between;gap:50px}
.cta-band h2{font-size:clamp(40px,5vw,74px);line-height:.96;letter-spacing:-.04em;margin:22px 0 0}
.cta-band .eyebrow span{background:#fff}
.button-light{background:#fff;color:var(--forest)}
.button-light:hover{background:var(--forest);color:#fff}

/* Inner pages */
.page-hero{min-height:590px}
.page-hero .hero-content{padding-top:82px;padding-bottom:115px}
.page-hero h1{font-size:clamp(60px,7vw,106px)}
.page-hero .hero-shade{background:linear-gradient(90deg,rgba(24,50,42,.94),rgba(24,50,42,.66) 58%,rgba(24,50,42,.15))}
.breadcrumb{font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#ced7d1;margin-bottom:28px}
.breadcrumb a{color:#efad8e}
.content-section{padding:100px 7vw;background:var(--paper)}
.content-section.alt{background:var(--cream)}
.catalog-nav{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;padding:16px 5vw;background:rgba(247,242,232,.95);position:sticky;top:90px;z-index:20;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.catalog-nav a{padding:11px 16px;background:var(--paper);border:1px solid var(--line);border-radius:999px;font-size:10px;font-weight:700}
.catalog-nav a:hover{border-color:var(--clay);color:var(--clay)}
.catalog-section{scroll-margin-top:160px}
.catalog-heading{display:grid;grid-template-columns:15% 1fr;gap:38px;margin-bottom:42px}
.catalog-heading p{max-width:790px;color:var(--muted)}
.catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.product-card{background:var(--cream);border:1px solid var(--line);border-radius:24px;overflow:hidden;min-width:0;box-shadow:0 12px 36px rgba(71,61,43,.07)}
.product-media{height:390px;position:relative;overflow:hidden;background:#dce2dc}
.product-media img{height:100%;object-fit:cover;transition:.55s}
.product-card:hover .product-media img{transform:scale(1.025)}
.product-badge{position:absolute;left:18px;top:18px;background:var(--forest);color:#fff;padding:10px 14px;border-radius:999px;font-size:8px;font-weight:700;letter-spacing:.08em}
.product-details{padding:33px}
.product-details small{font-size:9px;font-weight:700;letter-spacing:.1em;color:var(--clay)}
.product-details h3{font-size:34px;line-height:1.05;margin:14px 0;color:var(--forest)}
.product-details>p{font-size:13px;color:var(--muted);min-height:70px}
.specs{margin:25px 0 0;border-top:1px solid var(--line)}
.specs div{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:13px 0;border-bottom:1px solid var(--line)}
.specs dt{font-size:10px;font-weight:700;color:#747c76;text-transform:uppercase}
.specs dd{margin:0;text-align:right;font-size:12px;font-weight:700;color:var(--forest)}
.note{margin-top:28px;padding:20px 22px;border-left:4px solid var(--clay);border-radius:0 14px 14px 0;background:var(--cream);color:var(--muted);font-size:11px;line-height:1.7}
.section-dark .note{background:rgba(255,255,255,.08);color:#d4ddd7}
.system-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.system-grid article{background:rgba(255,255,255,.09);color:#fff;padding:30px;border:1px solid rgba(255,255,255,.12);border-radius:18px;min-height:260px}
.content-section.alt .system-grid article{background:var(--forest)}
.system-grid span{width:38px;height:38px;display:grid;place-items:center;background:var(--clay);border-radius:50%;font-size:10px;font-weight:700}
.system-grid h3{font-size:24px;margin:46px 0 12px}
.system-grid p{font-size:12px;color:#c8d2cc}
.tech-steps{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.tech-step{background:var(--cream);padding:38px;border:1px solid var(--line);border-radius:22px;min-height:310px}
.tech-step b{font-size:10px;letter-spacing:.1em;color:var(--clay)}
.tech-step h3{font-size:31px;margin:40px 0 14px;color:var(--forest)}
.tech-step p{color:var(--muted);font-size:13px}
.tech-step ul{padding-left:18px;font-size:12px;line-height:1.9;color:#59635e}
.wide-image{height:min(68vw,700px);position:relative;overflow:hidden;margin:0}
.wide-image img{height:100%;object-fit:cover}
.wide-image figcaption{position:absolute;right:25px;bottom:25px;background:rgba(255,253,248,.94);color:var(--forest);padding:16px 20px;border-radius:12px;font-size:9px;font-weight:700;box-shadow:var(--shadow)}
.extended-section{background:var(--paper)}
.story-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:45px}
.story-grid article{padding:34px;background:var(--cream);border:1px solid var(--line);border-radius:20px}
.story-grid h3{font-size:28px;color:var(--forest);margin:0 0 18px}
.story-grid p{font-size:13px;color:var(--muted);margin:0 0 13px}.story-grid p:last-child{margin-bottom:0}
.editorial-block{display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw;margin-top:75px;padding:48px;background:var(--sage-light);border-radius:26px}
.editorial-block h2{font-size:clamp(38px,4vw,62px);line-height:1;margin:18px 0;color:var(--forest)}
.editorial-block h3{font-size:21px;color:var(--forest);margin:24px 0 5px}.editorial-block h3:first-child{margin-top:0}
.editorial-block p{font-size:13px;color:#59635e;margin-top:0}

/* Contacts */
.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw}
.contact-copy h2{font-size:clamp(46px,5vw,76px);line-height:.98;letter-spacing:-.04em;margin:22px 0;color:var(--forest)}
.contact-copy>p{color:var(--muted)}
.contact-facts{margin-top:40px}
.contact-facts div{padding:18px 0;border-top:1px solid var(--line)}
.contact-facts small{display:block;font-size:8px;font-weight:700;letter-spacing:.13em;color:var(--clay);margin-bottom:7px;text-transform:uppercase}
.contact-facts b{font-family:var(--serif);font-size:17px;font-weight:400;color:var(--forest)}
.contact-form{background:var(--forest);color:#fff;padding:43px;border-radius:26px;box-shadow:0 22px 55px rgba(33,72,59,.2)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}
.contact-form label{display:block;font-size:12px;font-weight:700;line-height:1.45;letter-spacing:.07em;color:#d4e0d8;text-transform:uppercase}
.contact-form .span-2{grid-column:1/-1}
.contact-form input,.contact-form textarea,.contact-form select{width:100%;display:block;background:transparent;border:0;border-bottom:1px solid #648073;color:#fff;padding:15px 0;font-size:16px;line-height:1.5;outline:none}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#a9b9af;opacity:1}
.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:#efad8e}
.contact-form textarea{height:110px;resize:vertical}
.contact-form select option{color:#111}
.contact-form .button{width:100%;margin-top:28px;border:0;font-size:13px;padding-top:18px;padding-bottom:18px}
.form-status{min-height:24px;margin:17px 0 0;font-size:13px;line-height:1.55;color:#a7dfbc}
.form-status.error{color:#ffc0a8}
.contact-form .button:disabled{cursor:wait;opacity:.65;transform:none}
.form-note{font-size:12px;line-height:1.65;color:#b4c4ba;margin-top:16px}

/* Footer */
.footer{padding:52px 7vw 26px;background:var(--forest-2);color:#aebdb5;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:35px;align-items:start}
.footer .inverse{color:#fff}.footer .inverse small{color:#aebdb5}
.footer p{font-size:11px}
.footer nav{display:flex;flex-direction:column;gap:10px;color:#e4e9e5;font-size:11px;font-weight:700}
.footer small{grid-column:1/-1;padding-top:23px;border-top:1px solid #496057;font-size:8px}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}

@media(max-width:1120px){
  .nav{gap:15px}.header-cta{display:none}.production-grid{grid-template-columns:repeat(3,1fr)}
  .product-strip{grid-template-columns:1fr 1fr}.feature-card:first-child{grid-column:1/-1}
  .statement{grid-template-columns:130px 1fr}.statement aside{grid-column:2}
  .tech-intro{grid-template-columns:1fr}.tech-visual{min-height:620px;margin:30px}
  .system-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:800px){
  .site-header{height:74px}.menu{display:block;order:4}.nav{display:none}
  .nav.open{display:flex;position:absolute;left:0;right:0;top:74px;padding:18px 6vw 24px;background:var(--paper);flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line);box-shadow:var(--shadow)}
  .nav a{padding:12px 0;border-bottom:1px solid var(--line)}
  .hero{min-height:790px}.hero-content{padding:10vh 6vw 190px}.hero h1{font-size:66px}
  .hero-metrics{left:20px;right:20px}.hero-metrics div{padding:20px 17px}
  .section,.section-dark,.content-section{padding:78px 6vw}
  .statement{grid-template-columns:1fr}.statement aside{grid-column:auto}
  .section-head,.catalog-heading{grid-template-columns:1fr;gap:24px}
  .product-strip,.catalog-grid{grid-template-columns:1fr}.feature-card:first-child{grid-column:auto}
  .feature-card{min-height:520px}.production-grid{grid-template-columns:repeat(2,1fr)}
  .cta-band{align-items:flex-start;flex-direction:column}.catalog-nav{top:74px}
  .contact-layout{grid-template-columns:1fr}.footer{grid-template-columns:1fr 1fr}.footer small{grid-column:1/-1}
  .editorial-block{grid-template-columns:1fr;gap:20px;padding:34px}
}
@media(max-width:540px){
  .brand{font-size:14px}.brand small{font-size:7px}.hero h1{font-size:49px}.hero-lead{font-size:14px}
  .hero-actions{flex-direction:column;align-items:stretch}.hero-metrics{grid-template-columns:1fr 1fr;bottom:18px}.hero-metrics div:last-child{display:none}
  .statement h2,.section-head h2,.tech-copy h2,.catalog-heading h2{font-size:39px}
  .large-copy{font-size:15px}.feature-card{min-height:450px}.card-copy h3{font-size:36px}
  .tech-visual{min-height:460px;margin:18px;border-radius:20px}.visual-label{left:16px;right:16px;bottom:16px}
  .process-list li{grid-template-columns:1fr;gap:8px}.production-grid,.system-grid,.tech-steps{grid-template-columns:1fr}
  .production-grid article{min-height:220px}.product-media{height:280px}.product-details{padding:24px}
  .story-grid{grid-template-columns:1fr}.story-grid article{padding:26px}.editorial-block{margin-top:50px;padding:26px;border-radius:20px}
  .product-details h3{font-size:28px}.product-details>p{min-height:0}.specs dt{font-size:9px}.specs dd{font-size:11px}
  .footer{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.contact-form .span-2{grid-column:auto}.contact-form{padding:28px;border-radius:20px}.contact-form label{font-size:12px}.contact-form input,.contact-form textarea,.contact-form select{font-size:16px}
  .catalog-nav{overflow:auto;flex-wrap:nowrap;justify-content:flex-start}.catalog-nav a{white-space:nowrap}.page-hero{min-height:530px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.feature-card img{transition:none}}
