/* Custom coastal compositions for every section between the hero and shoreline. */
body[data-homepage] #main .flow-section{--flow-x:0px;--flow-y:0px;--flow-turn:0deg;position:relative;isolation:isolate;overflow:clip;scroll-margin-top:90px;padding-top:clamp(85px,9vw,132px);padding-bottom:clamp(85px,9vw,132px)}
.flow-section>*:not(.flow-edge):not(.flow-sea-trace){position:relative;z-index:2}
.flow-section .eyebrow{color:#38655f}
.flow-section p{color:#405d5a}
.flow-head,.flow-market-copy{max-width:1200px;margin-inline:auto}
.flow-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.5fr);align-items:center;gap:38px;margin-bottom:38px}
.flow-head .section-heading{max-width:850px;margin:0!important}
.flow-head .process-intro{margin:0;max-width:840px}
.flow-head h2{font-size:clamp(38px,4.8vw,64px);max-width:800px}
.flow-head .section-heading>p:not(.eyebrow){max-width:690px}
.flow-guide{position:relative;margin:0;min-width:0;height:440px;transform:translate3d(var(--flow-x),var(--flow-y),0) rotate(var(--flow-turn));transition:transform 500ms cubic-bezier(.2,.65,.2,1);pointer-events:none}
.flow-guide-inner{position:absolute;inset:0;animation:flow-guide-breathe 10s ease-in-out infinite;animation-play-state:paused;transform-origin:50% 80%}
.flow-guide-artwork{position:absolute;z-index:0;inset:-5% -16% -4%;pointer-events:none}
.flow-guide-art{width:100%;height:100%;overflow:visible}
.flow-person{position:absolute;inset:0;z-index:2;display:block;width:100%;height:100%;max-width:none;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 12px 8px #103e3520)}
.flow-guide-sand{fill:#eadfc5;opacity:.85}
.flow-edge{position:absolute!important;z-index:0;inset:auto -2px 0;height:65px;overflow:hidden;pointer-events:none}
.flow-edge svg{display:block;width:100%;height:100%;overflow:visible}
.flow-edge--top{inset:-1px -2px auto;transform:rotate(180deg)}
.flow-edge-back{fill:var(--flow-wave,#9ec9bb);opacity:.65;animation:flow-edge-drift 16s ease-in-out infinite alternate;animation-play-state:paused}
.flow-edge-front{fill:var(--flow-edge-paper,#fffefa)}
.flow-sea-trace{position:absolute!important;z-index:0;pointer-events:none;right:-50px;bottom:5%;width:380px;height:310px;background:url('/assets/coastal-pages-20261021/tropical-corner.webp') right bottom/contain no-repeat;opacity:.17;transform:translate3d(calc(var(--flow-x) * -1),var(--flow-y),0)}
body[data-homepage] #main .flow-commitment{background:radial-gradient(ellipse at 90% 70%,#d3e7d875,transparent 52%),#fffefa}
.flow-welcome{isolation:isolate;transform:translate3d(var(--flow-x),var(--flow-y),0)}
.flow-welcome::before{display:none}
.flow-welcome>.flow-guide-artwork{inset:5% -8% -5%;z-index:-1}
.flow-welcome .founder-cutout{position:relative;z-index:2}
body[data-homepage] #main .flow-services{--flow-wave:#a6cbb6;background:linear-gradient(140deg,#e7f0e5,#f2ebd8);border:0}
.flow-services .service-lines{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
body[data-homepage] .flow-services .service-lines>a,body[data-homepage] .flow-services .service-lines>a:nth-child(odd){display:flex;flex-direction:column;justify-content:center;align-items:flex-start;position:relative;min-height:175px;padding:30px 75px 36px 30px;border:1px solid #9ab7aa6b;border-radius:5px 42px 7px 30px;background:#fffefa;box-shadow:0 8px 0 #94b2a218;transition:transform 280ms ease,box-shadow 280ms ease,border-color 280ms ease;overflow:hidden}
body[data-homepage] .flow-services .service-lines>a:nth-child(4n+2),body[data-homepage] .flow-services .service-lines>a:nth-child(4n+3){background:#f5f8ef}
.flow-services .service-lines>a::after{content:"";position:absolute;right:-5px;bottom:-12px;width:180px;height:38px;border-radius:50%;background:#c7dfd2;transform:rotate(-9deg);box-shadow:-60px -8px 0 #e5eee0;pointer-events:none}
.flow-services .service-lines>a:hover,.flow-services .service-lines>a:focus-visible{transform:translateY(-5px);border-color:#387b6c;box-shadow:0 12px 0 #94b2a220}
.flow-services .service-lines>a strong{font-size:clamp(24px,2.4vw,31px);line-height:1.15;letter-spacing:-.025em;max-width:440px}
.flow-services .service-lines>a em{font-size:15px;line-height:1.55;color:#49625b}
.flow-card-arrow{position:absolute;right:19px;bottom:35px;width:46px;height:25px;color:#195e58;z-index:2;transition:transform 250ms}
.flow-services .service-lines>a:hover .flow-card-arrow{transform:translateX(4px)}
.flow-services>.button-secondary{display:table!important;margin-left:auto!important;margin-right:auto!important;margin-top:42px!important}
body[data-homepage] #main .flow-process{--flow-wave:#aac7b0;--flow-edge-paper:#f2ebd8;background:radial-gradient(ellipse at 95% 10%,#c0dacb99,transparent 50%),#f5f1e4;color:#172b2c;overflow:clip}
.flow-process::before{display:none}
.flow-process .eyebrow{color:#38655f!important}
.flow-process .process-intro h2{color:#172b2c}
.flow-process .process-steps{margin-top:0;border:0;gap:24px;grid-template-columns:repeat(3,minmax(0,1fr))}
.flow-process .process-step,.flow-process .process-step+.process-step{position:relative;border:1px solid #b8cbbb7a;border-radius:5px 5px 42px 5px;padding:32px 28px 46px;background:#fffefa;box-shadow:0 9px 0 #afbf9f17;overflow:hidden}
.flow-process .process-step:nth-child(2){background:#e7f0e3}
.flow-process .process-step:nth-child(3){background:#ebe5d6}
.flow-process .process-step::after{content:"";position:absolute;bottom:-20px;left:-10px;width:115%;height:35px;background:#aacbbb;border-radius:50%;transform:rotate(-5deg)}
.flow-process .process-step h3{font-family:Georgia,"Times New Roman",serif;font-size:29px;font-weight:500;line-height:1.16;color:#173c38;margin:0 0 18px}
.flow-process .process-step p{font-size:16px;line-height:1.65;color:#40574f;margin:0}
.flow-process .flow-guide-sand{fill:#c8dec9}.flow-process body[data-homepage] #main .flow-reputation{--flow-wave:#b2d3c3;--flow-edge-paper:#f5f1e4;background:linear-gradient(145deg,#e5f0e8,#f4f6ed)}
.flow-reputation .section-heading{max-width:1200px;margin-bottom:42px}.flow-reputation .section-heading h2{max-width:920px}
.flow-reputation .reputation-lines{border:0;gap:22px}
.flow-reputation .reputation-lines>article,.flow-reputation .reputation-lines>article:nth-child(odd),.flow-reputation .reputation-lines>article:nth-child(even){position:relative;border:0;padding:32px 34px;background:#fffefa;border-radius:28px 5px 5px 5px;box-shadow:0 6px 0 #9ebdb51c}
.flow-reputation .reputation-lines>article h3{margin:0;font-size:27px;line-height:1.16}.flow-reputation .reputation-lines>article p{margin-top:16px;max-width:540px}
.flow-reputation .reputation-lines>article:nth-child(2),.flow-reputation .reputation-lines>article:nth-child(3){background:#f5f1e4}
body[data-homepage] #main .flow-markets{--flow-wave:#9ac6b1;--flow-edge-paper:#f0f5ec;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.56fr);align-items:center;gap:70px;background:radial-gradient(ellipse at 92% 80%,#bddcbe 0,transparent 52%),linear-gradient(120deg,#ede4cc,#e4efe0);overflow:clip}
.flow-markets::after{display:none}
.flow-markets .flow-market-copy{width:100%;max-width:780px}.flow-markets h2{font-size:clamp(39px,4.8vw,65px);margin-bottom:28px}.flow-market-copy>div:last-child p{font-size:18px;line-height:1.7;max-width:690px;margin:0 0 28px;color:#40574f}
.flow-markets .flow-guide{height:490px;width:100%;max-width:390px;margin-inline:auto}.flow-markets .flow-guide-sand{fill:#f2ecd8}.flow-markets .flow-guide-artwork{inset:0 -16% -7%}
.flow-markets .flow-sea-trace{right:-20px;width:200px;height:400px;opacity:.6;bottom:14%}
body[data-homepage] #main .flow-faq{background:radial-gradient(ellipse at 0 100%,#d7e8d78c,transparent 55%),#fffefa}
.flow-faq .faq-list{border:0;max-width:1000px;margin-inline:auto}.flow-faq .faq-list details{background:#eef4e9;border:1px solid #b9cfc180;border-radius:4px 20px 4px 20px;margin-bottom:15px;padding:0 25px;box-shadow:0 4px 0 #9db5a317}.flow-faq .faq-list details:nth-child(even){background:#f5f0e3}.flow-faq .faq-list summary{padding:22px 36px 22px 0}.flow-faq .faq-list p{color:#40574f;padding-bottom:8px}
body[data-homepage] #main .flow-closing{--flow-wave:#a4cbb8;--flow-edge-paper:#fffefa;background:radial-gradient(ellipse at 50% 130%,#c4dcbf,transparent 70%),#f1eedf;padding-left:var(--chrome-inset);padding-right:var(--chrome-inset)}
.flow-closing h2{font-size:clamp(39px,5.2vw,69px);max-width:960px}.flow-closing>p:not(.eyebrow){color:#49625b}.flow-closing .flow-sea-trace{opacity:.28}
.flow-in-view .flow-guide-inner,.flow-in-view .flow-guide-artwork::after,.flow-in-view .flow-edge-back{animation-play-state:running}
@keyframes flow-guide-breathe{0%,100%{transform:translateY(0) rotate(-.35deg)}50%{transform:translateY(-6px) rotate(.35deg)}}
@keyframes flow-edge-drift{from{transform:translateX(-14px)}to{transform:translateX(14px)}}
.motion-off .flow-guide,.motion-off .flow-welcome,.flow-suspended .flow-guide,.flow-suspended .flow-welcome{transform:none!important;transition:none!important}
.motion-off .flow-guide-inner,.motion-off .flow-guide-artwork::after,.motion-off .flow-edge-back,.flow-suspended .flow-guide-inner,.flow-suspended .flow-guide-artwork::after,.flow-suspended .flow-edge-back{animation-play-state:paused!important}
@media(min-width:1800px){.flow-markets .flow-market-copy{margin-left:0}.flow-markets .flow-guide{margin-right:0}}
@media(max-width:980px){.flow-head{grid-template-columns:minmax(0,1fr) 270px;gap:24px}.flow-guide{height:350px}.flow-head h2{font-size:44px}.flow-process .process-steps{grid-template-columns:1fr;gap:22px}.flow-process .process-step,.flow-process .process-step+.process-step{padding:30px 32px 43px}.flow-process .process-step p{max-width:700px}body[data-homepage] #main .flow-markets{gap:30px;grid-template-columns:minmax(0,1fr) 260px}.flow-markets .flow-guide{height:370px}.flow-head .section-heading>p:not(.eyebrow){font-size:17px}}
@media(max-width:680px){body[data-homepage] #main .flow-section{padding-top:74px;padding-bottom:74px;scroll-margin-top:76px}.flow-head{display:flex;flex-direction:column;gap:16px;margin-bottom:28px}.flow-head h2{font-size:38px;line-height:1.06}.flow-head .section-heading>p:not(.eyebrow){font-size:17px;line-height:1.65;margin-top:22px}.flow-guide{width:240px;height:300px;margin:6px auto 0}.flow-guide-artwork{inset:0 -12% -8%}.flow-edge{height:38px}.flow-services .service-lines{grid-template-columns:1fr;gap:18px}body[data-homepage] .flow-services .service-lines>a,body[data-homepage] .flow-services .service-lines>a:nth-child(odd){min-height:162px;padding:27px 60px 35px 24px;border-radius:4px 32px 4px 25px}.flow-services .service-lines>a strong{font-size:27px}.flow-services .service-lines>a em{font-size:15px}.flow-card-arrow{width:39px;right:14px;bottom:29px}.flow-process .process-steps{margin-top:24px}.flow-process .process-step,.flow-process .process-step+.process-step{padding:27px 25px 40px}.flow-process .process-step h3{font-size:28px}.flow-reputation .reputation-lines{grid-template-columns:1fr;gap:18px}.flow-reputation .reputation-lines>article,.flow-reputation .reputation-lines>article:nth-child(even){padding:28px 25px}.flow-reputation .reputation-lines>article h3{font-size:26px}body[data-homepage] #main .flow-markets{display:flex;flex-direction:column;gap:15px}.flow-markets .flow-market-copy{width:100%}.flow-markets h2{font-size:38px}.flow-market-copy>div:last-child p{font-size:17px}.flow-markets .flow-guide{height:340px;width:255px;margin:10px auto 0}.flow-markets .flow-sea-trace{right:-25px;height:275px;bottom:60px;width:135px;opacity:.5}.flow-sea-trace{width:170px;height:255px;right:-35px;opacity:.12}.flow-faq .faq-list details{padding-inline:19px}.flow-faq .faq-list summary{font-size:19px!important;line-height:1.35}.flow-closing h2{font-size:38px}.flow-welcome>.flow-guide-artwork{inset:5% -5% 0}}
@media(prefers-reduced-motion:reduce){.flow-guide,.flow-welcome{transform:none!important;transition:none!important}.flow-guide-inner,.flow-guide-artwork::after,.flow-edge-back{animation:none!important}.flow-services .service-lines>a,.flow-card-arrow{transition:none!important}}
body[data-homepage] #main .flow-closing{color:#172b2c}
.flow-closing::before{display:none}
.flow-closing>.flow-edge,.flow-closing>.flow-sea-trace{max-width:none;margin:0}

.flow-guide-sand{stroke:#fffefa;stroke-width:3;filter:drop-shadow(0 8px 3px #547e6a18)}
.flow-guide-artwork::before{content:"";position:absolute;right:0;bottom:15%;width:38%;height:70%;background:url('/assets/coastal-pages-20261021/tropical-corner.webp') right bottom/contain no-repeat;opacity:.55}
.flow-guide-artwork::after{content:"";position:absolute;left:-6%;right:-6%;bottom:-2%;height:120px;background:url('/assets/coastal-pages-20261021/coastal-horizon.webp') left bottom/auto 280px no-repeat;filter:drop-shadow(0 5px 3px #285f4e20);animation:flow-paper-drift 15s ease-in-out infinite alternate;animation-play-state:paused}
.flow-guide--process .flow-guide-artwork::before{right:auto;left:0;transform:scaleX(-1);opacity:.4}
.flow-welcome .flow-guide-artwork::after{height:150px;background-size:auto 350px}
@keyframes flow-paper-drift{from{transform:translateX(-6px) rotate(-.5deg)}to{transform:translateX(6px) rotate(.5deg)}}
@media(max-width:680px){.flow-guide-artwork::after{height:95px;background-size:auto 225px}.flow-guide-artwork::before{width:35%;opacity:.45}.flow-welcome .flow-guide-artwork::after{height:105px;background-size:auto 240px}}
/* Fade the paper sea into each composition rather than showing a rectangular panel. */
.flow-guide-artwork::after{mask-image:radial-gradient(ellipse 65% 100% at 50% 0%,#000 42%,#000c 60%,#0000 90%)}
@media(max-width:680px){body.flow-guide-visible .adnexu-contact-trigger{opacity:0!important;visibility:hidden!important;pointer-events:none!important}}
