@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&family=Newsreader:ital,opsz,wght@1,6..72,500&display=swap');

:root { --ivory:#f4f0e7; --paper:#fbfaf6; --ink:#102436; --teal:#1d6f68; --teal-dark:#155852; --muted:#66717a; --line:rgba(16,36,54,.15); --white-line:rgba(255,255,255,.22); font-family:Manrope,Arial,sans-serif; color:var(--ink); background:var(--paper); font-synthesis:none; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; min-width:320px; min-height:100vh; background:var(--paper); color:var(--ink); -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
img { display:block; width:100%; object-fit:cover; }
button,input,select,textarea { font:inherit; }
.shell { width:min(1240px,calc(100% - 80px)); margin-inline:auto; }
.supply-bar { background:var(--ink); color:#e9e5dc; font-size:11px; letter-spacing:.08em; text-transform:uppercase; }
.supply-bar__inner { height:36px; display:flex; justify-content:space-between; align-items:center; }
.site-header { height:84px; background:rgba(244,240,231,.96); border-bottom:1px solid var(--line); position:sticky; top:0; z-index:20; backdrop-filter:blur(12px); }
.nav-row { height:100%; display:flex; align-items:center; justify-content:space-between; gap:40px; }
.brand { display:inline-flex; flex-direction:column; line-height:1; }
.brand__name { font-size:20px; letter-spacing:.14em; font-weight:700; }
.brand__descriptor { margin-top:8px; color:var(--teal); font-size:8px; letter-spacing:.19em; font-weight:700; }
.main-nav { display:flex; align-items:center; gap:28px; font-size:12px; font-weight:600; }
.main-nav>a { padding-block:32px; border-bottom:2px solid transparent; }
.main-nav>a:hover,.main-nav>a.is-active { color:var(--teal); border-bottom-color:var(--teal); }
.main-nav .nav-contact { padding:12px 19px; color:white; background:var(--teal); border-bottom:0; }
.main-nav .nav-contact:hover { color:white; background:var(--teal-dark); }
.menu-button { display:none; border:1px solid var(--line); background:transparent; color:var(--ink); min-width:64px; min-height:44px; }
.eyebrow { margin:0 0 20px; color:var(--teal); font-size:11px; font-weight:700; letter-spacing:.16em; line-height:1.4; text-transform:uppercase; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { letter-spacing:-.04em; }
h1 { margin-bottom:28px; font-size:clamp(54px,5.8vw,90px); line-height:.95; font-weight:600; }
h1 em { color:var(--teal); font-family:Newsreader,Georgia,serif; font-weight:500; }
h2 { margin-bottom:28px; font-size:clamp(40px,4.2vw,64px); line-height:1.02; font-weight:600; }
h3 { font-size:28px; line-height:1.12; font-weight:600; }
p { color:var(--muted); font-size:15px; line-height:1.8; }
.lead { max-width:650px; font-size:18px; line-height:1.7; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:0 24px; border:1px solid var(--teal); background:var(--teal); color:white; font-size:12px; font-weight:700; letter-spacing:.04em; cursor:pointer; transition:.2s ease; }
.button:hover { background:var(--teal-dark); border-color:var(--teal-dark); transform:translateY(-1px); }
.button--pale { background:var(--ivory); border-color:var(--ivory); color:var(--ink); }
.button--pale:hover { background:white; border-color:white; }
.text-link { display:inline-flex; width:fit-content; padding-bottom:5px; border:0; border-bottom:1px solid currentColor; background:transparent; color:var(--ink); font-size:12px; font-weight:700; cursor:pointer; }
.text-link:hover { color:var(--teal); }
.action-row { display:flex; align-items:center; gap:28px; margin-top:40px; }
.hero-meta { display:flex; flex-wrap:wrap; gap:16px 28px; margin-top:56px; padding-top:24px; border-top:1px solid var(--line); }
.hero-meta span { font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.home-hero { background:var(--ivory); }
.home-hero__grid { min-height:720px; display:grid; grid-template-columns:43.5% 56.5%; }
.home-hero__content { min-width:0; align-self:center; padding:84px 68px 72px 0; }
.home-hero__image { min-width:0; position:relative; min-height:720px; overflow:hidden; }
.home-hero__image>img { position:absolute; inset:0; height:100%; }
.image-note { position:absolute; left:0; bottom:0; width:min(340px,62%); padding:26px 30px; background:rgba(16,36,54,.94); color:white; }
.image-note span { display:block; margin-bottom:8px; color:#9acbc4; font-size:9px; letter-spacing:.12em; text-transform:uppercase; }
.image-note strong { font-size:13px; font-weight:500; }
.section { padding:128px 0; background:var(--paper); }
.section--ivory { background:var(--ivory); }
.section--navy { background:var(--ink); color:white; }
.section-heading { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,390px); gap:80px; align-items:end; margin-bottom:72px; }
.section-heading__aside { padding-bottom:7px; }
.section-heading__aside p { margin-bottom:22px; }
.section-heading--light h2 { color:white; }
.section-heading--light .eyebrow { color:#89c5bd; }
.section-heading--light p { color:#c5ced2; }
.product-rows { border-top:1px solid var(--line); }
.product-row { display:grid; grid-template-columns:54% 46%; min-height:390px; border-bottom:1px solid var(--line); }
.product-row--reverse { grid-template-columns:46% 54%; }
.product-row--reverse img { order:2; }
.product-row img { height:100%; min-height:390px; }
.product-row__content { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding:56px 64px; }
.product-row__content .number,.number { color:var(--teal); font-size:11px; font-weight:700; }
.product-row__content .eyebrow { margin:36px 0 10px; }
.product-row__content h3 { margin-bottom:18px; font-size:36px; }
.product-row__content .text-link { margin-top:18px; }
.feature-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--white-line); }
.feature-grid>div { min-height:260px; padding:38px 34px 20px 0; border-right:1px solid var(--white-line); }
.feature-grid>div:not(:first-child) { padding-left:34px; }
.feature-grid>div:last-child { border-right:0; }
.feature-grid span { color:#86bdb6; font-size:11px; }
.feature-grid h3 { margin:44px 0 16px; color:white; font-size:20px; }
.feature-grid p { color:#bdc6ca; font-size:13px; }
.feature-grid--light { border-top-color:var(--line); }
.feature-grid--light>div { border-right-color:var(--line); }
.feature-grid--light h3 { color:var(--ink); }
.feature-grid--light p { color:var(--muted); }
.feature-grid--light span { color:var(--teal); }
.split-story { display:grid; grid-template-columns:minmax(0,44fr) minmax(0,56fr); align-items:center; gap:94px; }
.split-story--reverse { grid-template-columns:minmax(0,56fr) minmax(0,44fr); }
.split-story>img { height:540px; }
.split-story .button { margin-top:22px; }
.location-grid { display:grid; grid-template-columns:48% 52%; align-items:center; }
.location-mark { color:rgba(16,36,54,.08); font-size:clamp(68px,9vw,134px); font-weight:700; letter-spacing:-.07em; line-height:.74; }
.location-mark span { margin-left:22%; font-family:Newsreader,Georgia,serif; font-size:.42em; font-style:italic; font-weight:500; }
.location-grid>div:last-child { max-width:540px; }
.location-grid .text-link { margin-top:18px; }
.inquiry-cta { padding:90px 0; background:var(--teal); color:white; }
.inquiry-cta__inner { display:grid; grid-template-columns:1fr 420px; align-items:end; gap:80px; }
.inquiry-cta .eyebrow { color:#b9ddd8; }
.inquiry-cta h2 { margin-bottom:0; color:white; }
.inquiry-cta p { color:#dbeae8; }
.inquiry-cta .button { margin-top:20px; }
.site-footer { padding:82px 0 24px; background:var(--ink); color:white; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1.25fr; gap:70px; padding-bottom:70px; }
.brand--footer { margin-bottom:26px; }
.footer-grid h3 { margin:3px 0 22px; color:#91c7bf; font-size:11px; letter-spacing:.12em; text-transform:uppercase; }
.footer-grid a,.footer-grid p { display:block; margin:0 0 12px; color:#c5ced2; font-size:12px; line-height:1.7; }
.footer-grid a:hover { color:white; }
.footer-bottom { display:flex; justify-content:space-between; gap:30px; padding-top:24px; border-top:1px solid var(--white-line); color:#88969f; font-size:10px; letter-spacing:.06em; text-transform:uppercase; }
.page-hero { min-height:590px; background:var(--ivory); }
.page-hero__grid { min-height:590px; display:grid; grid-template-columns:54% 46%; align-items:stretch; }
.page-hero__content { align-self:center; padding:80px 86px 70px 0; }
.page-hero h1 { font-size:clamp(54px,5.2vw,78px); }
.page-hero img { height:100%; min-height:590px; }
.category-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.category-card { background:var(--paper); }
.category-card>.number { display:block; padding:24px; }
.category-card img { height:250px; }
.category-card>div { padding:34px; }
.category-card h3 { margin-bottom:18px; }
.category-card .eyebrow { margin-bottom:12px; }
.category-card .text-link { margin-top:12px; }
.detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:100px; align-items:start; }
.tag-list { display:flex; flex-wrap:wrap; gap:8px; margin-top:38px; }
.tag-list span { padding:10px 14px; border:1px solid var(--line); color:var(--ink); font-size:11px; font-weight:600; }
.spec-table { border-top:1px solid var(--line); }
.spec-table>div { display:grid; grid-template-columns:140px 1fr; gap:30px; padding:24px 0; border-bottom:1px solid var(--line); }
.spec-table span { color:var(--muted); font-size:11px; text-transform:uppercase; }
.spec-table strong { font-size:13px; line-height:1.6; }
.two-card { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line); }
.two-card article { padding:54px; background:var(--paper); }
.two-card h3 { margin:60px 0 18px; }
.application-list { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--line); }
.application-list article { padding:48px 50px 50px 0; border-bottom:1px solid var(--line); }
.application-list article:nth-child(odd) { border-right:1px solid var(--line); }
.application-list article:nth-child(even) { padding-left:50px; }
.application-list span { color:var(--teal); font-size:11px; }
.application-list h3 { margin:36px 0 18px; }
.application-list .text-link { margin-top:15px; }
.quote-panel { padding:70px; background:var(--ink); }
.quote-panel p { color:white; font-family:Newsreader,Georgia,serif; font-size:36px; font-style:italic; line-height:1.3; }
.quote-panel span { color:#8dc3bb; font-size:10px; letter-spacing:.1em; text-transform:uppercase; }
.case-list { border-top:1px solid var(--line); }
.case-list article { display:grid; grid-template-columns:180px 1.2fr 1fr; gap:50px; padding:48px 0; border-bottom:1px solid var(--line); align-items:start; }
.case-type { color:var(--teal); font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.case-list h3 { margin:0; }
.case-meta { display:flex; flex-direction:column; gap:12px; }
.case-meta span { padding-bottom:12px; border-bottom:1px solid var(--line); color:var(--muted); font-size:11px; }
.quality-steps { border-top:1px solid var(--line); }
.quality-steps>div { display:grid; grid-template-columns:42px 1fr; column-gap:28px; padding:30px 0; border-bottom:1px solid var(--line); }
.quality-steps span { grid-row:span 2; color:var(--teal); font-size:11px; }
.quality-steps h3 { margin-bottom:8px; font-size:20px; }
.quality-steps p { margin-bottom:0; font-size:13px; }
.document-panel { display:grid; grid-template-columns:56% 44%; background:var(--paper); }
.document-panel img { height:430px; }
.document-panel>div { align-self:center; padding:54px; }
.status-label,.news-grid article>span { color:var(--teal); font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.document-panel h3 { margin:34px 0 18px; }
.document-panel .text-link { margin-top:15px; }
.news-grid { display:grid; grid-template-columns:1.25fr 1fr; gap:64px; }
.news-feature img { height:390px; margin-bottom:28px; }
.news-grid h3 { margin:18px 0 12px; }
.news-stack article { padding:0 0 30px; margin-bottom:30px; border-bottom:1px solid var(--line); }
.news-stack h3 { font-size:23px; }
.contact-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:100px; align-items:start; }
.contact-note { margin-top:50px; padding-top:28px; border-top:1px solid var(--line); }
.contact-note span,.contact-note small { display:block; color:var(--muted); font-size:10px; line-height:1.7; text-transform:uppercase; letter-spacing:.08em; }
.contact-note strong { display:block; margin:10px 0 13px; font-size:16px; }
.inquiry-form { padding:52px; background:var(--paper); border-top:3px solid var(--teal); }
.field-row { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.inquiry-form label { display:block; margin-bottom:24px; color:var(--ink); font-size:11px; font-weight:700; letter-spacing:.04em; }
.inquiry-form input,.inquiry-form select,.inquiry-form textarea { width:100%; margin-top:10px; padding:14px 0; border:0; border-bottom:1px solid var(--line); border-radius:0; outline:0; background:transparent; color:var(--ink); }
.inquiry-form textarea { padding:14px; border:1px solid var(--line); resize:vertical; }
.inquiry-form input:focus,.inquiry-form select:focus,.inquiry-form textarea:focus { border-color:var(--teal); box-shadow:0 2px 0 var(--teal); }
.form-success { min-height:470px; padding:60px; background:var(--ink); color:white; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.form-success>span { color:#8fc8c0; font-size:10px; letter-spacing:.1em; text-transform:uppercase; }
.form-success h3 { margin:40px 0 15px; font-size:42px; }
.form-success p { color:#c5ced2; }
.form-success .text-link { margin-top:18px; color:white; }
@media(max-width:1080px){.shell{width:min(100% - 48px,1240px)}.main-nav{gap:18px}.main-nav>a{font-size:11px}.home-hero__content{padding-right:40px}.section{padding:100px 0}.feature-grid{grid-template-columns:1fr 1fr}.feature-grid>div:nth-child(2){border-right:0}.feature-grid>div:nth-child(3),.feature-grid>div:nth-child(4){border-top:1px solid var(--white-line)}.feature-grid--light>div:nth-child(3),.feature-grid--light>div:nth-child(4){border-top-color:var(--line)}.footer-grid{gap:40px}}
@media(max-width:860px){.supply-bar__inner span:last-child{display:none}.site-header{height:74px}.menu-button{display:block}.main-nav{position:absolute;top:74px;left:0;right:0;display:none;padding:18px 24px 26px;background:var(--ivory);border-bottom:1px solid var(--line);box-shadow:0 16px 30px rgba(16,36,54,.12)}.main-nav.is-open{display:grid}.main-nav>a{padding:13px 0;border-bottom:1px solid var(--line)}.main-nav .nav-contact{margin-top:8px;text-align:center;border-bottom:0}.home-hero__grid,.page-hero__grid{grid-template-columns:1fr}.home-hero__content,.page-hero__content{padding:72px 0}.home-hero__image{min-height:520px;margin-inline:-24px}.page-hero img{min-height:430px;height:430px;width:calc(100% + 48px);margin-left:-24px}.section-heading{grid-template-columns:1fr;gap:10px;margin-bottom:54px}.product-row,.product-row--reverse{grid-template-columns:1fr}.product-row--reverse img{order:0}.product-row__content{padding:48px 36px}.split-story,.split-story--reverse{grid-template-columns:1fr;gap:54px}.location-grid,.inquiry-cta__inner,.detail-grid,.contact-grid{grid-template-columns:1fr;gap:55px}.location-mark{margin-bottom:30px}.inquiry-cta__inner{align-items:start}.category-grid{grid-template-columns:1fr}.category-card{display:grid;grid-template-columns:46% 54%}.category-card>.number{display:none}.category-card img{height:100%;min-height:320px}.two-card,.application-list{grid-template-columns:1fr}.application-list article:nth-child(odd){border-right:0}.application-list article:nth-child(even){padding-left:0}.case-list article{grid-template-columns:150px 1fr}.case-meta{grid-column:2}.document-panel,.news-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:2fr 1fr 1fr}.footer-grid>div:last-child{grid-column:1/-1}}
@media(max-width:560px){.shell{width:calc(100% - 40px)}.supply-bar{font-size:9px}.brand__name{font-size:17px}h1{font-size:52px}h2{font-size:38px}h3{font-size:25px}.lead{font-size:16px}.home-hero__content{padding:60px 0}.home-hero__image{min-height:430px;margin-inline:-20px}.action-row{align-items:flex-start;flex-direction:column;gap:22px}.hero-meta{margin-top:42px}.section{padding:78px 0}.section-heading{margin-bottom:42px}.product-row img{min-height:260px;height:260px}.product-row__content{padding:42px 26px}.product-row__content h3{font-size:29px}.feature-grid{grid-template-columns:1fr}.feature-grid>div,.feature-grid>div:not(:first-child){min-height:0;padding:32px 0;border-right:0;border-top:1px solid var(--white-line)}.feature-grid>div:first-child{border-top:0}.feature-grid--light>div,.feature-grid--light>div:not(:first-child){border-top-color:var(--line)}.feature-grid h3{margin-top:26px}.split-story>img{height:340px}.location-mark{font-size:74px}.inquiry-cta{padding:72px 0}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child,.footer-grid>div:last-child{grid-column:1/-1}.footer-bottom{flex-direction:column}.page-hero__content{padding:58px 0}.page-hero h1{font-size:46px}.page-hero img{width:calc(100% + 40px);margin-left:-20px;min-height:320px;height:320px}.category-card{display:block}.category-card img{min-height:230px;height:230px}.category-card>div{padding:30px 26px}.spec-table>div{grid-template-columns:1fr;gap:8px}.two-card article{padding:38px 30px}.two-card h3{margin-top:40px}.application-list article{padding:36px 0}.quote-panel{padding:42px 30px}.quote-panel p{font-size:29px}.case-list article{grid-template-columns:1fr;gap:24px}.case-meta{grid-column:1}.document-panel img{height:280px}.document-panel>div{padding:38px 28px}.news-feature img{height:290px}.field-row{grid-template-columns:1fr;gap:0}.inquiry-form,.form-success{padding:38px 25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
.skip-link { position:fixed; left:16px; top:-80px; z-index:100; padding:12px 16px; background:white; color:var(--ink); }
.skip-link:focus { top:16px; }
.honey-field { position:absolute!important; left:-9999px!important; width:1px!important; height:1px!important; }
.form-error { color:#9b362e; font-size:12px; font-weight:600; }
body.admin-bar .site-header { top:32px; }
@media(max-width:782px){body.admin-bar .site-header{top:46px}}
