:root{--navy:#101f2b;--navy-2:#172b3a;--orange:#ee793e;--ink:#172a38;--body:#53636f;--paper:#f2f5f6;--line:#d6dfe3;--white:#fff;--max:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--white);font-size:1rem;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:6px}::selection{background:var(--orange);color:var(--navy)}.container{max-width:var(--max);width:calc(100% - 112px);margin:auto}.skip-link{position:fixed;top:10px;left:10px;padding:12px 20px;z-index:100;background:white;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.header{height:96px;background:var(--navy);color:white;border-bottom:1px solid #ffffff20;position:relative;z-index:20}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;flex-direction:column;line-height:1;flex-shrink:0}.brand-name{display:flex;align-items:center;font-size:1.85rem;font-weight:800;letter-spacing:-.045em}.brand-square{width:7px;height:7px;display:inline-block;background:var(--orange);margin-left:6px;align-self:flex-end;margin-bottom:3px}.brand-sub{font-size:.75rem;letter-spacing:.39em;margin-top:8px}.navigation{display:flex;gap:32px;align-items:center;font-size:.875rem;font-weight:500}.navigation>a{transition:color .2s}.navigation>a:hover{color:var(--orange)}.navigation .nav-contact{padding:12px 20px;border:1px solid #72818b;display:flex;align-items:center;gap:24px;margin-left:10px}.menu-toggle{display:none}.hero{background:var(--navy);color:var(--white);position:relative;overflow:hidden;min-height:650px}.hero-image{position:absolute;inset:0 0 0 37%;background:url('./assets/geology-hero.webp') center/cover no-repeat}.hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--navy) 0%,#101f2bd9 9%,#101f2b24 51%),linear-gradient(0deg,#101f2b70,transparent 40%)}.hero-content{position:relative;z-index:1;padding-top:67px;padding-bottom:83px}.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.15em;line-height:1.7;margin:0 0 24px;color:#6b4b39}.eyebrow.light{color:#f0b28e}.short-rule{display:inline-block;width:28px;height:2px;background:var(--orange);vertical-align:middle;margin-right:11px}.hero h1{font-size:clamp(2.8rem,4.65vw,4.65rem);font-weight:500;line-height:1.085;letter-spacing:-.052em;margin:0 0 27px;max-width:680px}.hero h1 em{font-style:normal;color:var(--orange)}.hero-description{max-width:435px;color:#c5ced4;line-height:1.75;margin:0 0 34px;font-size:1.0625rem}.hero-actions{display:flex;align-items:center;gap:27px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:17px 23px;min-height:58px;font-size:.875rem;font-weight:700;line-height:1.5;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button-orange{background:var(--orange);color:#172330}.button-orange:hover{background:#ff945c}.button span{font-size:1.25rem;line-height:1}.text-link{font-size:.875rem;display:flex;align-items:center;gap:12px;color:#e5eaee;border-bottom:1px solid #e5eaee5c;padding:10px 0}.text-link:hover{color:var(--orange)}.hero-caption{position:absolute;right:30px;bottom:28px;color:#dbe1e5;font-size:.75rem;letter-spacing:.14em;display:flex;flex-direction:column;align-items:flex-end;gap:4px;z-index:1}.expertise-strip{background:var(--navy-2);color:#e8edf0}.expertise-inner{display:grid;grid-template-columns:repeat(3,1fr);padding:27px 0}.expertise-inner p{margin:0;border-left:1px solid #ffffff2c;padding-left:29px;font-size:1.125rem}.expertise-inner p:first-child{padding-left:0;border:0}.mini-label{display:block;font-size:.75rem;letter-spacing:.12em;font-weight:700;margin-bottom:6px;color:#8d9da9}.section{padding:100px 0}.section-heading{display:grid;grid-template-columns:1fr .72fr;gap:100px;align-items:end;margin-bottom:53px}h2{font-size:clamp(2.15rem,3.45vw,3.15rem);font-weight:500;letter-spacing:-.045em;line-height:1.13;margin:0}h3{line-height:1.3}p{margin-top:0}.section-heading>p{margin-bottom:4px;color:var(--body);max-width:410px}.services{background:var(--paper)}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.service{padding:32px 28px 24px;background:var(--paper);display:flex;flex-direction:column;transition:background .2s}.service:hover{background:#fff}.service-number{font-size:.75rem;font-weight:600;color:#687b88;letter-spacing:.05em;margin-bottom:29px}.service h3{font-size:1.4rem;font-weight:500;letter-spacing:-.03em;margin:0 0 14px}.service>p{color:var(--body);font-size:1rem;line-height:1.7;margin-bottom:30px}.service details{margin-top:auto;border-top:1px solid var(--line);padding-top:13px}.service summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;font-size:.875rem;font-weight:600;min-height:32px;gap:15px}.service summary::-webkit-details-marker{display:none}.service summary span{font-size:1.4rem;font-weight:400;color:#8a4a28;transition:transform .2s}.service details[open] summary span{transform:rotate(45deg)}.detail-content{font-size:.9375rem;color:var(--body);padding-top:15px;line-height:1.7}.about-grid{display:grid;grid-template-columns:1fr .85fr;gap:85px}.about .eyebrow{margin-bottom:29px}.muted-heading{color:#74838d}.about-signature{display:flex;align-items:center;font-size:.75rem;letter-spacing:.12em;font-weight:700;margin-top:45px}.large-copy{font-size:1.5rem;line-height:1.5;letter-spacing:-.025em;color:var(--ink)}.about-copy>p:not(.large-copy){color:var(--body);margin-bottom:22px}.about-note{border-left:2px solid var(--orange);padding:3px 0 3px 21px;margin-top:32px}.about-note>span{font-size:.75rem;letter-spacing:.13em;font-weight:700;color:#805231}.about-note p{margin:8px 0 0;font-size:1rem;max-width:340px}.sectors{background:var(--navy);color:var(--white)}.sectors .section-heading>p{color:#abbac5}.sector-list{border-top:1px solid #ffffff2b}.sector-list>div{display:grid;grid-template-columns:60px 1fr .85fr;align-items:center;gap:24px;padding:26px 0;border-bottom:1px solid #ffffff2b}.sector-list>div>span{font-size:.75rem;color:#e69567}.sector-list h3{font-size:1.3rem;font-weight:400;letter-spacing:-.02em;margin:0}.sector-list p{font-size:.875rem;color:#aabac5;margin:0}.contact{background:#f2f5f6}.contact-grid{display:grid;grid-template-columns:1fr .85fr;gap:85px}.contact h2{font-size:clamp(2.5rem,4.2vw,3.75rem)}.contact h2 em{font-style:normal;color:#bd5522}.contact-info>.large-copy{font-size:1.375rem;margin-bottom:17px}.contact-info>p:not(.large-copy){color:var(--body);margin-bottom:27px}.button-dark{color:white;background:var(--navy)}.button-dark:hover{background:#28465b}.contact-address{margin-top:35px;display:flex;align-items:flex-start;flex-direction:column}.contact-address .mini-label{color:#687884}.contact-address>a{font-size:1.125rem;border-bottom:1px solid #bcc8cf;line-height:1.8}.contact-address>a:hover{color:#a74d24}.contact-address>span:last-child{font-size:.8125rem;color:var(--body);margin-top:10px}.footer{background:var(--navy);color:white;padding:47px 0 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-bottom:42px}.footer-inner>p{font-size:.8125rem;color:#9faeb9;line-height:1.8;margin:0}.footer .brand-name{font-size:1.6rem}.footer .brand-sub{font-size:.75rem}.back-top{font-size:.8125rem;display:flex;align-items:center;gap:20px}.back-top:hover{color:var(--orange)}.footer-bottom{border-top:1px solid #ffffff24;padding-top:18px;padding-bottom:19px;display:flex;justify-content:space-between;gap:20px;color:#95a5b1;font-size:.75rem}
@media(min-width:1550px){.hero-image{left:40%}.hero{min-height:690px}.hero-content{padding-top:83px;padding-bottom:95px}}
@media(max-width:1100px){.container{width:calc(100% - 72px)}.navigation{gap:22px}.navigation .nav-contact{margin-left:0;padding:11px 15px;gap:13px}.hero{min-height:625px}.hero h1{font-size:3.65rem}.hero-actions{gap:20px}.text-link{font-size:.8125rem}.hero-description{max-width:395px}.section-heading{gap:50px}.about-grid,.contact-grid{gap:50px}.service{padding:27px 22px 22px}.service h3{font-size:1.25rem}}
@media(max-width:800px){.container{width:calc(100% - 48px)}.header{height:82px}.brand-name{font-size:1.65rem}.brand-sub{font-size:.75rem}.menu-toggle{width:44px;height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;background:transparent;border:1px solid #647482;color:white;cursor:pointer}.menu-toggle span{width:20px;height:1px;background:currentColor;transition:transform .2s}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}.navigation{display:none;position:absolute;left:0;right:0;top:82px;background:var(--navy);padding:18px 24px 26px;flex-direction:column;align-items:stretch;gap:0;border-bottom:1px solid #ffffff30;box-shadow:0 18px 20px #0002}.navigation.open{display:flex}.navigation>a{padding:13px 0;font-size:1rem}.navigation .nav-contact{margin-top:14px;justify-content:space-between;padding:13px 17px}.hero{min-height:620px}.hero-content{padding-top:62px;padding-bottom:70px}.hero-image{left:20%;opacity:.7}.hero-image:after{background:linear-gradient(90deg,#101f2bee,#101f2b4d),linear-gradient(0deg,#101f2b88,transparent)}.hero h1{font-size:3.7rem}.hero-caption{display:none}.hero-description{color:#d0d8dd}.expertise-inner{padding:25px 0;gap:20px}.expertise-inner p{font-size:.9375rem;padding-left:19px}.mini-label{font-size:.75rem}.section{padding:75px 0}.section-heading{grid-template-columns:1fr;gap:24px;margin-bottom:38px}.section-heading>p{max-width:540px}.eyebrow{margin-bottom:20px}.services-grid{grid-template-columns:repeat(2,1fr)}.service h3{font-size:1.35rem}.about-grid,.contact-grid{grid-template-columns:1fr;gap:34px}.about-signature{display:none}.about-copy{max-width:600px}.about h2{font-size:2.5rem}.sector-list>div{grid-template-columns:32px 1fr;gap:6px 18px;padding:23px 0}.sector-list p{grid-column:2}.contact h2 br{display:none}.contact h2{max-width:500px;font-size:3.2rem}.contact-info{max-width:590px}.footer-inner{flex-wrap:wrap}.footer-inner>p{margin-left:auto}.back-top{width:100%;justify-content:flex-end}.footer-bottom{font-size:.75rem}}
@media(max-width:480px){.container{width:calc(100% - 40px)}.hero{min-height:640px}.hero-content{padding-top:47px;padding-bottom:55px}.hero h1{font-size:clamp(2.6rem,10.8vw,3.4rem);line-height:1.14;letter-spacing:-.045em}.hero .eyebrow{font-size:.75rem;margin-bottom:24px}.hero-description{font-size:1rem;max-width:320px;margin-bottom:28px}.hero-actions{flex-direction:column;align-items:flex-start;gap:14px}.button{font-size:.875rem;padding:16px 20px;gap:20px}.text-link{font-size:.875rem}.hero-image{left:0;opacity:.5}.hero-image:after{background:linear-gradient(90deg,#101f2be6,#101f2b77),linear-gradient(0deg,#101f2bbb,transparent)}.expertise-inner{grid-template-columns:1fr;padding:8px 0;gap:0}.expertise-inner p{border-left:0;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;align-items:center;padding:16px 0;font-size:.875rem;gap:20px}.expertise-inner p:first-child{border-bottom:1px solid #ffffff1a}.expertise-inner p:last-child{border-bottom:0}.expertise-inner .mini-label{margin:0}.section{padding:62px 0}h2,.about h2{font-size:2.2rem}.services-grid{grid-template-columns:1fr}.service{padding:28px}.service-number{margin-bottom:20px}.service h3{font-size:1.5rem}.service>p{margin-bottom:24px}.large-copy{font-size:1.3rem}.contact h2{font-size:2.65rem;max-width:330px}.contact-info>.large-copy{font-size:1.3rem}.contact .button{width:100%;gap:10px}.footer-inner{align-items:flex-start;gap:27px}.footer-inner>p{margin:0;width:100%}.back-top{justify-content:flex-start}.footer-bottom{flex-direction:column;gap:5px}.sector-list h3{font-size:1.15rem}.contact-address>span:last-child{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
