:root{--ink:#161616;--navy:#0b0b0b;--deep:#080808;--mint:#ea5146;--mint-dark:#a9342c;--paper:#fafafa;--line:#dedede;--muted:#5e5e5e;--white:#fff;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}img{display:block;max-width:100%}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ea5146;outline-offset:5px}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-weight:400;line-height:1.08;letter-spacing:-.045em}h1{font-size:clamp(48px,6.5vw,96px)}h2{font-size:clamp(34px,4vw,57px)}h3{font-size:28px}p{color:var(--muted)}em{font-family:Georgia,'Times New Roman',serif;font-weight:400}::selection{background:var(--mint);color:var(--ink)}.wrap{width:min(1280px,calc(100% - 112px));margin:auto}.section{padding:104px 0}.eyebrow,.micro,.footer-label{font-size:12px;letter-spacing:.16em;font-weight:600;line-height:1.5}.eyebrow{margin-bottom:25px;color:var(--mint-dark);display:flex;align-items:center;gap:12px}.eyebrow:before{content:'';width:22px;height:1px;background:currentColor}.micro{color:inherit}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:45px;margin-bottom:48px}.section-head>p{max-width:390px}.section-head h2{max-width:740px}.header{height:88px;background:var(--navy);color:white;display:flex;align-items:center;gap:35px;padding:0 4%;position:sticky;top:0;z-index:20;border-bottom:1px solid #ffffff20}.brand{flex-shrink:0;display:block}.brand img{width:190px;height:auto}.header nav{display:flex;align-items:center;gap:30px;margin-left:auto;font-size:14px}.header nav a{padding:15px 0;position:relative}.header nav a:hover,.header nav a.active{color:var(--mint)}.header nav a.active:after{content:'';position:absolute;bottom:5px;left:0;width:24px;height:1px;background:var(--mint)}.nav-new{font-size:9px;letter-spacing:.07em;display:block;line-height:1.2;color:#ababab}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;background:var(--mint);color:var(--ink);padding:17px 24px;font-size:14px;font-weight:600;border:1px solid transparent;transition:background .2s,transform .2s;line-height:1.4}.button:hover{background:#f36b61;transform:translateY(-2px)}.button span{font-size:20px;font-weight:400}.button.small{padding:12px 19px}.button.dark{background:var(--ink);color:white}.button.dark:hover{background:#333333}.button.outline{background:transparent;border-color:#bcbcbc}.button.outline:hover{background:#ffffff12}.button-row{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-top:32px}.text-link{display:inline-flex;gap:28px;align-items:center;border-bottom:1px solid #777777;padding:8px 0;font-size:14px;font-weight:600}.text-link:hover{color:var(--mint-dark)}.text-link span{font-size:21px;font-weight:400}.menu-toggle{display:none}.skip{position:fixed;left:15px;top:-100px;background:white;padding:15px;z-index:99}.skip:focus{top:10px}.hero{background:var(--navy);color:white;position:relative;overflow:hidden;min-height:670px;display:flex;align-items:center}.hero-photo{position:absolute;inset:0 0 0 43%;width:57%;height:100%;object-fit:cover;object-position:50% 50%;opacity:.85}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0b0b0b 28%,#0b0b0be8 43%,#0b0b0b20 77%,#0b0b0b10),linear-gradient(0deg,#0b0b0b99,transparent 40%)}.hero .wrap{position:relative;z-index:2;padding:62px 0 70px}.hero .eyebrow{color:var(--mint);margin-bottom:33px}.hero h1{max-width:850px;line-height:1.02;letter-spacing:-.055em}.hero h1 em{color:var(--mint)}.hero-copy{color:#c7c7c7;max-width:455px;margin-top:29px;font-size:17px;line-height:1.75}.hero .text-link{color:white;border-bottom:1px solid #ffffff50}.hero-caption{position:absolute;bottom:40px;right:4.2%;z-index:2;color:#dedede;display:flex;gap:18px;align-items:center;font-size:11px;letter-spacing:.12em}.cross{font-size:27px;font-weight:200}.hero-bottom{background:var(--navy);color:#bbbbbb;border-top:1px solid #ffffff20}.hero-bottom .wrap{display:flex;justify-content:space-between;gap:24px;padding:23px 0;font-size:12px}.hero-bottom strong{color:#f5f5f5;font-weight:400}.segment{background:white;border-bottom:1px solid var(--line)}.segment .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:101px}.segment p{font-size:12px;width:150px;flex-shrink:0}.segment a{font-size:15px}.segment a:hover{color:var(--mint-dark)}.intro{display:grid;grid-template-columns:1fr 1fr;gap:100px}.intro h2{max-width:590px}.intro>div>p{font-size:18px;line-height:1.8;margin-bottom:24px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:60px}.service-card{padding:34px 30px 32px 0;position:relative}.service-card+.service-card{border-left:1px solid var(--line);padding-left:34px}.service-card .card-num{display:block;color:#6b6b6b;font-size:12px;margin-bottom:32px;letter-spacing:.12em}.service-card h3{font-size:30px;max-width:270px;margin-bottom:20px}.service-card p{font-size:15px;min-height:100px}.service-card .text-link{margin-top:20px}.service-card:hover h3{color:var(--mint-dark)}.platform-section{background:#f0f0f0}.platform-layout{display:grid;grid-template-columns:.85fr 1.2fr;gap:80px;align-items:center}.platform-layout h2{margin-bottom:25px}.platform-layout>div>p{max-width:415px}.status-label{display:inline-flex;font-size:11px;padding:5px 9px;border:1px solid #7777773f;color:#555555;letter-spacing:.1em;margin-bottom:25px}.module-links{display:flex;flex-wrap:wrap;gap:9px;margin:28px 0}.module-links a{font-size:12px;border:1px solid #d1d1d1;padding:7px 11px;background:#ffffff60}.module-links a:hover{background:white;border-color:var(--mint-dark)}.console{background:white;border:1px solid #d3d3d3;border-radius:7px;box-shadow:0 25px 70px -35px #33333355;overflow:hidden;min-width:0}.console-top{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;border-bottom:1px solid var(--line);background:#fcfcfc}.console-logo{font-size:15px;font-weight:600;letter-spacing:-.03em}.console-logo b{color:var(--mint-dark);margin-right:6px}.console-tag{font-size:9px;letter-spacing:.1em;color:#777777}.console-tabs{padding:0 20px;display:flex;border-bottom:1px solid var(--line);gap:25px;overflow:auto}.console-tabs button{font-size:12px;background:none;border:0;padding:17px 0;color:#666666;white-space:nowrap;border-bottom:2px solid transparent}.console-tabs button[aria-selected=true]{color:var(--mint-dark);border-color:var(--mint-dark)}.console-body{padding:24px}.console-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.console-heading h4{font-size:20px;letter-spacing:-.03em}.console-heading span{font-size:10px;color:#6e6e6e}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.metric{padding:15px 12px;border:1px solid #e2e2e2;border-radius:3px}.metric span{display:block;font-size:10px;line-height:1.4;color:#6a6a6a}.metric strong{display:block;font-size:28px;font-weight:400;line-height:1.6;color:var(--ink);letter-spacing:-.03em}.metric small{font-size:10px;color:#8b2f27}.schedule{margin-top:24px}.schedule-title{font-size:12px;font-weight:600;padding-bottom:12px;display:flex;justify-content:space-between}.schedule-title span{font-weight:400;color:#777777;font-size:10px}.schedule-row{display:grid;grid-template-columns:90px 1fr 56px;align-items:center;border-top:1px solid #ededed;padding:12px 0;font-size:10px;gap:12px}.schedule-row>span:last-child{text-align:right;color:#666666}.track{display:flex;gap:4px}.bar{height:23px;border-radius:2px;background:#fbe3e0;border-left:2px solid #ea5146;display:flex;align-items:center;font-size:9px;padding:0 6px;color:#71322e;flex:1}.bar.blue{background:#e9e9e9;border-color:#8a8a8a;color:#444444}.bar.empty{background:#f5f5f5;border:1px dashed #cccccc}.console-bottom{border-top:1px solid var(--line);padding:10px 22px;font-size:10px;color:#777777;display:flex;justify-content:space-between}.fine{font-size:12px;line-height:1.7;color:#666666}.console-caption{margin-top:15px;font-size:11px;line-height:1.6;color:#666666}.process{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin-top:50px}.process>div{border-top:1px solid #aaaaaa;padding-top:23px}.process .step-number{font-size:12px;color:#666666;display:block;margin-bottom:28px}.process h3{font-size:23px;margin-bottom:15px}.process p{font-size:14px}.portrait-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.portrait{background:#eeeeee;overflow:hidden;aspect-ratio:4/4.5}.portrait img{height:100%;width:100%;object-fit:cover;object-position:center 20%;filter:grayscale(100%);transition:filter .3s,transform .5s}.person:hover img{filter:grayscale(0);transform:scale(1.025)}.person h3{font-size:21px;letter-spacing:-.03em;margin:20px 0 8px}.person p{font-size:13px;line-height:1.5}.person .expertise{font-size:13px;margin-top:16px;color:#666666}.people-section{background:white}.closing{background:var(--mint);padding:72px 0}.closing .wrap{display:flex;align-items:center;justify-content:space-between;gap:40px}.closing h2{max-width:760px;font-size:clamp(36px,4.5vw,64px)}.closing .eyebrow{color:var(--ink)}.closing p{color:#282828;margin-top:20px;max-width:580px}.closing .button{flex-shrink:0}.footer{background:var(--deep);color:#bbbbbb;padding:67px 4% 0}.footer-top{display:grid;grid-template-columns:1.7fr 1.1fr 1fr 1fr;gap:50px;padding-bottom:60px}.footer-top p{color:#aaaaaa;margin:22px 0 28px;font-size:16px}.footer .micro{font-size:10px;color:#999999}.footer-label{display:block;color:#999999;margin-bottom:25px;font-size:10px}.footer-top>div>a:not(.brand){display:block;font-size:13px;margin:12px 0}.footer a:hover{color:var(--mint)}.footer-bottom{border-top:1px solid #ffffff18;display:flex;justify-content:space-between;padding:22px 0;font-size:11px;color:#999999;gap:20px}.subhero{background:var(--navy);color:white;padding:64px 0 80px;position:relative;overflow:hidden}.subhero h1{max-width:920px;font-size:clamp(45px,5.5vw,80px);margin-top:34px}.subhero .eyebrow{color:var(--mint)}.subhero em{color:var(--mint)}.subhero .lead{color:#c3c3c3;max-width:640px;font-size:18px;margin-top:25px}.breadcrumb{font-size:12px;color:#b0b0b0;margin-bottom:50px;display:flex;gap:13px}.breadcrumb a:hover{color:white}.subhero .button-row{margin-top:34px}.subhero .outline{color:white}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.split h2{margin-bottom:28px}.split p+p{margin-top:18px}.split .editorial-image{width:100%;height:400px;object-fit:cover}.wide-lead{font-size:21px;line-height:1.6;max-width:700px}.list-rows{margin-top:25px}.list-row{padding:23px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:40px 1fr;gap:15px}.list-row>span{font-size:12px;color:#777777}.list-row h3{font-size:23px;margin-bottom:10px}.list-row p{font-size:15px}.dark-section{background:var(--navy);color:white}.dark-section p{color:#c1c1c1}.dark-section .eyebrow{color:var(--mint)}.dark-section .process>div{border-color:#ffffff30}.dark-section .step-number{color:var(--mint)}.dark-section .list-row{border-color:#ffffff30}.dark-section .list-row>span{color:var(--mint)}.light-section{background:#f0f0f0}.module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#d4d4d4;border:1px solid #d4d4d4}.module-card{background:var(--paper);padding:35px;display:flex;flex-direction:column;min-height:280px;transition:background .2s}.module-card:hover{background:white}.module-card:last-child:nth-child(3n+1){grid-column:1/-1}.module-card h3{font-size:27px;margin:26px 0 15px}.module-card p{font-size:14px;margin-bottom:25px}.module-card .text-link{align-self:flex-start;margin-top:auto}.module-card .module-icon{font-size:25px;color:#a9342c;display:flex;justify-content:space-between}.module-card .micro{font-size:10px;color:#777777}.platform-hero{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.platform-hero h1{font-size:clamp(46px,5vw,72px)}.platform-hero .console{color:var(--ink)}.platform-hero .console-caption{color:#aaaaaa}.tag-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:28px}.tag-row span{font-size:12px;padding:7px 12px;border:1px solid #ffffff30;color:#cccccc}.faq{max-width:950px}.faq details{border-top:1px solid var(--line);padding:23px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;font-size:21px;list-style:none;display:flex;justify-content:space-between;gap:15px}.faq summary:after{content:'+';font-weight:300;color:#a9342c}.faq details[open] summary:after{content:'−'}.faq details p{padding-top:20px;max-width:740px;font-size:15px}.industry-list{display:grid;grid-template-columns:1fr 1fr;gap:25px}.industry-card{padding:40px;background:white;border:1px solid var(--line)}.industry-card h3{font-size:31px;margin:25px 0 18px}.industry-card p{margin-bottom:22px}.industry-card .micro{color:#777777}.full-image{height:410px;object-fit:cover;width:100%;object-position:center}.team-all{grid-template-columns:repeat(3,1fr);row-gap:50px}.expert-card{padding:32px;background:#f0f0f0;border-left:2px solid #ea5146}.expert-card img{width:85px;height:85px;object-fit:cover;border-radius:50%;filter:grayscale(1);margin-bottom:22px}.expert-card h3{font-size:26px;margin-bottom:12px}.expert-card .text-link{margin-top:22px}.deliverables{padding:28px;background:white;border:1px solid var(--line);margin-top:24px}.deliverables h3{font-size:21px;margin-bottom:18px}.deliverables li{padding:8px 0;font-size:14px;color:#626262}.deliverables ul{padding-left:20px;margin:0}.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}.contact-layout h1{font-size:clamp(48px,5vw,70px);margin-bottom:30px}.contact-layout>div>p{font-size:17px}.contact-note{margin-top:45px;padding-top:25px;border-top:1px solid var(--line)}.contact-note h3{font-size:21px;margin-bottom:12px}.contact-note p{font-size:14px}.form{background:white;padding:40px;border:1px solid var(--line)}.form .field-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form label{display:block;font-size:13px;font-weight:600;margin-bottom:7px;color:#333333}.form input,.form select,.form textarea{width:100%;border:1px solid #c4c4c4;border-radius:0;background:#fcfcfc;color:var(--ink);padding:13px;font-size:15px}.form textarea{resize:vertical;min-height:130px}.field{margin-bottom:20px}.form .fine{margin:14px 0 20px}.brief-result{padding:27px;background:#f8f3f2;border:1px solid #d7beba}.brief-result h3{font-size:27px;margin-bottom:20px}.brief-result p{font-size:14px;margin:15px 0;overflow-wrap:anywhere}.brief-result .button{margin-top:18px}.brief-result strong{color:var(--ink)}.not-found{text-align:center;padding:130px 20px}.not-found h1{font-size:65px;margin-bottom:25px}.noscript{padding:70px;background:white}.fade-in{animation:fade .45s ease both}@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){.hero-photo{object-position:50% 56%}.hero{min-height:730px}}@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.header{gap:22px}.header nav{gap:20px}.brand img{width:165px}.header-cta{gap:12px}.platform-layout,.platform-hero{gap:40px}.hero h1{font-size:78px}.hero-photo{left:30%;width:65%}.intro{gap:50px}.contact-layout{gap:45px}.footer-top{gap:30px}.portrait-strip{gap:16px}}@media(max-width:850px){.header{height:76px;justify-content:space-between;padding:0 25px}.header nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--navy);padding:25px;box-shadow:0 10px 20px #0002}.header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:5px}.header nav a{padding:12px}.header-cta{margin-left:auto;font-size:12px;padding:10px 13px!important}.menu-toggle{display:flex;gap:12px;align-items:center;border:0;color:white;background:transparent;font-size:13px;padding:10px 0}.wrap{width:calc(100% - 48px)}.hero{min-height:650px}.hero .wrap{padding:58px 0 80px}.hero h1{font-size:76px}.hero-photo{left:28%;width:72%;opacity:.55}.hero:after{background:linear-gradient(90deg,#0b0b0bf7 12%,#0b0b0b99 57%,#0b0b0b22),linear-gradient(0deg,#0b0b0b 0%,transparent 55%)}.hero-caption{display:none}.hero-bottom .wrap{font-size:11px;flex-wrap:wrap;gap:12px}.segment .wrap{flex-wrap:wrap;padding:22px 0;justify-content:flex-start;gap:15px 28px}.segment p{width:100%;font-size:11px}.segment a{font-size:13px}.section{padding:75px 0}.intro,.split,.platform-layout,.platform-hero,.contact-layout{grid-template-columns:1fr;gap:38px}.intro>div>p{font-size:17px}.section-head{align-items:flex-start;gap:25px}.service-card h3{font-size:24px}.service-card{padding-right:20px}.service-card+.service-card{padding-left:20px}.service-card p{font-size:14px;min-height:140px}.service-card .text-link{font-size:12px;gap:8px}.platform-layout>div>p{max-width:600px}.console{max-width:650px;width:100%}.process{gap:22px;grid-template-columns:1fr 1fr}.portrait-strip{grid-template-columns:1fr 1fr;gap:30px 20px}.closing .wrap{align-items:flex-start;flex-direction:column}.footer-top{grid-template-columns:1.5fr 1fr;gap:40px}.footer-bottom{flex-wrap:wrap}.module-grid{grid-template-columns:1fr 1fr}.module-card:last-child:nth-child(3n+1){grid-column:auto}.module-card:last-child:nth-child(odd){grid-column:1/-1}.subhero{padding:40px 0 65px}.subhero h1{font-size:60px}.breadcrumb{margin-bottom:35px}.industry-card{padding:26px}.industry-card h3{font-size:26px}.form{padding:30px}.contact-note{margin-top:25px}.team-all{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.header{padding:0 20px;gap:14px}.brand img{width:152px}.header-cta{display:none}.hero{min-height:645px}.hero h1{font-size:59px;line-height:1.04}.hero-photo{left:5%;width:95%;object-position:48%;opacity:.43}.hero .wrap{padding:55px 0 58px}.hero-copy{font-size:16px;max-width:330px}.hero .eyebrow{font-size:10px;letter-spacing:.13em}.hero .button-row{gap:14px;align-items:flex-start;flex-direction:column}.hero .button{padding:16px 22px}.hero-bottom .wrap{padding:20px 0;display:grid;gap:12px}.segment .wrap{gap:13px 22px}.segment a{font-size:12px}.section{padding:62px 0}.eyebrow{font-size:10px;margin-bottom:20px}.intro{gap:25px}.service-grid{grid-template-columns:1fr;margin-top:35px}.service-card,.service-card+.service-card{border-left:0;padding:27px 0;border-bottom:1px solid var(--line)}.service-card:last-child{border-bottom:0}.service-card .card-num{margin-bottom:20px}.service-card h3{font-size:30px;max-width:100%}.service-card p{min-height:0;font-size:15px}.service-card .text-link{font-size:14px;margin-top:16px}.section-head{flex-direction:column;align-items:flex-start}.section-head h2{font-size:38px}.console-body{padding:17px 12px}.console-top{padding:18px 13px}.console-tabs{padding:0 13px;gap:20px}.console-heading h4{font-size:19px}.console-heading span{font-size:9px}.metrics{gap:6px}.metric{padding:11px 7px}.metric strong{font-size:25px}.metric small{font-size:9px}.metric span{font-size:9px}.schedule-row{grid-template-columns:70px 1fr 40px;gap:5px;font-size:9px}.bar{font-size:8px;padding:0 3px}.console-bottom{padding:10px 13px;gap:15px;font-size:9px}.console-tag{font-size:8px}.process{grid-template-columns:1fr;gap:30px}.process .step-number{margin-bottom:18px}.process p{font-size:15px}.portrait-strip{gap:28px 16px}.person h3{font-size:19px}.person p{font-size:12px}.person .expertise{font-size:12px}.closing{padding:55px 0}.closing h2{font-size:42px}.footer{padding:45px 24px 0}.footer-top{grid-template-columns:1fr 1fr;gap:35px 20px}.footer-top>div:first-child{grid-column:1/-1}.footer-top>div>a:not(.brand){font-size:12px}.footer-label{font-size:10px}.footer-bottom{flex-direction:column;gap:10px;align-items:flex-start}.subhero h1{font-size:48px}.subhero .lead{font-size:16px}.breadcrumb{font-size:10px;gap:8px;flex-wrap:wrap}.platform-hero h1{font-size:49px}.module-grid,.industry-list{grid-template-columns:1fr}.module-card{min-height:260px;padding:27px}.industry-card{padding:30px}.split .editorial-image{height:260px}.full-image{height:240px}.form{padding:23px}.form .field-grid{grid-template-columns:1fr;gap:0}.contact-layout h1{font-size:51px}.faq summary{font-size:19px}.closing .button{width:100%}.button-row .button{font-size:13px}.tag-row span{font-size:11px}.wide-lead{font-size:19px}.person .expertise{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

#main:focus{outline:none}
/* VisionHarbor coral edition */
:root{--coral:#EA5146;--mint:var(--coral);--mint-dark:#a9342c;--ink:#161616;--navy:#0b0b0b;--deep:#080808;--paper:#fafafa;--line:#dedede;--muted:#5e5e5e}
.hero-photo,.full-image{filter:grayscale(1)}.hero-photo{opacity:.7}.hero:after{background:linear-gradient(90deg,#0b0b0b 28%,#0b0b0bea 43%,#0b0b0b20 77%,#0b0b0b10),linear-gradient(0deg,#0b0b0b99,transparent 40%)}
.hero h1 em,.subhero em{color:var(--coral)}.button{font-weight:700;color:#111}.button:hover{background:#f77369}.button.dark{color:white}.closing{background:var(--coral)}.closing .eyebrow{color:#171717}.closing .button{background:#111;color:#fff}.closing .button:hover{background:#333}.closing p{color:#171717}.header .button{gap:20px}.header nav{gap:26px}.header-cta{white-space:nowrap}.person:hover img{filter:grayscale(1)}
.portrait{background:white;border-bottom:3px solid var(--coral);aspect-ratio:4/4.3}.person h3{font-weight:500}.person .expertise{color:#555}.people-section .section-head h2{font-size:clamp(33px,3.7vw,52px)}.people-section .section-head h2 em{color:var(--mint-dark)}
.service-card{display:flex;flex-direction:column}.service-card .text-link{margin-top:auto;align-self:flex-start}.service-card p{margin-bottom:20px}.service-card h3{min-height:66px}.service-card .card-num{color:var(--mint-dark)}
.booking-section{background:#090909;color:white}.booking-section .eyebrow{color:var(--coral)}.booking-section .section-head>p{color:#b4b4b4}.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.booking-card{padding:45px;border:1px solid #383838;border-radius:8px;display:flex;align-items:flex-start;flex-direction:column;background:#111}.booking-card.featured{border-color:#8f392f;background:radial-gradient(ellipse at top left,#ea51461e,transparent 70%),#0b0b0b}.booking-card .micro{color:#aaa;font-size:12px}.booking-card.featured .micro{color:var(--coral)}.booking-card h3{font-size:39px;line-height:1.15;margin:38px 0 24px;letter-spacing:-.035em}.booking-card p{font-size:16px;color:#b5b5b5;line-height:1.8;max-width:470px;margin-bottom:35px}.booking-card .button{margin-top:auto}.booking-card .outline{border-color:#767676;color:#fff}.booking-card .outline:hover{background:#222}.partner-section{background:#fff}.partner-section .text-link{margin-top:27px}.partner-section .wide-lead{font-size:25px;line-height:1.5;color:#222}.partner-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:26px}.partner-tags span{font-size:12px;border:1px solid #d8d8d8;padding:7px 10px;color:#5d5d5d}.partner-section h2 em{color:var(--mint-dark)}
.audience-line{font-size:12px!important;color:#b5b5b5!important;letter-spacing:.02em;margin-top:44px!important;max-width:100%!important}.light-link{background:none;color:#ddd;border:0;border-bottom:1px solid #777;cursor:pointer;font:inherit;font-size:14px}.light-link:hover{color:var(--coral)}.page-jumps{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:88px;z-index:15}.page-jumps .wrap{display:flex;align-items:center;gap:30px;min-height:65px}.page-jumps span{font-size:10px;letter-spacing:.12em;color:#777;margin-right:auto;white-space:nowrap}.page-jumps button,.page-jumps a{font-size:12px;color:#444;border:0;background:none;white-space:nowrap;padding:12px 0}.page-jumps button:hover,.page-jumps a:hover{color:var(--mint-dark)}.page-jumps a{font-weight:600}.scope-section,.section[id]{scroll-margin-top:150px}.section[id]:focus{outline:none}.challenge-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:58px}.challenge-grid article{border-top:1px solid #bbb;padding-top:24px}.challenge-grid .micro{font-size:10px;color:var(--mint-dark)}.challenge-grid h3{font-size:24px;line-height:1.2;margin:23px 0 17px}.challenge-grid p{font-size:14px;line-height:1.8}.visual-split{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:stretch}.service-visual{margin:0;display:flex;flex-direction:column;position:relative;overflow:hidden;min-height:410px;background:#111}.service-visual img{object-fit:cover;filter:grayscale(1);width:100%;height:100%;min-height:410px;position:absolute;inset:0;transition:transform .7s}.service-visual:hover img{transform:scale(1.025)}.service-visual figcaption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#000b);padding:60px 28px 22px;color:white;font-size:10px;letter-spacing:.12em}.operation-diagram{background:white;border:1px solid #d7d7d7;display:flex;flex-direction:column;min-width:0}.diagram-top{padding:22px 25px;border-bottom:1px solid #ddd;display:flex;justify-content:space-between;gap:16px;align-items:center}.diagram-top .micro{font-size:10px;color:#333}.diagram-label{font-size:9px;color:#888;letter-spacing:.08em;white-space:nowrap}.diagram-stage{display:flex;align-items:center;gap:24px;padding:27px;border-bottom:1px solid #e3e3e3;position:relative}.diagram-stage>span{width:34px;height:34px;flex-shrink:0;background:#fff0ee;color:#a9342c;font-size:12px;display:flex;align-items:center;justify-content:center}.diagram-stage:not(:last-of-type):after{content:'';width:1px;height:20px;background:var(--coral);position:absolute;bottom:-11px;left:43px;z-index:1}.diagram-stage h3{font-size:23px;margin-bottom:8px}.diagram-stage p{font-size:12px}.diagram-foundation{background:#111;color:#eee;font-size:11px;padding:17px 24px;margin-top:auto}.slogan-panel{background:#111;padding:45px;color:#fff;display:flex;flex-direction:column;justify-content:center}.slogan-panel .eyebrow{color:var(--coral)}.slogan-panel h2{font-size:48px}.slogan-panel em{color:var(--coral)}.scope-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:80px;align-items:start}.scope-intro{position:sticky;top:190px}.scope-intro>p:not(.eyebrow){margin-top:26px;font-size:16px}.scope-expert{display:flex;gap:15px;align-items:center;border-top:1px solid #ddd;margin:34px 0 15px;padding-top:26px}.scope-expert img{width:64px;height:64px;object-fit:cover;border-radius:50%;filter:grayscale(1)}.scope-expert strong{display:block;font-size:14px}.scope-expert span{display:block;font-size:12px;color:#666;line-height:1.5;margin-top:4px}.scope-family{border-top:1px solid #bfbfbf}.scope-family:last-child{border-bottom:1px solid #bfbfbf}.scope-family summary{display:grid;grid-template-columns:28px 1fr 20px;gap:18px;padding:28px 0;list-style:none;cursor:pointer;align-items:start}.scope-family summary::-webkit-details-marker{display:none}.family-num{font-size:11px;color:var(--mint-dark);padding-top:5px}.scope-family strong{font-size:23px;letter-spacing:-.025em;line-height:1.25;font-weight:500;display:block}.scope-family small{display:block;font-size:14px;color:#686868;margin-top:10px;line-height:1.6}.family-toggle{font-size:23px;line-height:1;color:#777}.family-toggle:after{content:'+'}.scope-family[open] .family-toggle:after{content:'−';color:var(--mint-dark)}.scope-family[open] summary strong{color:#a9342c}.family-body{padding:0 38px 32px 46px}.family-body>p{font-size:16px;line-height:1.85}.keyword-list{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;padding:0;margin:26px 0}.keyword-list li{font-size:13px;line-height:1.5;padding-left:15px;position:relative;color:#363636}.keyword-list li:before{content:'';width:4px;height:4px;background:var(--coral);position:absolute;left:0;top:8px}.family-output{border-left:2px solid var(--coral);padding:14px 18px;background:#f4f4f4;margin-top:26px}.family-output>span{font-size:9px;letter-spacing:.14em;color:#666}.family-output p{font-size:13px;line-height:1.7;margin-top:7px;color:#333}.outcome-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.outcome-grid article{border-top:1px solid #aaa;padding-top:24px}.outcome-grid .micro{font-size:12px;color:var(--mint-dark)}.outcome-grid h3{font-size:25px;line-height:1.17;margin:28px 0 17px}.outcome-grid p{font-size:14px;line-height:1.8}.delivery-path{display:grid;grid-template-columns:repeat(3,1fr);gap:42px;margin-top:60px}.delivery-path article{border-top:1px solid #555;padding-top:24px}.delivery-path .micro{color:var(--coral)}.delivery-path h3{font-size:28px;margin:22px 0 15px}.delivery-path p{font-size:14px;max-width:330px}.delivery-note{border-top:1px solid #333;margin-top:45px;padding-top:24px;font-size:14px}.session-switch{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:32px}.session-switch .selected{color:var(--mint-dark);border-color:var(--coral)}.session-switch a{font-size:13px}.form .status-label{color:#111;border-color:#bbb}.diagram-stage{animation:diagram-in .5s ease both}.diagram-stage:nth-child(3){animation-delay:.1s}.diagram-stage:nth-child(4){animation-delay:.2s}@keyframes diagram-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px){.header nav{gap:20px}.header{gap:22px}.header .button{gap:12px;font-size:12px}.scope-layout{gap:44px;grid-template-columns:.65fr 1.35fr}.page-jumps .wrap{gap:22px}.scope-family strong{font-size:21px}.challenge-grid{grid-template-columns:1fr 1fr;gap:28px 35px}.diagram-label{display:none}.slogan-panel{padding:30px}.slogan-panel h2{font-size:42px}}
@media(max-width:850px){.page-jumps{top:76px}.page-jumps .wrap{overflow:auto;gap:23px;min-height:58px}.page-jumps span{display:none}.scope-layout{grid-template-columns:1fr;gap:38px}.scope-intro{position:static}.scope-intro>p:not(.eyebrow){max-width:600px}.scope-expert{max-width:450px}.visual-split{grid-template-columns:1fr}.service-visual{min-height:320px}.service-visual img{min-height:320px}.outcome-grid{grid-template-columns:1fr 1fr;gap:35px}.booking-card{padding:30px}.booking-card h3{font-size:31px}.booking-card p{font-size:15px}.delivery-path{gap:30px}.partner-section .wide-lead{font-size:22px}.slogan-panel h2{font-size:48px}.service-card h3{min-height:60px}.audience-line{line-height:2!important}.header .button{font-size:12px}.people-section .section-head h2{max-width:540px}.section[id]{scroll-margin-top:134px}}
@media(max-width:520px){.booking-grid,.challenge-grid,.outcome-grid{grid-template-columns:1fr}.booking-card{padding:30px 26px}.booking-card h3{font-size:34px;margin-top:27px}.booking-card p{font-size:15px}.booking-card .micro{font-size:10px}.booking-card .button{font-size:13px}.booking-section .section-head{margin-bottom:30px}.challenge-grid{margin-top:36px;gap:30px}.challenge-grid h3{font-size:27px}.visual-split{gap:22px}.service-visual{min-height:260px}.service-visual img{min-height:260px}.service-visual figcaption{font-size:8px;padding:45px 20px 18px}.diagram-top{padding:20px}.diagram-top .micro{font-size:9px}.diagram-stage{padding:23px 20px;gap:16px}.diagram-stage h3{font-size:22px}.diagram-stage p{font-size:12px}.diagram-stage:not(:last-of-type):after{left:37px}.diagram-foundation{font-size:10px;line-height:1.8;padding:15px 20px}.scope-family summary{grid-template-columns:22px 1fr 16px;gap:10px;padding:24px 0}.scope-family strong{font-size:23px}.scope-family small{font-size:13px}.family-body{padding:0 0 27px 32px}.family-body>p{font-size:15px}.keyword-list{grid-template-columns:1fr;gap:12px}.family-output{padding:14px}.delivery-path{grid-template-columns:1fr 1fr;gap:30px 20px;margin-top:35px}.delivery-path h3{font-size:25px}.delivery-path p{font-size:13px}.partner-section .wide-lead{font-size:21px}.partner-tags span{font-size:11px}.page-jumps .wrap{width:calc(100% - 32px);gap:22px}.page-jumps button,.page-jumps a{font-size:11px}.slogan-panel h2{font-size:41px}.slogan-panel{padding:30px 25px}.service-card h3{min-height:0}.people-section .section-head h2{font-size:36px}.header nav{gap:5px}.hero:after{background:linear-gradient(90deg,#0b0b0bf7 12%,#0b0b0b99 57%,#0b0b0b22),linear-gradient(0deg,#0b0b0b 0%,transparent 55%)}.outcome-grid h3{font-size:27px;margin-top:20px}}
@media(prefers-reduced-motion:reduce){.diagram-stage,.service-visual img{animation:none!important;transition:none!important}}
.intro .eyebrow{font-size:12px;line-height:1.5}.segment .wrap{gap:18px}.segment p{width:100px}.segment a{font-size:14px}
@media(max-width:850px){.segment p{width:100%}.segment a{font-size:13px}}
@media(max-width:520px){.intro .eyebrow{font-size:10px}.segment a{font-size:12px}}

/* Two destinations within the VisionHarbor family. */
.harbor-section{background:#f0f0ed;color:var(--ink)}
.harbor-section h2 em{color:var(--mint-dark)}
.harbor-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.harbor-card{padding:36px 38px 32px;display:flex;flex-direction:column;border:1px solid #d3d3cf;position:relative;overflow:hidden}
.harbor-operations{background:#111;color:white;border-color:#111}
.harbor-local{background:#fff;border-top:3px solid var(--coral)}
.harbor-card-top{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}
.harbor-card-top .micro{font-size:11px;letter-spacing:.13em}
.harbor-card-top strong{color:var(--mint-dark);font-weight:600}
.harbor-location{font-size:9px;letter-spacing:.08em;color:#626262}
.harbor-operations .harbor-location{color:#ccc;border:1px solid #484848;padding:4px 8px}
.harbor-card h3{font-size:clamp(32px,3.1vw,46px);line-height:1.08;margin:38px 0 24px}
.harbor-card>p{font-size:15px;line-height:1.85;max-width:410px;color:#535353;margin-bottom:38px}
.harbor-operations>p{color:#c5c5c5}
.harbor-card-bottom{margin-top:auto;border-top:1px solid #d9d9d9;padding-top:23px;display:flex;flex-direction:column;align-items:flex-start}
.harbor-operations .harbor-card-bottom{border-color:#3c3c3c}
.harbor-audience{font-size:11px;line-height:1.6;color:#656565;display:block;margin-bottom:20px}
.harbor-operations .harbor-audience{color:#bcbcbc}
.harbor-card .text-link{display:inline-flex;align-items:center;gap:18px;font-size:14px;font-weight:600;border-bottom:1px solid var(--coral);padding-bottom:8px}
.harbor-card .text-link:hover{color:var(--mint-dark)}
.harbor-operations .text-link:hover{color:var(--coral)}
.harbor-domain{font-size:10px;color:#6a6a6a;margin-top:9px;letter-spacing:.02em}
.footer-local small{display:block;font-size:10px;color:#aaa;margin-top:3px;font-weight:400}
@media(max-width:850px){.harbor-card{padding:28px}.harbor-card h3{font-size:35px}.harbor-card-top{gap:12px}.harbor-location{font-size:8px}}
@media(max-width:620px){.harbor-grid{grid-template-columns:1fr;gap:18px}.harbor-card h3{font-size:38px;margin-top:30px}.harbor-card>p{margin-bottom:28px}.harbor-section .section-head{margin-bottom:30px}.harbor-card .text-link{font-size:14px}}

.harbor-card-top{min-height:42px}.harbor-operations .harbor-domain{color:#aaa}
/* Services-first edition: visible scope, direct detail pages, tighter editorial rhythm. */
.service-first-hero{min-height:590px}
.service-first-hero .wrap{padding-top:65px;padding-bottom:54px}
.service-first-hero h1{font-size:clamp(46px,5.6vw,80px);max-width:1060px;line-height:1.06}
.service-first-hero .hero-copy{font-size:18px;max-width:635px;margin-top:26px}
.hero-service-links{display:flex;flex-wrap:wrap;gap:12px 26px;margin-top:32px}
.hero-service-links a{font-size:12px;color:#ddd;border-bottom:1px solid #777;padding-bottom:4px}
.hero-service-links a:hover{color:var(--coral);border-color:var(--coral)}
.segment p{width:auto;white-space:nowrap;font-size:9px}.segment .wrap{justify-content:space-between;gap:20px}.segment a{font-size:13px}
.catalogue-section{padding:68px 0;background:#fafafa}
.catalogue-section .section-head{margin-bottom:32px;align-items:end;gap:35px}
.catalogue-section h2{font-size:clamp(32px,3.5vw,47px);max-width:650px}
.catalogue-section .section-head>p{font-size:14px;line-height:1.8;max-width:375px}
.catalogue-section .eyebrow{margin-bottom:16px}
.offer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-left:1px solid #d7d7d7;border-top:1px solid #d7d7d7}
.offer-card{padding:25px 24px 23px;border-right:1px solid #d7d7d7;border-bottom:1px solid #d7d7d7;display:flex;flex-direction:column;background:#fff;transition:background .2s}
.offer-card:hover{background:#fff0ed}.offer-card:focus-visible{outline-offset:-4px;position:relative;z-index:1}
.offer-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.offer-top .micro{font-size:10px;color:#777}.offer-top>span:last-child{font-size:24px;color:var(--mint-dark)}
.offer-card h3{font-size:25px;line-height:1.15;letter-spacing:-.035em;margin:0 0 16px;min-height:58px}
.offer-card>p{font-size:13px;line-height:1.85;color:#555;margin:0 0 24px}
.offer-more{font-size:11px;font-weight:600;letter-spacing:.015em;margin-top:auto;display:block;color:#85362f}
.adjacent-expertise{padding:65px 0;background:#efefed;border-top:1px solid #ddd}
.adjacent-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px}.adjacent-grid h2{font-size:38px;max-width:470px}
.adjacent-grid>div>p:not(.eyebrow){font-size:14px;line-height:1.8;margin-top:20px;max-width:465px}
.adjacent-grid ul{list-style:none;padding:0;margin:28px 0 0}.adjacent-grid li{border-top:1px solid #ccc}.adjacent-grid li:last-child{border-bottom:1px solid #ccc}
.adjacent-grid li a{display:flex;justify-content:space-between;gap:18px;padding:13px 0;font-size:14px;line-height:1.5}.adjacent-grid li a:hover{color:var(--mint-dark)}.adjacent-grid li a span{color:var(--mint-dark)}
.partner-concise{padding:70px 0;background:#171717;color:#fff}.partner-concise .section-head{margin-bottom:35px}.partner-concise h2{font-size:43px}.partner-concise .section-head>p{font-size:15px;color:#bfbfbf;max-width:355px}
.partner-work{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-bottom:30px}.partner-work>div{border-top:1px solid #555;padding-top:23px}.partner-work h3{font-size:23px;line-height:1.2;margin-bottom:14px}.partner-work p{font-size:14px;line-height:1.8;color:#bfbfbf}.partner-concise .text-link{color:white;border-color:var(--coral)}
.directory-hero{background:#111;color:#fff;padding:45px 0 38px}.directory-hero h1{font-size:clamp(39px,4.5vw,62px);max-width:920px}.directory-hero em{color:var(--coral)}.directory-hero p:not(.eyebrow){font-size:16px;color:#c4c4c4;max-width:790px;line-height:1.8;margin-top:20px}.directory-hero .eyebrow{margin-bottom:20px}.directory-hero .breadcrumb{margin-bottom:32px}
.directory-links{display:flex;flex-wrap:wrap;gap:12px 30px;margin-top:28px}.directory-links button{background:transparent;border:0;border-bottom:1px solid #666;padding:8px 0;color:#eee;font-size:13px}
.directory-links button:hover{color:var(--coral)}
.catalogue-section:nth-of-type(odd){background:#f3f3f0}

.service-detail-hero{background:#111;color:#fff;padding:40px 0 45px}.service-detail-hero .breadcrumb{margin-bottom:32px}.service-detail-hero h1{font-size:clamp(39px,4.4vw,61px);max-width:960px}.service-detail-hero .eyebrow{margin-bottom:20px}.service-detail-hero .lead{font-size:18px;line-height:1.75;color:#c8c8c8;max-width:800px;margin-top:22px}.service-detail-hero .button-row{margin-top:27px}
.service-detail-content{padding:52px 0 65px}.service-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 295px;gap:75px;align-items:start}.service-detail-content h2{font-size:32px}
.visible-scope{display:grid;grid-template-columns:1fr 1fr;list-style:none;padding:0;margin:25px 0 32px;gap:0 25px}.visible-scope li{border-top:1px solid #d3d3d3;padding:14px 0 14px 18px;font-size:15px;line-height:1.5;position:relative}.visible-scope li:before{content:'';width:4px;height:4px;background:var(--coral);position:absolute;left:0;top:23px}
.service-deliverable{padding:23px 26px;background:#efefec;border-left:3px solid var(--coral)}.service-deliverable .eyebrow{font-size:10px;margin-bottom:12px}.service-deliverable p:not(.eyebrow){font-size:17px;line-height:1.7;color:#222}
.service-context{margin-top:35px}.service-context h2{font-size:27px;margin-bottom:18px}.service-context>p{font-size:15px;line-height:1.9;color:#555;max-width:780px}
.service-expert{border:1px solid #ddd;background:#fff}.service-expert>img{width:100%;height:240px;object-fit:cover;object-position:50% 22%;filter:grayscale(1)}.service-expert>div{padding:25px}.service-expert .micro{font-size:9px;color:#666}.service-expert h3{font-size:27px;margin:18px 0 12px}.service-expert p{font-size:12px;line-height:1.8;color:#606060;margin:0 0 16px}.service-expert .text-link{font-size:12px}
.related-services{background:#eeefec;padding:48px 0}.related-services .section-head{margin-bottom:28px}.related-services h2{font-size:34px}.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.related-grid>a{border-top:1px solid #aaa;padding-top:20px;display:flex;flex-direction:column}.related-grid h3{font-size:24px;line-height:1.2;margin-bottom:15px}.related-grid p{font-size:13px;line-height:1.8;margin-bottom:20px}.related-grid>a:hover h3{color:var(--mint-dark)}
.enquiry-service{border-left:3px solid var(--coral);padding:14px 18px;background:#eee;margin-bottom:25px}.enquiry-service .micro{font-size:9px;display:block}.enquiry-service strong{font-weight:500;display:block;margin-top:8px;font-size:18px}
.people-section .team-all{grid-template-columns:repeat(4,1fr)}.people-section .team-all:has(.person:nth-child(5)){grid-template-columns:repeat(5,1fr)}
@media(max-width:1100px){.offer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.offer-card h3{min-height:0;font-size:26px}.offer-card{padding:26px}.offer-top{margin-bottom:15px}.offer-card>p{font-size:14px}.service-detail-grid{gap:40px;grid-template-columns:minmax(0,1fr) 260px}.adjacent-grid{gap:40px}.segment .wrap{flex-wrap:wrap;justify-content:flex-start}.segment p{width:100%}.partner-work{gap:28px}.service-first-hero{min-height:545px}}
@media(max-width:850px){.service-first-hero h1{font-size:57px}.service-first-hero .hero-copy{font-size:16px;max-width:525px}.service-first-hero .wrap{padding-top:45px;padding-bottom:40px}.service-first-hero{min-height:530px}.catalogue-section .section-head{display:block}.catalogue-section .section-head>p{margin-top:18px;max-width:580px}.service-detail-grid{grid-template-columns:1fr;gap:35px}.service-expert{display:grid;grid-template-columns:180px 1fr}.service-expert>img{height:100%;min-height:220px}.partner-work{grid-template-columns:1fr;gap:22px}.partner-work>div{display:grid;grid-template-columns:1fr 1.2fr;gap:30px}.partner-work h3{margin:0}.partner-concise h2{font-size:36px}.adjacent-grid h2{font-size:32px}.people-section .team-all,.people-section .team-all:has(.person:nth-child(5)){grid-template-columns:repeat(2,1fr)}.related-grid{gap:22px}.related-grid h3{font-size:22px}}
@media(max-width:600px){.offer-grid,.adjacent-grid,.related-grid{grid-template-columns:1fr}.catalogue-section{padding:42px 0}.offer-card{padding:23px}.offer-card h3{font-size:27px}.offer-card>p{margin-bottom:18px}.offer-top{margin-bottom:12px}.adjacent-grid{gap:42px}.adjacent-expertise,.partner-concise{padding:44px 0}.partner-work>div{display:block}.partner-work h3{margin-bottom:12px}.service-first-hero h1{font-size:44px}.service-first-hero .hero-copy{font-size:15px;line-height:1.8}.service-first-hero{min-height:0}.hero-service-links{gap:12px 20px}.hero-service-links a{font-size:11px}.service-first-hero .button-row{gap:22px;margin-top:25px}.service-first-hero .button{padding:17px 20px}.service-first-hero .eyebrow{font-size:9px;letter-spacing:.1em}.service-first-hero .text-link{font-size:13px}.segment a{font-size:12px}.directory-hero,.service-detail-hero{padding:32px 0}.directory-hero h1,.service-detail-hero h1{font-size:39px}.service-detail-hero .lead{font-size:16px}.directory-links{gap:8px 20px}.directory-links button{font-size:12px;text-align:left}.visible-scope{grid-template-columns:1fr}.service-detail-content{padding:36px 0}.service-expert{grid-template-columns:125px 1fr}.service-expert>img{min-height:240px}.service-expert>div{padding:20px}.service-expert h3{font-size:25px}.service-expert .text-link{font-size:11px}.service-deliverable{padding:20px}.related-grid{gap:30px}}
@media(prefers-reduced-motion:reduce){.offer-card{transition:none}}

.catalogue-section[id]{scroll-margin-top:0}
@media(max-width:600px){.service-first-hero .hero-photo{opacity:.3}}
/* Three-category homepage: photography, simple navigation and restrained motion. */
.harbor-hero{min-height:620px;overflow:hidden}.harbor-hero .wrap{padding-top:72px;padding-bottom:78px}.harbor-hero h1{font-size:clamp(54px,6.4vw,91px);line-height:1.05;max-width:1000px}.harbor-hero .hero-copy{font-size:21px;line-height:1.65;max-width:560px;margin-top:28px}.harbor-hero .button-row{margin-top:33px}.harbor-hero .hero-photo{animation:harbor-arrival 4s ease-out both;transform-origin:65% 50%}.hero-footnote{position:absolute;bottom:30px;right:5%;font-size:9px;letter-spacing:.17em;color:#bcbcbc;z-index:2}
@keyframes harbor-arrival{from{transform:scale(1.055)}to{transform:scale(1)}}
.button{gap:0}.button>span[aria-hidden="true"]:empty,.text-link>span[aria-hidden="true"]:empty{display:none}.text-link{gap:0;min-width:0}.text-link:hover{transform:none}.text-link span{transform:none!important}
.main-categories{padding:75px 0 80px;background:#fafafa}.main-categories[id]{scroll-margin-top:0}.main-categories .section-head{margin-bottom:34px}.category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.category-card{display:flex;flex-direction:column;background:white;border-bottom:2px solid #dedede;transition:border-color .25s,box-shadow .25s}.category-photo{position:relative;aspect-ratio:1.6;overflow:hidden;background:#ddd}.category-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.5);transition:transform .7s ease,filter .7s ease}.category-index{position:absolute;top:16px;left:16px;background:#111e;color:white;font-size:11px;letter-spacing:.1em;padding:6px 10px}.category-copy{padding:28px;display:flex;flex-direction:column;flex:1}.category-copy h3{font-size:34px;line-height:1.12;margin-bottom:22px}.category-copy>p{font-size:15px;color:#606060;line-height:1.8;margin-bottom:27px;max-width:370px}.category-cta{font-size:12px;font-weight:600;padding-bottom:7px;border-bottom:1px solid var(--coral);align-self:flex-start;margin-top:auto;position:relative}.category-card:hover,.category-card:focus-visible{border-color:var(--coral);box-shadow:0 14px 32px #00000008}.category-card:hover img,.category-card:focus-visible img{transform:scale(1.04);filter:saturate(.8)}
.category-photo-strategy img{position:absolute;inset:-8px;width:calc(100% + 16px);height:calc(100% + 16px);filter:sepia(.25) saturate(.8) blur(1.5px)}
.category-card:hover .category-photo-strategy img,.category-card:focus-visible .category-photo-strategy img{filter:sepia(.25) saturate(1) blur(1.5px)}
.partner-simple{background:var(--navy);color:white;padding:47px 0 52px;border-top:1px solid #ffffff20}.partner-simple>.wrap>.micro{font-size:10px;color:var(--mint);letter-spacing:.12em}.partner-simple-body{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;margin-top:23px}.partner-simple h2{font-size:41px;line-height:1.14}.partner-simple h2 em{color:var(--mint)}.partner-simple p{font-size:17px;line-height:1.8;max-width:500px;color:#c1c1c1}.partner-simple .text-link{margin-top:22px;font-size:12px;color:white;border-bottom-color:#ffffff50}.partner-simple .text-link:hover{color:var(--mint)}
.locations-section{background:#111;color:white;padding:75px 0 60px}.locations-section .eyebrow{color:var(--coral)}.locations-section .section-head>p{font-size:16px;color:#bfbfbf}.locations-section h2 em{color:var(--coral)}.location-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.location-photo{height:310px;overflow:hidden}.location-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.45);transition:transform .8s ease,filter .8s ease}.location-card:hover img{transform:scale(1.025);filter:saturate(.7)}.location-caption{display:flex;align-items:end;justify-content:space-between;gap:18px;padding-top:25px}.location-caption .micro{font-size:9px;color:#bbb;letter-spacing:.1em}.location-caption h3{font-size:38px;margin-top:12px}.location-caption .location-address{font-style:normal;font-size:13px;color:#bfbfbf;margin-top:8px}.location-caption time{font-size:10px;color:#bfbfbf;letter-spacing:.08em;white-space:nowrap;font-variant-numeric:tabular-nums;padding-bottom:5px}.locations-section+.footer{border-top:1px solid #333}
.reveal-ready{opacity:1}.reveal-ready.revealed{animation:card-arrival .65s ease both}.reveal-ready.revealed:nth-child(2){animation-delay:.08s}.reveal-ready.revealed:nth-child(3){animation-delay:.16s}@keyframes card-arrival{from{opacity:.4;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
.offer-top>span:last-child{font-size:10px;color:#777}.offer-card:hover .offer-more{color:#111}.footer a{transition:color .2s}.button:hover{transform:translateY(-2px)}
@media(max-width:1100px){.category-grid{gap:20px}.category-copy{padding:24px}.category-copy h3{font-size:29px}.category-copy>p{font-size:14px}.partner-simple-body{gap:45px}.partner-simple h2{font-size:37px}.location-photo{height:265px}.harbor-hero{min-height:580px}.harbor-hero h1{font-size:76px}}
@media(max-width:850px){.category-grid{grid-template-columns:1fr;gap:24px}.category-card{display:grid;grid-template-columns:.9fr 1.1fr}.category-photo{aspect-ratio:auto;min-height:290px}.category-copy{padding:30px}.category-copy h3{font-size:33px}.category-copy>p{font-size:15px}.partner-simple-body{gap:30px}.partner-simple h2{font-size:33px}.partner-simple p{font-size:15px}.harbor-hero h1{font-size:65px}.harbor-hero .hero-copy{font-size:19px}.location-caption{display:block}.location-caption time{display:block;margin-top:15px}.location-photo{height:225px}}
@media(max-width:600px){.harbor-hero{min-height:550px}.harbor-hero .wrap{padding-top:55px;padding-bottom:70px}.harbor-hero h1{font-size:49px}.harbor-hero .hero-copy{font-size:17px;line-height:1.7}.harbor-hero .hero-photo{opacity:.38}.hero-footnote{left:24px;right:auto;font-size:8px;bottom:25px}.main-categories{padding:48px 0}.category-card{display:flex}.category-photo{aspect-ratio:1.7;min-height:0}.category-copy{padding:26px}.category-copy h3{font-size:34px}.category-copy>p{margin-bottom:24px}.partner-simple{padding:36px 0}.partner-simple-body{grid-template-columns:1fr;gap:22px}.partner-simple h2{font-size:35px}.location-grid{grid-template-columns:1fr;gap:38px}.locations-section{padding:48px 0}.location-photo{height:245px}.location-caption{display:flex;align-items:end}.location-caption h3{font-size:34px}.location-caption time{font-size:9px}.locations-section .section-head>p{font-size:14px}.category-cta{font-size:13px}}
@media(prefers-reduced-motion:reduce){.harbor-hero .hero-photo,.reveal-ready.revealed{animation:none!important}.category-photo img,.category-card,.location-photo img,.button{transition:none!important;transform:none!important}}
.platform-mockup{position:relative}.platform-mockup img{display:block;height:auto}.mockup-laptop{width:86%;margin:0 0 8% auto}.mockup-phone{position:absolute;left:5%;bottom:0;width:23%;z-index:1;filter:drop-shadow(0 16px 22px #0000002e) drop-shadow(0 3px 5px #0000001f)}
.person-title{display:block;margin-top:20px;font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:15px;color:var(--mint-dark)}.person-title+h3{margin-top:6px}.person:has(.person-linkedin){display:flex;flex-direction:column}.person:has(.person-linkedin)>p{margin-bottom:14px}.person-linkedin{display:inline-flex;align-self:flex-start;gap:8px;align-items:center;margin-top:auto;font-size:13px;font-weight:600;border-bottom:1px solid #777777;padding:4px 0}.person-linkedin:hover{color:var(--mint-dark)}
.portrait-arturo img{scale:1.12;transform-origin:center 30%}

.process.process-five{grid-template-columns:repeat(5,1fr);gap:28px;margin-top:70px}.service-grid .service-card:nth-child(3n+1){border-left:0;padding-left:0}.service-grid .service-card:nth-child(n+4){border-top:1px solid var(--line)}@media(max-width:1100px){.process.process-five{grid-template-columns:repeat(3,1fr)}}@media(max-width:850px){.process.process-five{grid-template-columns:1fr 1fr}}@media(max-width:520px){.process.process-five{grid-template-columns:1fr}.service-grid .service-card:nth-child(n+4){border-top:0}}

.hero-video{filter:none!important}
.footer-legal{display:flex;flex-wrap:wrap;gap:8px 22px}.footer-legal a{color:#999999}.legal{max-width:840px}.legal-meta{font-size:13px;color:#777777;margin-bottom:40px;display:flex;flex-wrap:wrap;gap:8px 24px}.legal h2{font-size:26px;letter-spacing:-.03em;margin:52px 0 18px;padding-top:28px;border-top:1px solid var(--line)}.legal h2:first-of-type{margin-top:0;padding-top:0;border-top:0}.legal h3{font-size:19px;margin:28px 0 10px}.legal p{font-size:15px;line-height:1.75;margin-bottom:14px}.legal ul{margin:0 0 18px;padding-left:22px}.legal li{font-size:15px;line-height:1.7;color:var(--muted);margin-bottom:8px}.legal li strong,.legal p strong,.legal dd strong{color:var(--ink);font-weight:600}.legal a:not(.button){color:var(--mint-dark);border-bottom:1px solid #d9b5b1}.legal a:not(.button):hover{color:var(--ink);border-color:var(--ink)}.legal dl{display:grid;grid-template-columns:190px 1fr;gap:10px 24px;margin:0 0 20px;padding:24px 28px;background:white;border:1px solid var(--line);font-size:15px}.legal dt{color:var(--ink);font-weight:600}.legal dd{margin:0;color:var(--muted);overflow-wrap:anywhere}.legal table{width:100%;border-collapse:collapse;font-size:14px;margin:0 0 22px;background:white;border:1px solid var(--line)}.legal th,.legal td{text-align:left;vertical-align:top;padding:14px 16px;border-bottom:1px solid var(--line);color:var(--muted);line-height:1.6}.legal th{color:var(--ink);font-weight:600;font-size:11px;letter-spacing:.08em;text-transform:uppercase;background:#f6f6f6}.legal tr:last-child td{border-bottom:0}.legal-nav{display:flex;flex-wrap:wrap;gap:10px;margin-top:48px;padding-top:28px;border-top:1px solid var(--line)}.legal-nav a{font-size:12px;border:1px solid #d1d1d1;padding:7px 11px;background:#ffffff60}.legal-nav a:hover{background:white;border-color:var(--mint-dark)}
@media(max-width:850px){.legal dl{grid-template-columns:1fr;gap:4px 0;padding:20px}.legal dt{margin-top:12px}.legal dt:first-child{margin-top:0}.legal table,.legal tbody,.legal tr,.legal td{display:block}.legal thead{display:none}.legal tr{border-bottom:1px solid var(--line);padding:8px 0}.legal tr:last-child{border-bottom:0}.legal td{border-bottom:0;padding:6px 16px}.legal td:before{content:attr(data-label);display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);font-weight:600;margin-bottom:3px}}

/* Utility classes replacing former inline style attributes (CSP forbids style="…") */
.center-row{justify-content:center}.mt-20{margin-top:20px}.mt-35{margin-top:35px}.mb-40{margin-bottom:40px}.console-sub{font-weight:400;color:#666666}.stage-note{color:#c7c7c7}.bar-short{flex:.75}

/* Forms: honeypot (off-screen, never shown), inline errors, Turnstile slot */
.hp{position:absolute!important;left:-10000px!important;top:auto;width:1px;height:1px;overflow:hidden}.form-error{color:#9f2a22;background:#fff4f3;border:1px solid #e3b4af;padding:12px 14px;font-size:14px;line-height:1.5;margin:0 0 18px}.form [aria-invalid="true"]{border-color:#c2362c;background:#fff8f7}.form button[disabled]{opacity:.6;cursor:progress}.turnstile-field{min-height:65px}.email-link{white-space:nowrap}


/* Accessibility fixes from the WCAG 2.2 AA review (Oct 2026) */
h1,h2,h3,h4{overflow-wrap:break-word}
.category-card,.category-copy,.booking-card,.module-card,.industry-card,.location-card,.harbor-card,.related-grid>a,.offer-card,.expert-card,.service-card,.person{min-width:0}
.directory-hero .eyebrow,.service-detail-hero .eyebrow{color:var(--coral)}
.offer-top .micro,.offer-top>span:last-child,.industry-card .micro,.module-card .micro,.legal-meta{color:#666}
.form input,.form select,.form textarea{border-color:#767676}
.form .fine a{color:var(--mint-dark);border-bottom:1px solid #d9b5b1}
.form .fine a:hover{color:var(--ink);border-color:var(--ink)}
.field-error{color:#9f2a22;font-size:13px;line-height:1.5;margin-top:7px}
.closing a:focus-visible,.closing button:focus-visible{outline-color:#111}
.hero-footnote{background:#0b0b0be6;padding:6px 10px;right:4%;bottom:26px}
.video-toggle{position:absolute;right:4%;bottom:62px;z-index:2;background:#0b0b0be6;color:#f0f0f0;border:1px solid #777;padding:8px 12px;font-size:12px;letter-spacing:.06em;line-height:1.4;cursor:pointer}
.video-toggle:hover{border-color:#fff}
@media(max-width:600px){.hero-footnote{left:24px;right:auto;bottom:18px;max-width:calc(100% - 160px);line-height:1.5}.video-toggle{right:20px;bottom:18px}}
/* Careers: role list, role page and the application form (careers.js) */
.job-list{display:grid;gap:18px;margin-top:40px}
.job-card{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;padding:30px 32px;background:white;border:1px solid var(--line)}
.job-card h3{font-size:26px;letter-spacing:-.02em;margin-bottom:10px}
.job-card h3 a:hover{color:var(--mint-dark)}
.job-card p{font-size:15px;max-width:640px}
.job-meta{display:flex;flex-wrap:wrap;gap:6px 0;margin:0 0 14px;padding:0;list-style:none;font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:#6b6b6b}
.job-meta li+li:before{content:'·';margin:0 10px}
.subhero .job-meta{color:#c3c3c3;margin:28px 0 0}
.job-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.7fr);gap:80px;align-items:start}
.job-body p{font-size:17px;line-height:1.7;margin-bottom:18px}
.job-body h2{font-size:28px;letter-spacing:-.03em;margin:44px 0 18px}
.job-body ul{margin:0;padding-left:22px}
.job-body li{font-size:16px;line-height:1.65;color:var(--muted);margin-bottom:10px}
.job-aside{position:sticky;top:120px;padding:28px;background:white;border:1px solid var(--line)}
.job-aside dl{margin:18px 0 0;display:grid;gap:14px}
.job-aside dt{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:600}
.job-aside dd{margin:3px 0 0;font-size:15px;color:var(--ink)}
.job-aside .button{margin-top:24px;width:100%;justify-content:center}
.contact-note a{color:var(--mint-dark);border-bottom:1px solid #d9b5b1}
.form input[type=file]{padding:10px;background:white;cursor:pointer}
.form input[type=file]::file-selector-button{font:inherit;font-size:13px;font-weight:600;border:1px solid #c4c4c4;background:#f0f0f0;color:var(--ink);padding:8px 12px;margin-right:12px;cursor:pointer}
.field-hint{font-size:12px;color:#666666;margin-top:7px}
.form .checkbox-field{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start}
.form .checkbox-field input{width:18px;height:18px;padding:0;margin:3px 0 0;accent-color:var(--mint)}
.form .checkbox-field label{margin:0;font-weight:400;font-size:14px;line-height:1.55;color:var(--muted)}
.form .checkbox-field a{color:var(--mint-dark);border-bottom:1px solid #d9b5b1}
@media(max-width:850px){.job-layout{grid-template-columns:1fr;gap:38px}.job-aside{position:static}.job-card{grid-template-columns:1fr;padding:24px}.job-card .button{justify-self:start}}
.job-body .job-note{font-size:15px;font-weight:600;color:var(--ink);margin-top:14px}
