:root{--navy:#112c30;--deep:#0c2227;--teal:#1c4848;--line:#42615e;--gold:#efbb6a;--mint:#b9e2d3;--cream:#f5f2eb;--paper:#ebe6dc;--muted:#c4d3d0;--text:#243a3a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--navy);color:var(--cream);font-family:Arial,Helvetica,sans-serif;line-height:1.65}a{color:inherit}a:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Arial,Helvetica,sans-serif;line-height:1.12;letter-spacing:-.045em}h1{font-size:clamp(3.3rem,7.6vw,7rem);margin:23px 0 24px}h2{font-size:clamp(2.2rem,4vw,3.8rem);margin:13px 0 25px}h3{font-size:1.4rem;letter-spacing:-.025em}p{font-size:1.05rem;line-height:1.78}.wrap{width:min(1200px,calc(100% - 48px));margin:auto}.narrow{max-width:1000px;margin-left:max(calc((100% - 1200px)/2),24px)}.skip{position:absolute;top:-80px;left:12px;background:var(--gold);color:var(--deep);padding:10px;z-index:10}.skip:focus{top:10px}.header{background:var(--deep);border-bottom:1px solid #36514e}.header-inner{min-height:90px;display:flex;align-items:center;justify-content:space-between;gap:24px}.logo{display:inline-flex;gap:13px;align-items:center;text-decoration:none;font-size:15px;font-weight:900;line-height:1.1;letter-spacing:.045em}.logo small{display:block;margin-top:5px;font-size:10px;letter-spacing:.12em}.symbol{width:43px;height:43px;display:grid;place-items:center;border:1px solid #9fc6b7;border-radius:50%;color:var(--gold);font-size:27px}.desktop-nav,.footer nav{display:flex;align-items:center;gap:31px}.desktop-nav a,.footer nav a{text-decoration:none;font-size:14px;font-weight:700}.desktop-nav a:hover,.footer nav a:hover,.desktop-nav a[aria-current=page]{color:var(--gold)}.mobile-nav{display:none}.hero{position:relative;overflow:hidden;background:radial-gradient(ellipse at 76% 40%,#28625b,#163b3b 39%,var(--navy) 75%)}.hero:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(#b9e2d30e 1px,transparent 1px),linear-gradient(90deg,#b9e2d30e 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(90deg,transparent,black)}.hero-grid{position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:45px;align-items:center;min-height:650px;padding:75px 0 105px}.hero-copy{max-width:710px}.hero h1 em{color:var(--gold);font-style:normal}.eyebrow{display:inline-flex;align-items:center;gap:13px;color:var(--mint);text-transform:uppercase;font-size:.72rem;font-weight:800;letter-spacing:.17em}.eyebrow:before{content:"";width:23px;height:1px;background:var(--gold)}.lead{font-size:clamp(1.12rem,1.7vw,1.3rem);line-height:1.76;max-width:720px;color:#dae5e1}.actions{display:flex;flex-wrap:wrap;gap:12px;margin:34px 0}.button{min-height:52px;display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:13px 22px;border-radius:5px;background:var(--gold);color:var(--deep);font-weight:800;font-size:.9rem;text-decoration:none;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px);background:#ffd184}.button-outline{background:transparent;color:var(--cream);border:1px solid #8aa9a0}.button-outline:hover{background:#214b49}.hero-note{color:var(--mint);font-size:.85rem;margin-bottom:0}.orb{position:relative;width:min(100%,490px);aspect-ratio:1;margin:auto;display:grid;place-items:center}.orbit{position:absolute;border:1px solid #b9e2d357;border-radius:50%}.o1{inset:3%}.o2{inset:16%}.o3{inset:30%;border-color:var(--gold)}.core{width:18%;aspect-ratio:1;border-radius:50%;background:var(--gold);box-shadow:0 0 90px 30px #efbb6a4c}.pill{position:absolute;padding:9px 15px;border:1px solid #86b6a970;background:#204b47;border-radius:40px;font-size:12px;font-weight:bold;box-shadow:0 15px 35px #061c2099}.p1{top:13%;left:0}.p2{top:23%;right:0}.p3{bottom:24%;left:0}.p4{bottom:10%;right:10%}.section{padding:100px 0}.light{background:var(--cream);color:var(--text)}.light p{color:#4c5c59}.light .eyebrow{color:#287665}.split{display:grid;grid-template-columns:minmax(160px,.52fr) 1.48fr;gap:70px}.split>div{max-width:830px}.split .button{margin-top:15px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:32px}.section-head h2{max-width:700px;margin-bottom:0}.section-head p{max-width:290px;color:var(--muted);font-size:.95rem;margin:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.card{position:relative;display:flex;flex-direction:column;min-height:265px;padding:28px;background:#19383b;text-decoration:none;transition:background .2s}.card:hover{background:#245250}.card-num,.three article>span{color:var(--gold);font-size:12px;font-weight:800;letter-spacing:.14em}.card h3{margin:34px 0 8px}.card p{max-width:310px;color:var(--muted);font-size:.9rem;line-height:1.6}.card-arrow{position:absolute;right:27px;top:25px;color:var(--gold)}.accent{background:#276058}.cta{display:flex;align-items:center;justify-content:space-between;gap:42px}.cta>div{max-width:790px}.cta h2{margin-bottom:15px}.cta p{margin-bottom:0;color:#deebe5}.cta .button{flex:none}.page-hero{background:radial-gradient(ellipse at right,#276058,var(--navy) 68%);padding:110px 0 125px}.page-hero h1{font-size:clamp(3.25rem,6.4vw,6rem);max-width:1000px}.page-hero .lead{max-width:800px}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:38px}.three article{padding:31px;background:#19383b;border:1px solid var(--line);min-height:210px}.three h3{margin:27px 0 9px}.three p{font-size:.96rem;color:var(--muted)}.service-list{border-top:1px solid #b5c3b9}.service-row{display:grid;grid-template-columns:1fr 1fr;gap:55px;padding:46px 0;border-bottom:1px solid #b5c3b9;scroll-margin-top:20px}.service-row h2{font-size:clamp(1.8rem,3vw,3rem);margin-bottom:0}.service-row p{margin-bottom:12px}.service-row .result{font-size:.95rem}.steps{margin:28px 0;padding-left:25px}.steps li{padding-left:8px;margin-bottom:17px;line-height:1.65}.notice{border-left:4px solid #bd8850;background:#ede4d3;padding:20px 23px;font-size:.94rem;line-height:1.7}.footer{background:var(--deep);border-top:1px solid #36514e;padding:56px 0 22px}.footer-grid{display:flex;justify-content:space-between;align-items:start;gap:35px}.footer p{color:var(--muted);font-size:.86rem;margin:20px 0 0}.fine{border-top:1px solid #36514e;margin-top:55px;padding-top:20px;color:var(--muted);font-size:12px}@media(max-width:900px){.hero-grid{grid-template-columns:1fr;min-height:auto;padding:70px 0}.orb{width:min(390px,85%)}.cards{grid-template-columns:repeat(2,1fr)}.split{gap:35px}.section-head{display:block}.section-head p{max-width:650px}.narrow{margin-left:24px}}@media(max-width:650px){.wrap{width:calc(100% - 36px)}.header-inner{min-height:72px}.logo{font-size:12px}.logo small{font-size:8px}.symbol{width:36px;height:36px;font-size:23px}.desktop-nav{display:none}.mobile-nav{display:block;position:relative}.mobile-nav summary{cursor:pointer;list-style:none;font-size:13px;font-weight:700}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav summary span{margin-left:5px}.mobile-nav nav{position:absolute;z-index:5;right:0;top:35px;min-width:160px;display:grid;padding:10px;background:#18383b;border:1px solid var(--line);box-shadow:0 10px 25px #071b1bcc}.mobile-nav nav a{padding:9px;text-decoration:none;font-weight:700}.mobile-nav nav a[aria-current=page]{color:var(--gold)}.hero-grid{padding:65px 0}.hero h1{font-size:clamp(3.1rem,13vw,5rem)}.orb{width:min(320px,95%)}.section{padding:70px 0}.split,.service-row{grid-template-columns:1fr;gap:14px}.cards,.three{grid-template-columns:1fr}.card{min-height:215px}.section-head{margin-bottom:25px}.cta,.footer-grid{display:block}.cta .button{margin-top:27px}.footer nav{flex-wrap:wrap;gap:15px;margin-top:30px}.page-hero{padding:75px 0}.narrow{margin:0 auto}.page-hero h1{font-size:clamp(3rem,11vw,5rem)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.card{transition:none}}

/* Project photography */
.hero-photo{position:relative;margin:0;align-self:stretch;min-height:470px;border-radius:140px 12px 140px 12px;overflow:hidden;box-shadow:0 30px 75px #05191ba8;border:1px solid #b9e2d34d}.hero-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:64% center}.hero-photo figcaption{position:absolute;right:0;bottom:0;left:0;padding:40px 24px 24px;background:linear-gradient(transparent,#082629de);font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem}.photo-band{height:clamp(320px,42vw,590px);position:relative;overflow:hidden}.photo-band img,.service-visual img,.feature-photo img{display:block;width:100%;height:100%;object-fit:cover}.photo-band img{object-position:center 46%}.photo-band-caption{position:absolute;bottom:0;left:0;right:0;padding:70px max(24px,calc((100vw - 1200px)/2)) 36px;background:linear-gradient(transparent,#112c30e8)}.photo-band-caption p{font-size:clamp(1.5rem,3vw,2.6rem);line-height:1.15;font-weight:800;margin:10px 0 0}.feature-photo{margin-top:75px;margin-bottom:-35px;height:clamp(270px,43vw,510px);overflow:hidden;border-radius:8px}.service-visual{height:clamp(230px,32vw,420px);overflow:hidden}.service-visual img{object-position:center 42%}@media(max-width:900px){.hero-photo{height:440px;min-height:0;max-width:650px;width:100%;margin:auto}}@media(max-width:650px){.hero-photo{height:330px;border-radius:75px 8px 75px 8px}.photo-band-caption{padding:60px 18px 22px}.feature-photo{margin-top:45px;margin-bottom:-25px}}
/* Expanded site sections */
.path-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.path-tile{position:relative;min-height:370px;border-radius:7px;overflow:hidden;color:#fff;text-decoration:none}.path-tile img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform .25s}.path-tile:hover img{transform:scale(1.04)}.path-tile:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#0b242ae8)}.path-tile>span{position:absolute;z-index:1;bottom:26px;left:28px;right:20px}.path-tile strong{display:block;font-size:1.5rem;line-height:1.2}.path-tile small{display:block;margin-top:12px;font-weight:700}.path-follow{margin:25px 0 0}.path-follow a{font-weight:800;color:#256756}.jump-links{display:flex;flex-wrap:wrap;gap:10px;margin:30px 0 58px}.jump-links a{padding:9px 14px;border:1px solid #94b6aa;border-radius:30px;text-decoration:none;font-weight:700;font-size:.83rem}.jump-links a:hover{background:#d8e7dc}.detail{display:grid;grid-template-columns:.95fr 1.05fr;gap:55px;align-items:center;padding:55px 0;border-top:1px solid #bfcec2;scroll-margin-top:25px}.detail:nth-of-type(even) .detail-image{order:2}.detail-image{height:380px;overflow:hidden;border-radius:8px}.detail-image img{width:100%;height:100%;object-fit:cover}.detail-copy h2{font-size:clamp(2rem,3.3vw,3.2rem);margin:18px 0}.detail-copy h3{font-size:1.05rem;letter-spacing:0;margin:26px 0 10px}.detail-copy ul{padding-left:20px;margin:0 0 23px}.detail-copy li{margin:6px 0}.detail-actions{display:flex;gap:12px 20px;flex-wrap:wrap}.detail-actions a,.project a,.learning-grid a{font-size:.9rem;font-weight:800;color:#126a5e;text-decoration-thickness:1px;text-underline-offset:4px}.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:30px}.project{background:#fff;border:1px solid #c5d1c8;border-radius:8px;overflow:hidden;scroll-margin-top:20px}.project img{display:block;width:100%;height:290px;object-fit:cover}.project>div{padding:30px}.project h2{font-size:clamp(1.6rem,2.5vw,2.4rem)}.learning-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}.learning-grid article{background:#fff;border:1px solid #c5d1c8;padding:27px;scroll-margin-top:20px}.learning-grid span{font-size:.72rem;letter-spacing:.12em;color:#287665;font-weight:800}.learning-grid h2{font-size:1.8rem;margin-top:22px}.cta-links{display:flex;flex-wrap:wrap;gap:12px}@media(max-width:900px){.detail{grid-template-columns:1fr;gap:25px}.detail:nth-of-type(even) .detail-image{order:0}.learning-grid{grid-template-columns:1fr 1fr}}@media(max-width:650px){.path-grid,.project-grid,.learning-grid{grid-template-columns:1fr}.path-tile{min-height:280px}.detail{padding:37px 0}.detail-image{height:250px}.project img{height:240px}.jump-links{margin-bottom:25px}}

/* Individual service pages */
.service-hero{background:#153a3b;padding:75px 0 90px}.service-hero>.wrap{display:grid;grid-template-columns:1fr .88fr;gap:55px;align-items:center}.service-hero h1{font-size:clamp(3rem,5.2vw,5.7rem)}.service-hero .lead{max-width:650px}.service-hero .button{margin-top:14px}.back-link{display:block;margin-bottom:32px;color:var(--mint);font-weight:700;font-size:.88rem;text-underline-offset:4px}.service-hero-image{height:570px;border-radius:8px 90px 8px 90px;overflow:hidden}.service-hero-image img{display:block;width:100%;height:100%;object-fit:cover}.offer-cards{margin-top:40px}.service-steps{padding:0;list-style:none;border-top:1px solid #42615e}.service-steps li{display:flex;gap:26px;align-items:center;padding:19px 0;border-bottom:1px solid #42615e;font-size:1.2rem;font-weight:700}.service-steps li span{color:var(--gold);font-size:.8rem}.related{display:flex;justify-content:space-between;gap:35px;align-items:center}.related-links{display:grid;gap:12px;min-width:300px}.related-links a{display:flex;justify-content:space-between;gap:15px;text-decoration:none;border:1px solid #9bb4ab;padding:14px 17px;font-weight:700}.related-links a:hover{background:#e2ebe2}.service-siblings{padding:35px max(24px,calc((100% - 1200px)/2));background:#103033}.service-siblings>span{color:var(--gold);font-weight:800;font-size:.75rem;text-transform:uppercase;letter-spacing:.16em}.service-siblings>div{display:flex;flex-wrap:wrap;gap:8px 19px;margin-top:13px}.service-siblings a{font-size:.85rem;text-underline-offset:4px}.detail-actions .detail-primary{font-weight:900}@media(max-width:900px){.service-hero>.wrap{grid-template-columns:1fr}.service-hero-image{height:410px}.related{display:block}.related-links{margin-top:25px}}@media(max-width:650px){.service-hero{padding:48px 0 65px}.service-hero-image{height:300px;border-radius:6px 50px 6px 50px}.related-links{min-width:0}}

/* Direct contact */
.email-card{margin-top:28px;padding:27px;background:#e1eae1;border-left:4px solid #2c7667;overflow-wrap:anywhere}.email-card>a{display:block;margin:12px 0 6px;color:#174f49;font-size:clamp(1.05rem,2.4vw,1.65rem);font-weight:800;text-underline-offset:5px}.email-card p{margin:0;font-size:.92rem}.footer-email{display:inline-block;color:var(--mint);font-size:.86rem;margin-top:8px;text-underline-offset:4px;overflow-wrap:anywhere}
