@font-face{font-family:Notch;src:url('assets/display.woff2') format('woff2');font-weight:100 900;font-display:swap}@font-face{font-family:Grotesk;src:url('assets/body.woff2') format('woff2');font-weight:300 700;font-display:swap}:root{--bg:#1f1f1f;--red:#e51e31;--muted:#a5a5a5;--line:#444}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:#fff;font-family:Grotesk,Arial,sans-serif}a{color:inherit;text-decoration:none}button,summary,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #fff;outline-offset:6px}img{display:block;max-width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3,.logo,.footer-word{font-family:Notch,Arial,sans-serif;font-weight:700}h2{font-size:clamp(36px,5.5vw,88px);letter-spacing:-.055em;line-height:1.02}em{font-style:normal;color:var(--muted)}p{line-height:1.65}header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 40px;border-bottom:1px solid #ffffff25;background:#1f1f1ff5;position:relative;z-index:10}.logo{font-size:35px;letter-spacing:-2px;display:flex;align-items:baseline;gap:5px}.logo-dot{width:8px;height:8px;background:var(--red)}nav{display:flex;gap:32px}nav a,.eyebrow,.button,.text-link,.hero-top,.hero-note,.footer-bottom,.locations-grid a{font-size:12px;font-weight:500;letter-spacing:.035em}nav a{text-transform:uppercase;transition:color .2s}nav a:hover{color:var(--red)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:7px 7px 7px 22px;background:#292929;border:1px solid #ffffff26;min-height:54px;text-transform:uppercase;overflow:hidden;transition:background .25s}.button b{display:grid;place-items:center;width:38px;height:38px;background:var(--red);font-size:25px;font-weight:400;transition:transform .25s}.button:hover{background:#383838}.button:hover b{transform:rotate(45deg)}.button.small{min-height:46px}.button.small b{height:30px;width:30px;font-size:22px}.menu{display:none}.hero{min-height:740px;height:calc(100svh - 88px);max-height:1100px;position:relative;isolation:isolate;overflow:hidden;padding:26px 40px 40px;background:#202020}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(#ffffff06 1px,transparent 1px),linear-gradient(90deg,#ffffff06 1px,transparent 1px);background-size:80px 80px;z-index:-2}.hero-top{display:flex;justify-content:space-between;font-size:10px;color:#b4b4b4;position:relative;z-index:3}.hero h1{font-size:clamp(170px,29.4vw,470px);letter-spacing:-.065em;line-height:.95;text-align:center;position:relative;z-index:1;margin-top:18px;animation:hero-title 1.3s cubic-bezier(.16,1,.3,1) both}.hero-image{position:absolute;inset:30% -10% -10% 29%;background:url('assets/hero.jpg') right center/cover no-repeat;z-index:2;mask-image:linear-gradient(90deg,transparent,#000 18%),linear-gradient(0deg,transparent,#000 16%);mask-composite:intersect;animation:rig-rise-bounce 1.9s .12s both;will-change:transform,translate}.hero-bottom{position:absolute;bottom:40px;left:40px;right:40px;display:flex;justify-content:space-between;align-items:flex-end;z-index:4}.hero-bottom h2{font-size:clamp(24px,2.6vw,40px);max-width:440px;letter-spacing:-.025em;line-height:1.08;margin-bottom:24px}.hero-bottom>div:first-child{animation:hero-photo 1.5s .2s both}.hero-note{font-size:11px;line-height:1.5;margin-left:auto;margin-right:45px;text-shadow:0 2px 8px #000}.status{display:block;width:6px;height:6px;background:var(--red);margin-bottom:10px;box-shadow:0 0 0 4px #e51e3125}.scroll{border:1px solid #ffffff50;width:46px;height:46px;display:grid;place-items:center;font-size:24px;background:#1f1f1f60}.ticker{padding:26px 0;background:var(--red);overflow:hidden}.ticker>div{display:flex;align-items:center;gap:40px;width:max-content;font-family:Notch,sans-serif;font-size:23px;font-weight:700;animation:ticker 40s linear infinite}.ticker i{font-style:normal;font-size:28px}.section{padding:110px 40px;max-width:1680px;margin:auto}.section-title{display:grid;grid-template-columns:1fr 3fr;gap:30px;align-items:start;margin-bottom:65px}.eyebrow{display:block;font-size:11px;line-height:1.6}.section-title .eyebrow{padding-top:10px}.about-grid{display:grid;grid-template-columns:1.15fr 1fr .8fr;gap:20px}.photo-card{min-height:480px;position:relative;overflow:hidden}.photo-card img{height:100%;width:100%;filter:brightness(.75);transition:transform .8s}.photo-card:hover img{transform:scale(1.04)}.photo-card>span{position:absolute;bottom:24px;left:24px;font-size:10px;max-width:200px;line-height:1.6}.red-card{background:var(--red);padding:32px;display:flex;flex-direction:column;align-items:flex-start}.red-card h3{font-size:clamp(35px,4vw,64px);letter-spacing:-.05em;line-height:.95;margin:35px 0}.red-card ul{list-style:none;padding:0;margin:0 0 35px;font-size:12px;width:100%}.red-card li{padding:14px 0;border-bottom:1px solid #ffffff35;line-height:1.5}.red-card li span{opacity:.6;padding-right:7px}.text-link{border-bottom:1px solid #ffffff60;padding-bottom:12px;width:100%;margin-top:auto;display:flex;justify-content:space-between}.about-copy{padding:10px 20px;display:flex;flex-direction:column;gap:24px}.cross{font-size:64px;line-height:1}.about-copy p{font-size:18px;line-height:1.5}.about-copy .muted{font-size:14px;color:var(--muted)}.figure{font-family:Notch,sans-serif;font-size:100px;letter-spacing:-.06em;display:flex;align-items:center;gap:25px;margin-top:auto}.figure span{font-family:Grotesk,sans-serif;letter-spacing:0;font-size:11px;line-height:1.5;color:var(--muted)}.services{border-top:1px solid var(--line)}.service{border-top:1px solid #6b6b6b}.service:last-child{border-bottom:1px solid #6b6b6b}.service summary{display:flex;gap:40px;align-items:center;padding:30px 0;cursor:pointer;list-style:none}.service summary::-webkit-details-marker,.faq summary::-webkit-details-marker{display:none}.service summary>span{font-size:14px;color:var(--muted)}.service h3{font-size:clamp(26px,4.7vw,72px);letter-spacing:-.045em;line-height:1.1;transition:color .25s}.plus{margin-left:auto;font-size:38px;font-weight:300;transition:transform .3s}.service[open] .plus{transform:rotate(45deg);color:var(--red)}.service[open] h3,.service summary:hover h3{color:var(--red)}.service-body{display:grid;grid-template-columns:1fr 1fr;gap:65px;padding:0 60px 40px}.service-body img{width:100%;height:290px;filter:saturate(.6)}.service-body>div{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.service-body p{font-size:18px;max-width:520px}.service-body ul{padding-left:17px;color:var(--muted);font-size:13px;line-height:1.8;margin:18px 0 25px}.service[open] .service-body{animation:enter .5s ease both}.values{background:#242424;max-width:none}.values-grid,.leaders,.locations-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.values-grid article{border:1px solid #555;padding:30px;min-height:255px}.values-grid article>span{color:var(--red);font-size:12px}.values-grid h3{font-size:30px;letter-spacing:-.03em;margin:45px 0 15px}.values-grid p{font-size:14px;color:var(--muted);max-width:310px}.mission{border-top:1px solid #555;margin-top:70px;padding-top:35px;display:grid;grid-template-columns:1fr 2.5fr .5fr;gap:30px}.mission p{font-family:Notch,sans-serif;font-size:clamp(22px,2.6vw,40px);letter-spacing:-.025em;line-height:1.25}.mission .cross{color:var(--red);justify-self:end}.leaders article{border-top:1px solid #777;padding:25px 15px 0 0;position:relative;overflow:hidden;min-height:350px}.leaders h3{font-size:clamp(25px,3vw,45px);letter-spacing:-.045em;line-height:1.1;margin:45px 0 22px}.leaders p{color:var(--muted);font-size:14px;max-width:290px;position:relative;z-index:1}.leader-number{font-family:Notch,sans-serif;font-size:145px;line-height:1;color:#ffffff07;position:absolute;bottom:-15px;right:10px}.locations{border-top:1px solid var(--line)}.locations .section-title{grid-template-columns:1fr 3fr}.locations h2{font-size:clamp(34px,4.6vw,72px)}.locations-grid article{padding:35px;background:#292929;border-top:3px solid var(--red);transition:background .3s}.locations-grid article:hover{background:#323232}.locations-grid article>span{font-size:10px;color:var(--muted)}.locations h3{font-size:clamp(35px,4vw,60px);letter-spacing:-.045em;margin:35px 0 20px}.locations p{color:var(--muted);font-size:14px;min-height:95px}.locations-grid a{display:block;border-top:1px solid #555;padding-top:20px;margin-top:20px;font-size:11px}.faq{border-top:1px solid var(--line)}.faq-grid{display:grid;grid-template-columns:2fr 1fr;gap:65px}.faq details{border-top:1px solid #555}.faq details:last-child{border-bottom:1px solid #555}.faq summary{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:17px;list-style:none;cursor:pointer;padding:25px 0}.faq summary b{font-size:25px;font-weight:300}.faq details[open] summary b{transform:rotate(45deg);color:var(--red)}.faq details p{padding:0 40px 25px 0;max-width:650px;font-size:14px;color:var(--muted);overflow-wrap:anywhere}.faq p a{text-decoration:underline}.faq .red-card h3{font-size:40px;margin:30px 0 20px}.faq .red-card p{font-size:14px;margin-bottom:30px}.contact{background:var(--red);max-width:none}.contact h2{font-size:clamp(64px,11.6vw,180px);line-height:.92;margin:45px 0;letter-spacing:-.065em}.contact h2 em{color:#ffffff85}.contact-bottom{display:flex;justify-content:space-between;align-items:flex-end}.contact-bottom p{font-size:15px}.light{background:white;color:#1f1f1f}.light:hover{background:#ddd}.light b{color:#fff}footer{padding:65px 40px 25px;overflow:hidden}.footer-top{display:grid;grid-template-columns:1.3fr .7fr 1fr;gap:35px}.footer-top p{color:var(--muted);font-size:13px;margin-top:20px}.footer-top>div>a:not(.logo){display:block;font-size:11px;margin:15px 0}.footer-top .eyebrow{color:var(--muted);margin-bottom:25px}.footer-top a:hover{color:var(--red)}.email{overflow-wrap:anywhere}.footer-word{font-size:30.2vw;line-height:1.08;letter-spacing:-.065em;margin-top:55px;color:#333;text-align:center;border-bottom:1px solid var(--line)}.footer-bottom{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;padding-top:25px}.reveal{opacity:1}.js .reveal{opacity:0;transform:translateY(35px);transition:opacity .85s,transform .85s cubic-bezier(.16,1,.3,1)}.js .reveal.visible{opacity:1;transform:none}.skip{position:fixed;top:-60px;left:20px;z-index:100;background:var(--red);padding:15px}.skip:focus{top:10px}@keyframes hero-title{from{transform:translateY(-160px);opacity:0}to{transform:none;opacity:1}}@keyframes hero-photo{from{transform:translateY(60px);opacity:0}to{transform:none;opacity:1}}@keyframes ticker{to{transform:translateX(-50%)}}@keyframes enter{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}@media(min-width:1680px){header,.hero,footer{padding-left:max(40px,calc((100vw - 1600px)/2));padding-right:max(40px,calc((100vw - 1600px)/2))}.hero-bottom{left:max(40px,calc((100vw - 1600px)/2));right:max(40px,calc((100vw - 1600px)/2))}.values,.contact{padding-left:max(40px,calc((100vw - 1600px)/2));padding-right:max(40px,calc((100vw - 1600px)/2))}.footer-word{font-size:min(30.2vw,500px)}}@media(max-width:1100px){nav{gap:18px}header{padding:0 25px}.hero{padding-left:25px;padding-right:25px;min-height:650px}.hero-bottom{left:25px;right:25px}.section{padding:80px 25px}.section-title{grid-template-columns:1fr 2.7fr}.about-grid{grid-template-columns:1fr 1fr}.about-copy{grid-column:1/-1;display:grid;grid-template-columns:.3fr 1fr 1fr .6fr;align-items:center;padding:20px 0}.about-copy p{font-size:16px}.figure{font-size:70px;gap:10px}.service-body{padding-left:40px;padding-right:0;gap:35px}.locations-grid article{padding:25px 20px}.faq-grid{gap:30px}.footer-top{grid-template-columns:1fr .6fr 1.2fr}.hero-note{margin-right:25px}}@media(max-width:760px){header{height:72px;padding:0 20px}.logo{font-size:30px}header>.button{margin-left:auto;margin-right:15px;padding-left:12px;gap:12px;font-size:10px}.menu{display:block;background:transparent;border:0;color:#fff;font-size:24px;cursor:pointer;width:30px}nav{display:none;position:absolute;top:72px;left:0;right:0;background:#242424;padding:30px 20px;border-bottom:1px solid #555}nav.open{display:flex;flex-direction:column;gap:25px}.hero{height:calc(100svh - 72px);min-height:630px;max-height:850px;padding:22px 20px}.hero-top{font-size:8px}.hero-top>span:last-child{display:none}.hero h1{font-size:30vw;margin-top:35px}.hero-image{inset:24% -45% 5% 0;mask-image:linear-gradient(90deg,transparent,#000 28%),linear-gradient(0deg,transparent,#000 18%);background-position:right center}.hero-bottom{left:20px;right:20px;bottom:30px}.hero-bottom h2{font-size:26px;max-width:300px;text-shadow:0 2px 10px #000}.hero-note{display:none}.scroll{width:40px;height:40px}.ticker{padding:20px 0}.ticker>div{font-size:18px;gap:25px}.section{padding:65px 20px}.section-title{display:block;margin-bottom:35px}.section-title .eyebrow{margin-bottom:25px;padding:0}h2{font-size:clamp(33px,8.7vw,58px)}.about-grid{grid-template-columns:1fr}.photo-card{height:400px;min-height:0}.red-card{padding:28px}.red-card h3{font-size:56px;margin:30px 0}.about-copy{display:flex;padding:20px 0;gap:22px;align-items:flex-start}.about-copy p{font-size:20px;max-width:480px}.about-copy .muted{font-size:15px}.figure{font-size:95px;gap:25px}.service summary{gap:15px;padding:24px 0}.service h3{font-size:clamp(22px,5.8vw,38px)}.service summary>span{font-size:11px}.plus{font-size:28px}.service-body{grid-template-columns:1fr;padding:0 0 30px;gap:22px}.service-body img{height:230px}.service-body p{font-size:16px}.values-grid,.leaders,.locations-grid{grid-template-columns:1fr}.values-grid article{min-height:0}.values-grid h3{margin:25px 0 15px}.mission{grid-template-columns:1fr;gap:25px;margin-top:40px}.mission p{font-size:28px}.mission .cross{display:none}.leaders article{min-height:270px;padding:25px 0}.leaders h3{font-size:34px;margin:28px 0 15px}.leaders p{max-width:80%}.locations h2{font-size:clamp(29px,7.3vw,50px)}.locations-grid article{padding:30px}.locations h3{font-size:46px;margin:25px 0 18px}.locations p{min-height:0}.faq-grid{grid-template-columns:1fr}.faq summary{font-size:15px;line-height:1.5}.faq .red-card .cross{font-size:50px}.contact h2{font-size:clamp(56px,13vw,95px);margin:35px 0}.contact-bottom{align-items:flex-start;flex-direction:column;gap:25px}.contact-bottom p{font-size:13px}footer{padding:45px 20px 25px}.footer-top{grid-template-columns:1fr 1fr;gap:35px}.footer-top>div:first-child{grid-column:1/-1}.footer-top>div:last-child{grid-column:1/-1}.footer-word{font-size:30vw;margin-top:30px}.footer-bottom{font-size:9px;gap:18px;flex-wrap:wrap}.footer-bottom>span:nth-child(2){display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}}
/* Isolated industrial hero, layered over the wordmark. */
.hero-image{inset:16% -1% -8% 28%;background:url('assets/oil-rig-v2.png') center/contain no-repeat;mask-image:none;filter:drop-shadow(0 35px 30px #0006)}
@media(max-width:760px){.hero-image{inset:15% -28% 12% 7%;background-position:center}.hero-bottom h2{font-size:25px}}

/* The rig rises from below the hero, then settles with a diminishing bounce.
   Animate translate independently so scroll parallax can still use transform. */
@keyframes rig-rise-bounce{
  0%{translate:0 110%;opacity:0;animation-timing-function:cubic-bezier(.16,.75,.3,1)}
  12%{opacity:1}
  58%{translate:0 -5%;opacity:1;animation-timing-function:cubic-bezier(.45,0,.65,1)}
  76%{translate:0 2.3%;animation-timing-function:cubic-bezier(.35,0,.6,1)}
  89%{translate:0 -0.9%;animation-timing-function:ease-out}
  100%{translate:0 0;opacity:1}
}

/* Leaf globe: a quiet environmental motif behind the standards and mission. */
.values{position:relative;isolation:isolate;overflow:hidden}
.values>.section-title,.values>.values-grid,.values>.mission{position:relative;z-index:1}
.environment-motif{position:absolute;z-index:0;pointer-events:none;width:760px;height:760px;max-width:none;right:-190px;top:12px;opacity:.075;animation:environment-spin 100s linear infinite;transform-origin:center}
.values-grid article{background:rgb(36 36 36 / 65%)}
@keyframes environment-spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@media(max-width:760px){.environment-motif{width:580px;height:580px;right:-270px;top:190px;opacity:.065}}
@media(prefers-reduced-motion:reduce){.environment-motif{animation:none}}

/* Original FIPCO brand asset, with its red wordmark and green descriptor. */
header .logo{display:block;width:145px;flex-shrink:0;line-height:0;letter-spacing:normal}
.logo img{display:block;width:100%;height:auto;object-fit:contain}
footer .logo{display:block;width:230px;max-width:100%;line-height:0;letter-spacing:normal}
@media(max-width:760px){header .logo{width:125px}header>.button{gap:8px;padding-left:10px;margin-right:10px}.menu{flex-shrink:0}footer .logo{width:210px}}
@media(max-width:360px){header .logo{width:110px}header>.button{gap:5px;font-size:9px;margin-right:8px}}
/* Dedicated pages share the landing page's industrial typography and spacing. */
nav a[aria-current="page"]{color:var(--red)}
.page-intro{border-bottom:1px solid var(--line);padding-top:40px;padding-bottom:75px;position:relative;overflow:hidden;isolation:isolate}
.breadcrumb{display:block;font-size:10px;margin-bottom:65px;color:#fff}.breadcrumb span{color:var(--muted);margin-left:8px}
.page-intro-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:60px;align-items:center;min-height:350px}
.page-intro h1{font-size:clamp(42px,5.6vw,85px);line-height:1.02;letter-spacing:-.055em;margin:25px 0;position:relative;z-index:1}
.page-intro p{font-size:16px;color:var(--muted);max-width:580px;position:relative;z-index:1}
.intro-photo{height:390px;overflow:hidden}.intro-photo img{width:100%;height:100%;filter:saturate(.6)}
.intro-emblem{width:380px;justify-self:center;opacity:.13;animation:environment-spin 100s linear infinite}
.page-context{display:grid;grid-template-columns:1fr 3fr;gap:40px;border-bottom:1px solid var(--line)}.page-context>p{font-size:clamp(22px,2.5vw,36px);line-height:1.35;max-width:950px}.page-context>div>p{color:var(--muted);max-width:650px;margin:25px 0}.page-context .button{margin-top:15px}
.leadership-principles{background:#292929}.leadership-principles h2{margin:30px 0}.leadership-principles p{color:var(--muted);max-width:600px;margin:30px 0}
.contact-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:90px}.contact-channels article{border-bottom:1px solid #555;padding:35px 0}.contact-channels article>a{display:block;font-size:clamp(21px,2.3vw,32px);margin:18px 0;letter-spacing:-.03em}.contact-channels article p{font-size:14px;color:var(--muted);max-width:350px}.contact-channels article .contact-email{font-size:16px;overflow-wrap:anywhere}
.inquiry-form{padding:35px;background:#292929;border-top:3px solid var(--red)}.inquiry-form h2{font-size:45px;margin:20px 0}.inquiry-form>p{font-size:13px;color:var(--muted);margin-bottom:25px}.inquiry-form label{display:block;font-size:12px;margin-bottom:20px}.inquiry-form label>span{color:var(--muted)}.inquiry-form input,.inquiry-form textarea,.inquiry-form select{display:block;width:100%;background:#202020;border:1px solid #555;border-radius:0;color:#fff;padding:14px;font:inherit;font-size:14px;margin-top:10px}.inquiry-form input:focus,.inquiry-form textarea:focus,.inquiry-form select:focus{outline:2px solid var(--red);outline-offset:2px}.inquiry-form textarea{resize:vertical;min-height:120px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.inquiry-form .button{color:#fff;cursor:pointer;font-family:inherit}.inquiry-form .form-status{margin:18px 0 0;color:white;line-height:1.5}.email-fallback{display:inline-block;font-size:12px;margin-top:18px;text-decoration:underline}
@media(max-width:1100px){.page-intro-grid{gap:30px;grid-template-columns:1.3fr 1fr}.intro-photo{height:330px}.contact-layout{gap:35px}}
@media(max-width:760px){.page-intro{padding-top:25px;padding-bottom:45px}.breadcrumb{margin-bottom:40px}.page-intro-grid{grid-template-columns:1fr;gap:30px;min-height:0}.page-intro h1{font-size:clamp(36px,8vw,56px)}.page-intro p{font-size:14px}.intro-photo{height:260px}.intro-emblem{position:absolute;width:330px;right:-150px;bottom:-95px;z-index:-1;opacity:.08}.page-context{grid-template-columns:1fr;gap:25px}.page-context>p{font-size:25px}.contact-layout{grid-template-columns:1fr;gap:40px}.inquiry-form{padding:25px 20px}.form-row{grid-template-columns:1fr;gap:0}}
/* Cinematic interior heroes: shared scale and motion, page-specific compositions. */
.dramatic-hero{position:relative;isolation:isolate;overflow:hidden;height:calc(100svh - 88px);min-height:690px;max-height:960px;padding:28px 40px 40px;background:#202020;border-bottom:1px solid #ffffff25}
.dramatic-grid{position:absolute;inset:0;z-index:-2;background-image:linear-gradient(#ffffff07 1px,transparent 1px),linear-gradient(90deg,#ffffff07 1px,transparent 1px);background-size:80px 80px}
.dramatic-top{position:relative;z-index:4;display:flex;align-items:center;justify-content:space-between}.dramatic-top .breadcrumb{margin:0;font-size:10px}.dramatic-top .eyebrow{color:#aaa;font-size:10px}
.dramatic-hero h1{position:relative;z-index:1;font-family:Notch,Arial,sans-serif;font-size:15.2vw;line-height:.94;letter-spacing:-.065em;margin:35px 0 0;text-align:center;white-space:nowrap;animation:hero-title 1.3s cubic-bezier(.16,1,.3,1) both}
.dramatic-art{position:absolute;z-index:2;object-fit:contain;max-width:none;width:63%;height:88%;right:0;top:15%;animation:rig-rise-bounce 1.9s .15s both;filter:drop-shadow(0 30px 30px #0005);pointer-events:none}
.dramatic-bottom{position:absolute;left:40px;right:40px;bottom:40px;z-index:3;display:flex;justify-content:space-between;align-items:flex-end;gap:30px}.dramatic-caption{max-width:500px;animation:hero-photo 1.4s .25s both}.dramatic-caption h2{font-size:clamp(25px,2.6vw,40px);line-height:1.1;letter-spacing:-.03em;text-shadow:0 3px 20px #0006}.dramatic-caption p{color:#c3c3c3;max-width:420px;font-size:13px;line-height:1.6;margin:18px 0 24px}.dramatic-footnote{font-size:10px;line-height:1.6;text-shadow:0 2px 10px #000;flex-shrink:0}
.dramatic-about{background:#202525}.dramatic-about::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#1f1f1f 0%,#1f1f1f70 60%,#1f1f1f40),linear-gradient(0deg,#1f1f1f,transparent 70%),url('assets/operations.jpg') center 58%/cover;opacity:.7}.dramatic-about h1{font-size:21vw}.dramatic-about .dramatic-art{width:43%;height:72%;top:27%;right:4%;opacity:.32;animation:hero-photo 1.8s .2s both,environment-spin 100s 2s linear infinite;filter:none}
.dramatic-presence h1{font-size:13.7vw}.dramatic-presence .dramatic-art{width:64%;height:86%;right:-3%;top:16%;filter:none;animation:network-enter 1.7s .15s cubic-bezier(.16,1,.3,1) both}
.dramatic-leadership::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#1f1f1f 5%,#1f1f1fb0 55%,#1f1f1f30),linear-gradient(0deg,#1f1f1f,transparent),url('assets/consulting.jpg') center/cover;opacity:.65}.dramatic-leadership h1{font-size:23.5vw}.vision-sculpture{position:absolute;z-index:2;right:8%;top:32%;width:40%;height:65%;animation:rig-rise-bounce 1.9s .15s both;pointer-events:none}.vision-sculpture>span{display:block;font-family:Notch,Arial,sans-serif;font-size:clamp(240px,30vw,480px);letter-spacing:-.07em;line-height:1;color:transparent;-webkit-text-stroke:2px #e51e31;text-shadow:15px 15px 0 #e51e3110}.vision-line{height:2px;background:var(--red);width:85%;transform:rotate(-15deg);margin-top:-40px}.vision-sculpture small{display:block;font-size:9px;letter-spacing:.15em;margin-top:35px;color:#b3b3b3}
.dramatic-contact{background:#c71929}.dramatic-contact .dramatic-grid{opacity:.65}.dramatic-contact h1{font-size:16.7vw}.dramatic-contact .dramatic-art{width:48%;height:72%;top:27%;right:2%;opacity:.65;filter:none;animation:hero-photo 1.8s .2s both,environment-spin 100s 2s linear infinite}.dramatic-contact .dramatic-caption p,.dramatic-contact .dramatic-top .eyebrow,.dramatic-contact .breadcrumb span{color:#ffffffb3}.dramatic-contact .status{background:#c5ff00;box-shadow:0 0 0 4px #c5ff0020}
@keyframes network-enter{from{opacity:0;transform:translateY(100px) scale(.9) rotate(-8deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(0)}}
@media(min-width:1680px){.dramatic-hero{padding-left:max(40px,calc((100vw - 1600px)/2));padding-right:max(40px,calc((100vw - 1600px)/2))}.dramatic-bottom{left:max(40px,calc((100vw - 1600px)/2));right:max(40px,calc((100vw - 1600px)/2))}.dramatic-hero h1{font-size:min(15.2vw,255px)}.dramatic-about h1{font-size:min(21vw,360px)}.dramatic-presence h1{font-size:min(13.7vw,230px)}.dramatic-leadership h1{font-size:min(23.5vw,395px)}.dramatic-contact h1{font-size:min(16.7vw,285px)}}
@media(max-width:1100px){.dramatic-hero{padding-left:25px;padding-right:25px}.dramatic-bottom{left:25px;right:25px}.dramatic-caption{max-width:380px}.dramatic-art{right:-8%;width:70%}.dramatic-caption p{max-width:340px}}
@media(max-width:760px){.dramatic-hero{height:calc(100svh - 72px);min-height:720px;max-height:900px;padding:22px 20px 30px}.dramatic-top .breadcrumb,.dramatic-top .eyebrow{font-size:8px}.dramatic-hero h1{font-size:15.5vw;margin-top:38px}.dramatic-bottom{left:20px;right:20px;bottom:30px}.dramatic-caption{max-width:100%}.dramatic-caption h2{font-size:24px}.dramatic-caption p{font-size:12px;max-width:330px;margin:14px 0 20px}.dramatic-footnote{display:none}.dramatic-art{width:105%;height:55%;top:18%;right:-22%;opacity:.9}.dramatic-about h1{font-size:22vw}.dramatic-about .dramatic-art{width:68%;height:48%;top:20%;right:-10%;opacity:.3}.dramatic-presence h1{font-size:14vw}.dramatic-presence .dramatic-art{width:110%;height:55%;right:-12%;top:16%;opacity:.85}.dramatic-leadership h1{font-size:24vw}.vision-sculpture{width:65%;height:45%;right:0;top:23%}.vision-sculpture>span{font-size:64vw}.vision-sculpture small{font-size:8px}.dramatic-contact h1{font-size:17vw}.dramatic-contact .dramatic-art{width:85%;height:48%;top:20%;right:-15%;opacity:.5}}

/* Purpose and conversation graphics replace the leaf in these two heroes. */
.purpose-sculpture,.conversation-sculpture{position:absolute;z-index:2;right:6%;top:33%;width:43%;height:60%;pointer-events:none;animation:rig-rise-bounce 1.9s .15s both}
.purpose-sculpture>span{display:block;font-family:Notch,Arial,sans-serif;font-size:clamp(240px,29vw,460px);line-height:1;letter-spacing:-.08em;color:transparent;-webkit-text-stroke:2px #fff;text-shadow:16px 16px 0 #ffffff0a}
.purpose-axis{position:absolute;left:8%;right:4%;height:2px;background:var(--red);top:62%;transform:rotate(-18deg)}
.purpose-sculpture small,.conversation-sculpture small{display:block;font-size:9px;letter-spacing:.15em;color:#c3c3c3;margin-top:20px}
.conversation-sculpture{top:29%;right:5%;width:42%;height:63%}
.conversation-sculpture>span{position:relative;z-index:1;display:block;text-align:center;font-family:Arial,sans-serif;font-size:clamp(300px,34vw,540px);font-weight:300;line-height:1;color:transparent;-webkit-text-stroke:2px #fff;transform:translateY(-15px)}
.conversation-orbit{position:absolute;inset:7% 0 9%;border:1px solid #ffffff40;border-radius:50%;transform:rotate(-25deg) scaleY(.74)}
.conversation-orbit::before,.conversation-orbit::after{content:"";position:absolute;width:10px;height:10px;background:#fff;border-radius:50%;top:50%;left:-5px}
.conversation-orbit::after{left:auto;right:-5px;background:#1f1f1f}
.conversation-sculpture small{text-align:center;color:#ffffffb3;margin-top:-15px}
@media(max-width:760px){.purpose-sculpture{width:69%;height:42%;right:0;top:27%}.purpose-sculpture>span{font-size:65vw}.purpose-axis{top:55%}.purpose-sculpture small,.conversation-sculpture small{font-size:8px;letter-spacing:.08em}.conversation-sculpture{width:80%;height:42%;top:24%;right:-1%}.conversation-sculpture>span{font-size:78vw}.conversation-orbit{inset:0 0 5%}.conversation-sculpture small{margin-top:0}}

/* SVG icons avoid platform-dependent emoji substitutions (especially on iOS). */
.icon{display:inline-block;width:1em;height:1em;flex-shrink:0;vertical-align:-.12em;overflow:visible}
.button b .icon,.scroll .icon,.menu .icon{display:block}
.ticker .icon{vertical-align:-.12em}
.conversation-sculpture>span>.icon{display:block;width:1em;height:1em;margin:auto;color:#fff;stroke-width:1.1}
.service .plus .icon,.faq summary b .icon{display:block}
