:root{--navy:#082944;--deep:#061e33;--gold:#efb91f;--ink:#152c42;--muted:#55687a;--line:#dfE6ea;--cream:#f6f8fa}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:16px/1.65 system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}a{color:inherit}img{display:block;max-width:100%}.wrap{width:min(1190px,calc(100% - 48px));margin:auto}.skip{position:absolute;left:-9999px;top:0;background:white;padding:12px;z-index:100}.skip:focus{left:0}.site-header{position:relative;z-index:20;background:white;box-shadow:0 1px 10px #091a2914}.topbar{min-height:93px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{text-decoration:none;display:flex;flex-direction:column;line-height:1.2}.brand-name{font-weight:900;font-size:29px;letter-spacing:.02em;color:var(--navy)}.brand-sub{font-size:12px;font-weight:700;letter-spacing:.015em;margin-top:5px;color:#52677a}.site-header nav{display:flex;align-items:center;gap:28px}.site-header nav a{text-decoration:none;font-size:13px;font-weight:700;color:#25425a}.site-header nav a:hover{color:#a57800}.site-header nav .nav-contact{background:var(--navy);color:white;padding:12px 17px;border-radius:3px}.site-header nav .nav-contact:hover{background:#134463;color:#fff}.menu-toggle{display:none}.hero{position:relative;color:white;background:#123b57;min-height:575px;overflow:hidden}.hero-photo{position:absolute;inset:0;background:url('assets/quarry-scene.webp') center/cover no-repeat;opacity:.8}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,30,51,.98) 0%,rgba(4,30,51,.91) 30%,rgba(4,30,51,.52) 65%,rgba(4,30,51,.15) 100%)}.hero-inner{position:relative;min-height:575px;display:flex;align-items:center;justify-content:space-between;gap:46px;padding-top:45px;padding-bottom:45px}.hero-copy{max-width:730px;z-index:2}.eyebrow,.kicker{font-size:12px;font-weight:850;letter-spacing:.18em;color:#b78300}.eyebrow{color:#ffe084;display:flex;align-items:center;gap:10px;letter-spacing:.13em}.eyebrow-line{display:block;width:28px;height:3px;background:var(--gold)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(39px,5vw,70px);line-height:1.1;letter-spacing:-.045em;margin:26px 0 20px}h1 em{font-style:normal;color:var(--gold)}.hero-sub{font-size:19px;color:#e5eff6;line-height:1.5}.hero-promise{margin-top:30px;font-size:26px;line-height:1.4;border-left:4px solid var(--gold);padding-left:17px}.hero-promise strong{color:#f6ca57}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.button{font-size:13px;font-weight:800;letter-spacing:.02em;border-radius:4px;padding:14px 20px;text-decoration:none;display:inline-flex;align-items:center;gap:18px;justify-content:center}.button-gold{background:var(--gold);color:var(--deep)}.button-gold:hover{background:#ffd05c}.button-outline{border:1px solid #e1eff5;color:white;background:#133f5d88}.button-outline:hover{background:#2d5a75}.hero-portrait{flex:0 0 278px;align-self:end;position:relative;border:5px solid #ffffff55;background:#213b51;box-shadow:0 22px 50px #0005;transform:rotate(1.5deg)}.hero-portrait img{width:278px;height:360px;object-fit:cover;object-position:center 25%}.hero-portrait>span{display:block;position:absolute;left:-5px;right:-5px;bottom:-5px;background:#082944eb;color:white;text-align:center;padding:12px;font-size:17px;font-weight:900;letter-spacing:.13em}.hero-portrait small{display:block;font-size:9px;color:#f9cc55;letter-spacing:.12em}.cred-strip{background:var(--navy);color:white}.cred-inner{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:25px 0}.cred-inner>div{padding-left:22px;border-left:3px solid var(--gold);display:flex;flex-direction:column;line-height:1.4}.cred-inner strong{font-size:20px;letter-spacing:.04em}.cred-inner span{font-size:12px;color:#d5e2eb;margin-top:4px}.section{padding:86px 0}.two-col{display:grid;grid-template-columns:1.3fr .85fr;gap:85px;align-items:center}h2{font-size:clamp(31px,3.5vw,47px);letter-spacing:-.04em;line-height:1.18;color:var(--navy);margin-bottom:22px}.section p:not(.kicker){color:var(--muted)}.section .lede{font-size:18px;color:#273f54!important;font-weight:550}.accent{height:4px;width:65px;background:var(--gold);margin:24px 0}.quote-panel{background:#eef3f6;border-top:5px solid var(--gold);padding:38px 36px}.quote-mark{font:bold 72px Georgia,serif;color:#d3a00c;line-height:.7}.quote-panel blockquote{font:500 italic 25px/1.4 Georgia,serif;color:var(--navy);margin:15px 0 23px}.quote-signature{font-size:13px;font-weight:800}.quote-rule{border-top:1px solid #cad9e1;margin:25px 0}.small-eyebrow{font-size:11px;letter-spacing:.075em;color:#607589;font-weight:800}.equipment{background:var(--cream)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:26px}.section-heading h2{margin:0}.section-heading>p{max-width:350px;font-size:14px}.equipment-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.equipment-card{background:#fff;box-shadow:0 5px 22px #10233412;border:1px solid #e4ebef;overflow:hidden}.equipment-card img{width:100%;height:164px;object-fit:cover}.equipment-body{padding:20px}.card-num{font-size:10px;color:#a47b12;font-weight:800;letter-spacing:.12em}.equipment-body h3{color:var(--navy);font-size:19px;line-height:1.25;margin:12px 0}.equipment-body p{font-size:13px;margin:0}.other{margin:29px 0 0!important;font-size:14px}.other a{font-weight:800;color:#0a4267}.process .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin-top:40px}.step{padding:0 14px 0 22px;border-left:1px solid var(--line)}.step:first-child{border-left:3px solid var(--gold)}.step>span{font-size:27px;font-weight:900;color:#c28a00}.step h3{color:var(--navy);line-height:1.22;margin:8px 0;font-size:18px}.step p{font-size:13px}.contact{background:var(--navy);color:white;padding:72px 0}.contact-inner{display:grid;grid-template-columns:1fr .9fr;gap:65px;align-items:center}.contact h2{color:white}.contact p{color:#d9e6ee}.contact .kicker-light{color:#f3bf3c}.contact-note{font-size:13px;opacity:.85}.contact-actions{display:flex;flex-direction:column;gap:11px}.contact-link{display:flex;flex-direction:column;position:relative;border:1px solid #7890a1;padding:13px 22px;text-decoration:none;border-radius:5px;line-height:1.4;color:white}.contact-link.primary{background:#0c6f43;border-color:#5aca93}.contact-link:hover{background:#164a6d}.contact-link.primary:hover{background:#128153}.contact-link span:first-child{font-size:12px;color:#dce9ee}.contact-link strong{font-size:19px}.contact-link .arrow{position:absolute;right:21px;top:18px;font-size:24px}.footer{background:#041929;color:#d1dfe9;padding:26px 0}.footer-inner{display:flex;justify-content:space-between;gap:25px;align-items:center}.footer-inner>div{display:flex;flex-direction:column}.footer-inner strong{font-size:18px;letter-spacing:.09em}.footer small,.footer span{font-size:12px}.footer a{font-weight:700;font-size:13px;color:#f1c450;margin-top:4px;text-decoration:none}.disclosure{border-top:1px solid #24445b;margin-top:23px;padding-top:13px;color:#92a9b7;font-size:11px}
@media(max-width:900px){.equipment-grid{grid-template-columns:repeat(2,1fr)}.hero-portrait{flex-basis:215px}.hero-portrait img{width:215px;height:305px}.hero-inner{gap:20px}.two-col{gap:35px}.site-header nav{gap:12px}.site-header nav a{font-size:12px}.cred-inner strong{font-size:16px}.contact-inner{gap:35px}}
@media(max-width:650px){.wrap{width:min(100% - 32px,1190px)}.topbar{min-height:74px}.brand-name{font-size:24px}.brand-sub{font-size:10px}.menu-toggle{display:flex;gap:10px;align-items:center;background:white;border:1px solid #c9d5db;padding:7px 10px;border-radius:4px;color:var(--navy);font-weight:700}.site-header nav{display:none;position:absolute;top:74px;left:0;right:0;flex-direction:column;align-items:stretch;background:white;box-shadow:0 14px 20px #0002;gap:0;padding:10px 18px}.site-header nav.open{display:flex}.site-header nav a{padding:12px;border-bottom:1px solid #edf0f1;font-size:14px}.hero-inner{min-height:0;display:block;padding-top:48px;padding-bottom:34px}.hero{min-height:0}.hero-photo{background-position:45% center}.hero-shade{background:#051f35d9}.hero-copy{max-width:none}.eyebrow{font-size:10px}.hero-sub{font-size:17px}.hero-promise{font-size:22px}.hero-portrait{display:none}.actions .button{width:100%}.cred-inner{grid-template-columns:1fr;gap:17px;padding:24px 0}.cred-inner>div{padding-left:15px}.section{padding:53px 0}.two-col,.contact-inner{grid-template-columns:1fr;gap:27px}.quote-panel{padding:26px}.section-heading{display:block}.equipment-grid{grid-template-columns:1fr;gap:14px}.equipment-card img{height:200px}.process .steps{grid-template-columns:1fr 1fr;row-gap:30px}.step{padding-left:12px}.contact{padding:58px 0}.footer-inner{align-items:start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Portrait refinements: no stretch, frame, rotation or scenic inset. */
.hero-portrait {flex:0 0 clamp(230px,25vw,330px); border:0; background:transparent; box-shadow:none; transform:none; align-self:flex-end; min-width:0;}
.hero-portrait img {display:block; width:100%; height:auto; max-height:480px; object-fit:contain; object-position:bottom center; filter:drop-shadow(0 12px 24px rgba(0,0,0,.3));}
.hero-portrait > span {left:0;right:0;bottom:0;border-radius:4px; font-size:14px; padding:9px; display:none;}
@media(min-width:901px){.hero-copy {flex:1 1 auto; min-width:0;} .hero-portrait {flex-shrink:0;} }
@media(min-width:651px) and (max-width:900px){.hero-portrait{flex-basis:210px}.hero-portrait img{height:auto;max-height:340px;} .hero-copy{min-width:0}}
