/* SEN Bespoke: logo-led colour, generous editorial spacing. */
:root{--ink:#294453;--paper:#fff;--green:#d7edac;--line:#d7e2e6;--blue:#60abd1;--sage:#8aaf70;--slate:#657e91;--lime:#d7edac}
body{color:var(--ink);background:#fff}header{height:126px;padding:0 6%;background:#fff;border-bottom:0;gap:35px}header .wordmark{min-width:0}.wordmark{display:block;line-height:0}.wordmark img{width:230px;height:auto;display:block}nav{gap:36px;font-size:14px}.nav-cta{background:var(--lime);color:var(--ink);padding:17px 27px;border-radius:3px;font-size:14px}.nav-cta:hover,.hero-cta:hover{background:#c3df91}.section{padding:145px 8%}h2{font-size:clamp(40px,4.3vw,66px);line-height:1.17;letter-spacing:-2.6px}.section-label{font-size:11px;letter-spacing:1.6px;color:var(--slate)}.hero{min-height:740px;min-height:min(830px,calc(100svh - 60px));padding:100px 8% 0;background:#294453;isolation:isolate;color:white;display:flex;flex-direction:column;justify-content:flex-end}.hero-content{padding-bottom:70px}.hero .eyebrow{font-size:11px;letter-spacing:2px;color:#e5f0f6}.hero .dot{background:var(--lime)}h1{font-size:clamp(55px,6.1vw,92px);line-height:1.1;letter-spacing:-3.5px;max-width:920px;margin-top:31px}.hero h1 em{font-family:Georgia,serif;font-weight:400;color:var(--lime)}.hero-bottom{margin-top:34px;gap:70px;align-items:center}.hero-bottom p{font-size:16px;line-height:1.8;color:#edf3f4}.hero-cta{display:flex;align-items:center;gap:35px;background:var(--lime);color:#294453;font-size:14px;padding:21px 26px;border-radius:3px}.hero-cta span{font-size:22px}.hero-caption{margin:0;padding:26px 0;border-color:#ffffff45;font-size:11px;letter-spacing:.4px;color:#e3ecf0}.intro{grid-template-columns:1fr 1.7fr;gap:10%}.intro>.section-label{gap:70px}.intro-copy{grid-template-columns:1fr;gap:22px;margin-top:38px;max-width:600px}.intro-copy p{font-size:17px;line-height:1.9;color:#637b8b}.text-link{color:#294453;border-color:#8aaf70;font-size:14px;padding:13px 0;gap:50px}.intro .text-link{margin-top:35px}.section-heading{align-items:flex-end;margin-bottom:70px;gap:70px}.section-heading .section-label{margin-bottom:31px}.section-heading>p{font-size:16px;color:#657e91;line-height:1.9;max-width:350px}.process{background:#f7f9f4;border-top:none;grid-template-columns:1fr 1.7fr;gap:10%}.process-intro{font-size:17px!important;color:#657e91!important;margin-top:35px;margin-bottom:60px}.steps{gap:55px 45px}.steps article{border-color:#bdcdb5;padding-top:26px}.steps article>span{font-size:10px;letter-spacing:1.2px;color:#5a7850}.steps h3{font-size:28px;margin-top:22px;margin-bottom:18px}.steps p{font-size:15px;line-height:1.9;color:#657e91}.contact{background:var(--lime);padding-top:110px;padding-bottom:85px}.contact .section-label{color:#47603d}.contact-row{margin-top:45px}.contact h2{font-size:clamp(60px,7.8vw,115px);letter-spacing:-4px;color:#294453}.contact-circle{background:#5c9fc1;color:white;width:145px;height:145px;font-size:80px}.contact-bottom{margin-top:65px}.contact-bottom p{font-size:16px}.contact-bottom .text-link{border-color:#567044}footer{padding:60px 6%;gap:35px}footer .wordmark img{width:220px}footer p{font-size:12px;line-height:1.8;color:#657e91}footer>span,footer>a:last-child{font-size:11px}dialog{padding:45px;background:#f7fafb}dialog h2{color:#294453}.submit{background:#294453}.form-note,#form-status{color:#526c7b}input,select,textarea{border-color:#b7cbd4}a:focus-visible,button:focus-visible,summary:focus-visible{outline-color:#2584b3}
@media(min-width:1700px){header,footer{padding-left:max(6%,calc((100vw - 1500px)/2));padding-right:max(6%,calc((100vw - 1500px)/2))}.section,.hero{padding-left:max(8%,calc((100vw - 1440px)/2));padding-right:max(8%,calc((100vw - 1440px)/2))}}
@media(max-width:1050px){header{gap:20px;padding:0 5%}.wordmark img{width:195px}nav{gap:24px;font-size:12px}.section{padding:100px 6%}.hero{padding-left:6%;padding-right:6%;min-height:750px}.hero-bottom{gap:40px}.intro,.process{gap:6%;grid-template-columns:1fr 2fr}.connection-mark{--mark:150px;--ring:120px}.section-heading>p{font-size:14px}.contact-circle{width:115px;height:115px;font-size:65px}}
@media(max-width:700px){header{height:100px;gap:10px;padding:0 5%}.wordmark img{width:158px}.nav-cta{padding:12px 15px;margin-right:3px;font-size:11px}.menu{color:var(--ink)}nav{top:100px;background:#fff;padding:25px 6%;box-shadow:0 12px 15px #29445312;font-size:15px}.hero{min-height:690px;min-height:calc(100svh - 100px);padding:65px 6% 0}.hero-content{padding-bottom:45px}.hero .eyebrow{font-size:8px;letter-spacing:1.3px}.hero h1{font-size:clamp(40px,10vw,65px);line-height:1.16;letter-spacing:-1.7px;margin-top:30px}.hero-bottom{margin-top:30px;display:block}.hero-bottom p{font-size:13px;line-height:1.9}.hero-cta{margin-top:27px;padding:17px 20px;gap:28px;font-size:12px}.hero-caption{padding:22px 0;font-size:8px;gap:20px;align-items:center}.hero-caption span:first-child{max-width:140px}.section{padding:80px 7%}h2{font-size:38px;line-height:1.2;letter-spacing:-1.6px}.intro,.process{display:block}.intro>.section-label{margin-bottom:30px}.connection-mark{display:none}.intro-copy{margin-top:30px}.intro-copy p{font-size:15px;line-height:1.9}.section-heading{margin-bottom:45px}.section-heading .section-label{margin-bottom:28px}.section-heading>p{margin-top:27px;font-size:14px}.process-main{margin-top:30px}.process-intro{font-size:15px!important;line-height:1.9;margin:27px 0 40px}.steps{gap:35px 25px}.steps h3{font-size:22px}.steps p{font-size:13px}.steps article>span{font-size:8px}.contact{padding-top:75px;padding-bottom:65px}.contact h2{font-size:54px;letter-spacing:-2.5px}.contact-circle{width:66px;height:66px;min-width:66px;font-size:39px}.contact-row{gap:15px;margin-top:30px}.contact-bottom{margin-top:35px}.contact-bottom p{font-size:14px;line-height:1.7}.contact-bottom .text-link{font-size:13px}footer{padding:35px 6%;gap:22px}footer .wordmark img{width:170px}footer p{display:none}footer>span,footer>a:last-child{font-size:10px}dialog{padding:35px 24px}}
@media(max-width:370px){.wordmark img{width:135px}.nav-cta{padding:10px}.hero h1{font-size:38px}.contact h2{font-size:46px}.contact-circle{width:55px;height:55px;min-width:55px}}

/* Carried over from the live site: these sections exist in the page but are hidden.
   Delete this line to bring back "The way forward" and the footer. */
.process,footer{display:none!important}

/* Stronger header navigation and a gentle directional cue. */
.site-links{font-size:17px;font-weight:700}
.nav-cta span{display:inline-block;transition:transform 180ms ease}
.nav-cta:hover span,.nav-cta:focus-visible span{transform:translate(3px,-3px)}
@media(max-width:1050px) and (min-width:701px){.site-links{font-size:15px;gap:20px}}
@media(max-width:700px){.site-links{font-size:18px}}
@media(prefers-reduced-motion:reduce){.nav-cta span{transition:none}.nav-cta:hover span,.nav-cta:focus-visible span{transform:none}}

/* Standalone navigation pages. */
.subpage{min-height:100vh;background:#f8fbf5}.subpage-main{padding:8rem 6% 7rem}.subpage-intro{max-width:1000px;margin:0 auto 4rem}.subpage-intro h1{margin:.6rem 0 1.5rem;font-size:clamp(3rem,7vw,7rem);line-height:.94;letter-spacing:-.065em;color:var(--ink)}.subpage-intro h1 em{font-family:Georgia,serif;font-weight:400}.subpage-intro p{max-width:38rem;font-size:1.15rem;line-height:1.6;color:#526b78}.subpage-grid{max-width:1200px;margin:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#c8d8cf}.subpage-card{padding:2rem;background:#fff;min-height:16rem}.subpage-card h2{font-size:clamp(1.6rem,2.6vw,2.7rem);margin:.8rem 0}.subpage-card p,.subpage-card li{color:#526b78;line-height:1.55}.subpage-card ul{padding-left:1.1rem}.subpage-image{width:100%;height:100%;min-height:18rem;object-fit:cover}.subpage .site-links a[aria-current="page"]{color:var(--blue);text-decoration:underline;text-underline-offset:.4em}@media(max-width:700px){.subpage-main{padding:4rem 5%}.subpage-grid{grid-template-columns:1fr}.subpage-card{min-height:auto}}

/* Shared arrow movement for each interactive arrow treatment. */
.hero-cta span,.text-link span,.people-photo-button>span{display:inline-block;transition:transform 180ms ease}.hero-cta:hover span,.hero-cta:focus-visible span,.text-link:hover span,.text-link:focus-visible span,.people-photo-button:hover>span,.people-photo-button:focus-visible>span{transform:translate(3px,-3px)}.contact-circle:hover,.contact-circle:focus-visible{transform:translate(3px,-3px)}@media(prefers-reduced-motion:reduce){.hero-cta span,.text-link span,.people-photo-button>span{transition:none}.hero-cta:hover span,.hero-cta:focus-visible span,.text-link:hover span,.text-link:focus-visible span,.people-photo-button:hover>span,.people-photo-button:focus-visible>span,.contact-circle:hover,.contact-circle:focus-visible{transform:none}}

/* "Where we operate" stays reachable by direct link but is out of the main navigation. */
.site-links a[href="where-we-operate.html"]{display:none}

/* Perspective lens: two logo rings drift apart on scroll; a faint grid and contour texture shows only where they overlap.
   --p runs from -1 to 1 as the section passes through the viewport (set by lens.js; 0 = resting state). */
.connection-mark{--mark:200px;--ring:165px;--p:0;--ax:calc(-20px - var(--p) * 5px);--ay:calc(-8px - var(--p) * 2px);--bx:calc(20px + var(--p) * 5px);--by:calc(12px + var(--p) * 2px);position:relative;width:var(--mark);height:var(--mark);display:grid;place-items:center}
.connection-mark .ring,.connection-mark .lens{position:absolute;left:50%;top:50%;width:var(--ring);height:var(--ring);margin:calc(var(--ring) / -2) 0 0 calc(var(--ring) / -2);border-radius:50%}
.connection-mark .ring{border:2px solid #60abd1;z-index:1;transform:translate(var(--ax),var(--ay))}
.connection-mark .ring-b{border-color:#8aaf70;transform:translate(var(--bx),var(--by))}
.connection-mark .lens{overflow:hidden;transform:translate(var(--ax),var(--ay))}
.connection-mark .lens-inner{position:absolute;inset:0;border-radius:50%;overflow:hidden;transform:translate(calc(var(--bx) - var(--ax)),calc(var(--by) - var(--ay)))}
.connection-mark .lens-texture{position:absolute;width:var(--mark);height:var(--mark);left:calc((var(--ring) - var(--mark)) / 2 - var(--bx));top:calc((var(--ring) - var(--mark)) / 2 - var(--by));background:radial-gradient(circle at 52% 48%,rgba(126,178,83,.07),rgba(60,161,222,.05) 60%,transparent 75%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cpath d='M4 0V200M16 0V200M28 0V200M40 0V200M52 0V200M64 0V200M76 0V200M88 0V200M100 0V200M112 0V200M124 0V200M136 0V200M148 0V200M160 0V200M172 0V200M184 0V200M196 0V200M0 4H200M0 16H200M0 28H200M0 40H200M0 52H200M0 64H200M0 76H200M0 88H200M0 100H200M0 112H200M0 124H200M0 136H200M0 148H200M0 160H200M0 172H200M0 184H200M0 196H200' fill='none' stroke='%233CA1DE' stroke-opacity='.2' stroke-width='.5'/%3E%3Cpath d='M126.3 96.0 L126.8 97.1 L126.7 98.1 L125.9 99.1 L124.7 99.8 L123.2 100.3 L121.7 100.6 L120.2 100.7 L119.0 100.8 L118.0 100.9 L117.2 101.1 L116.6 101.3 L116.0 101.7 L115.4 102.0 L114.8 102.3 L114.1 102.5 L113.4 102.6 L112.7 102.5 L112.0 102.5 L111.3 102.4 L110.6 102.5 L109.8 102.7 L108.9 103.1 L107.7 103.6 L106.3 104.1 L104.8 104.5 L103.2 104.6 L101.7 104.5 L100.5 103.9 L99.8 103.0 L99.7 101.8 L100.2 100.5 L101.1 99.2 L102.5 98.1 L103.9 97.2 L105.3 96.5 L106.3 96.0 L106.9 95.6 L107.0 95.3 L106.6 94.8 L105.9 94.2 L105.1 93.4 L104.4 92.4 L103.8 91.3 L103.6 90.3 L103.8 89.3 L104.3 88.5 L105.1 87.9 L106.0 87.5 L107.0 87.1 L108.0 86.9 L108.9 86.7 L109.9 86.4 L111.0 86.2 L112.0 86.1 L113.1 86.1 L114.1 86.3 L115.0 86.9 L115.7 87.7 L116.1 88.7 L116.3 89.9 L116.2 91.0 L116.0 92.1 L115.8 92.9 L115.8 93.4 L116.2 93.6 L117.0 93.6 L118.3 93.6 L119.9 93.6 L121.8 93.8 L123.6 94.3 L125.2 95.1 L126.3 96.0Z M137.6 96.0 L137.7 97.8 L136.9 99.6 L135.6 101.2 L133.7 102.5 L131.7 103.5 L129.6 104.3 L127.7 105.0 L126.0 105.7 L124.6 106.3 L123.3 107.1 L122.1 107.8 L120.9 108.6 L119.5 109.3 L118.1 109.8 L116.6 110.1 L115.1 110.3 L113.5 110.3 L112.0 110.3 L110.5 110.4 L108.9 110.6 L107.1 110.9 L105.2 111.4 L103.0 111.8 L100.6 112.1 L98.2 112.2 L95.8 111.8 L93.8 110.9 L92.3 109.6 L91.4 107.8 L91.3 105.8 L91.8 103.7 L92.9 101.7 L94.3 99.9 L95.7 98.4 L96.9 97.1 L97.6 96.0 L97.8 95.0 L97.5 93.9 L96.9 92.7 L96.1 91.3 L95.4 89.7 L95.0 87.9 L94.9 86.2 L95.4 84.6 L96.3 83.1 L97.6 81.9 L99.2 81.0 L100.9 80.2 L102.6 79.5 L104.4 79.0 L106.3 78.4 L108.1 78.0 L110.0 77.6 L112.0 77.5 L114.0 77.7 L115.8 78.3 L117.5 79.2 L118.9 80.5 L119.9 82.1 L120.6 83.7 L121.1 85.3 L121.5 86.7 L122.1 87.7 L122.9 88.5 L124.2 89.0 L125.9 89.4 L128.1 89.8 L130.5 90.5 L133.0 91.4 L135.1 92.7 L136.7 94.2 L137.6 96.0Z M149.7 96.0 L149.1 98.7 L147.7 101.2 L145.6 103.4 L143.2 105.3 L140.7 107.0 L138.2 108.4 L135.9 109.7 L133.9 111.1 L132.0 112.4 L130.2 113.7 L128.3 115.1 L126.3 116.2 L124.1 117.2 L121.8 118.0 L119.3 118.5 L116.9 118.7 L114.4 118.9 L112.0 119.1 L109.5 119.4 L106.9 119.8 L104.1 120.3 L101.0 120.8 L97.7 121.2 L94.2 121.2 L90.9 120.7 L87.8 119.6 L85.3 117.9 L83.6 115.6 L82.7 112.8 L82.6 109.9 L83.3 107.0 L84.4 104.2 L85.7 101.8 L86.8 99.6 L87.5 97.8 L87.7 96.0 L87.4 94.2 L86.6 92.3 L85.8 90.2 L84.9 87.9 L84.5 85.5 L84.5 83.0 L85.1 80.6 L86.4 78.4 L88.2 76.4 L90.3 74.8 L92.7 73.4 L95.3 72.2 L97.9 71.2 L100.5 70.2 L103.3 69.3 L106.1 68.7 L109.0 68.3 L112.0 68.2 L114.9 68.7 L117.7 69.7 L120.1 71.2 L122.2 73.1 L123.9 75.1 L125.2 77.2 L126.4 79.1 L127.7 80.7 L129.2 81.9 L131.1 82.9 L133.5 83.7 L136.3 84.5 L139.5 85.5 L142.7 86.9 L145.5 88.6 L147.8 90.8 L149.3 93.3 L149.7 96.0Z M162.3 96.0 L160.9 99.5 L158.8 102.8 L156.1 105.7 L153.2 108.3 L150.3 110.6 L147.5 112.8 L145.0 114.9 L142.6 117.0 L140.2 119.1 L137.7 121.1 L135.0 123.0 L132.1 124.6 L129.0 125.8 L125.7 126.8 L122.3 127.5 L118.9 128.0 L115.5 128.4 L112.0 128.9 L108.4 129.6 L104.6 130.3 L100.5 131.1 L96.2 131.6 L91.7 131.7 L87.2 131.2 L83.0 130.0 L79.4 127.9 L76.6 125.1 L74.7 121.7 L73.9 117.9 L73.9 114.0 L74.5 110.3 L75.5 106.9 L76.3 103.8 L76.8 101.1 L76.8 98.5 L76.3 96.0 L75.3 93.4 L74.1 90.5 L73.0 87.4 L72.4 84.2 L72.3 80.8 L73.1 77.6 L74.5 74.5 L76.7 71.7 L79.4 69.2 L82.4 67.1 L85.7 65.2 L89.1 63.5 L92.6 61.9 L96.3 60.5 L100.0 59.3 L103.9 58.5 L108.0 58.2 L112.0 58.4 L115.9 59.3 L119.6 60.9 L122.8 62.9 L125.6 65.3 L128.0 67.8 L130.2 70.2 L132.3 72.2 L134.6 73.9 L137.4 75.2 L140.6 76.3 L144.3 77.4 L148.4 78.8 L152.5 80.5 L156.3 82.8 L159.4 85.6 L161.5 88.8 L162.5 92.4 L162.3 96.0Z M175.0 96.0 L172.9 100.4 L170.1 104.4 L167.0 108.1 L163.8 111.5 L160.7 114.6 L157.8 117.7 L155.0 120.7 L152.2 123.6 L149.2 126.5 L145.9 129.1 L142.3 131.5 L138.4 133.5 L134.2 135.0 L129.9 136.3 L125.5 137.3 L121.1 138.2 L116.6 139.1 L112.0 140.1 L107.2 141.3 L102.0 142.4 L96.6 143.2 L90.9 143.6 L85.1 143.2 L79.7 141.9 L74.8 139.6 L70.8 136.3 L67.8 132.2 L66.0 127.6 L65.2 122.9 L65.2 118.2 L65.5 113.8 L65.9 109.8 L65.9 106.1 L65.5 102.7 L64.4 99.4 L63.0 96.0 L61.3 92.4 L59.8 88.5 L58.8 84.3 L58.6 80.1 L59.2 75.8 L60.8 71.8 L63.3 68.0 L66.4 64.6 L70.0 61.6 L73.9 58.8 L78.1 56.3 L82.4 53.9 L86.9 51.8 L91.6 50.0 L96.5 48.5 L101.6 47.7 L106.8 47.6 L112.0 48.3 L116.9 49.8 L121.5 51.9 L125.5 54.5 L129.2 57.3 L132.5 60.0 L135.7 62.4 L139.0 64.3 L142.8 65.9 L147.0 67.3 L151.8 68.6 L156.9 70.2 L162.1 72.3 L167.0 75.0 L171.1 78.4 L174.1 82.4 L175.8 86.8 L176.0 91.4 L175.0 96.0Z M187.6 96.0 L185.0 101.2 L181.8 106.1 L178.6 110.6 L175.3 114.9 L172.2 119.0 L169.2 123.1 L166.1 127.1 L162.7 130.9 L158.9 134.5 L154.7 137.7 L150.0 140.5 L145.0 142.9 L139.8 144.8 L134.4 146.5 L129.0 148.0 L123.5 149.6 L117.9 151.3 L112.0 153.0 L105.7 154.7 L99.1 156.0 L92.1 156.8 L85.1 156.6 L78.3 155.3 L72.0 152.8 L66.6 149.1 L62.4 144.4 L59.4 139.1 L57.6 133.4 L56.6 127.8 L56.2 122.4 L55.8 117.5 L55.1 113.0 L53.9 108.8 L52.2 104.7 L50.0 100.4 L47.6 96.0 L45.5 91.2 L44.0 86.2 L43.3 80.9 L43.8 75.6 L45.4 70.5 L48.0 65.7 L51.4 61.2 L55.5 57.1 L59.9 53.3 L64.7 49.8 L69.7 46.5 L75.0 43.5 L80.6 40.8 L86.5 38.6 L92.8 37.1 L99.2 36.5 L105.7 36.9 L112.0 38.2 L117.9 40.3 L123.4 43.0 L128.4 45.9 L133.0 48.7 L137.4 51.3 L142.0 53.4 L146.9 55.1 L152.4 56.5 L158.4 57.9 L164.9 59.6 L171.3 61.9 L177.4 65.0 L182.7 69.0 L186.7 73.7 L189.2 79.0 L190.0 84.7 L189.4 90.4 L187.6 96.0Z' fill='none' stroke='%237EB253' stroke-opacity='.5' stroke-width='.7' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% 100% no-repeat;opacity:.7}
.connection-mark b{font-size:70px;color:var(--sage);font-weight:400;position:relative;z-index:2;line-height:1}


/* "01 / Our point of view": a blurred rural rainforest at dusk, held behind a near-white veil.
   The veil is strongest over the text column; lanterns sit only in the lower-left corner. */
.intro{position:relative;isolation:isolate;overflow:hidden}
.intro>*:not(.ppov-bg){position:relative}
.ppov-bg{position:absolute;inset:0;z-index:-1;pointer-events:none;background:#fff}
.ppov-bg img{display:block;width:100%;height:100%;object-fit:cover;object-position:left bottom}
.ppov-bg:after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 44% 52% at 66% 48%,rgba(255,255,255,.88) 55%,rgba(255,255,255,0) 100%),linear-gradient(rgba(255,255,255,.84),rgba(255,255,255,.84))}
.intro-copy p{color:#4e6676}
@media(max-width:700px){.ppov-bg:after{background:linear-gradient(180deg,rgba(255,255,255,.9) 0,rgba(255,255,255,.9) 84%,rgba(255,255,255,0) 95%),linear-gradient(rgba(255,255,255,.85),rgba(255,255,255,.85))}}
.intro .section-label{color:#44606f}

/* Contact "bridge": a blue span from the left and a green span from the right glide in once,
   then rest overlapping behind the headline. Purely decorative; never intercepts clicks. */
.contact{position:relative;isolation:isolate;overflow:hidden}
.contact>*:not(.bridge){position:relative}
.bridge{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.bridge-arc{position:absolute;bottom:-58%;width:66%;aspect-ratio:1.25;border-radius:50%;opacity:0;filter:blur(22px);will-change:transform,opacity;transition:transform 3.2s cubic-bezier(.16,1,.3,1),opacity 2.4s ease}
.bridge-arc--blue{left:-12%;background:radial-gradient(closest-side,rgba(60,161,222,0) 56%,rgba(60,161,222,.5) 70%,rgba(60,161,222,.2) 84%,rgba(60,161,222,0) 100%);transform:translate3d(-48vw,4%,0) rotate(-5deg)}
.bridge-arc--green{right:-8%;background:radial-gradient(closest-side,rgba(126,178,83,0) 56%,rgba(110,160,70,.5) 70%,rgba(110,160,70,.2) 84%,rgba(110,160,70,0) 100%);transform:translate3d(48vw,4%,0) rotate(5deg);transition-delay:.2s}
.bridge-deck{position:absolute;left:6%;right:30%;top:30%;height:34%;border-radius:50%;background:linear-gradient(90deg,rgba(60,161,222,.32),rgba(255,255,255,.28) 50%,rgba(126,178,83,.32));filter:blur(40px);opacity:0;transform:scaleX(.2);transition:transform 2.6s cubic-bezier(.16,1,.3,1) 1.3s,opacity 2s ease 1.3s}
.contact.is-bridged .bridge-arc{opacity:.6;transform:none}
.contact.is-bridged .bridge-deck{opacity:.7;transform:none}
@media(max-width:700px){.bridge-arc{filter:none;width:120%;bottom:-30%;aspect-ratio:1.9;transition-duration:1.8s,1.4s}.bridge-arc--blue{left:-40%;background:radial-gradient(closest-side,rgba(60,161,222,0) 62%,rgba(60,161,222,.28) 76%,rgba(60,161,222,0) 92%)}.bridge-arc--green{right:-40%;background:radial-gradient(closest-side,rgba(110,160,70,0) 62%,rgba(110,160,70,.28) 76%,rgba(110,160,70,0) 92%)}.bridge-deck{filter:none;left:-10%;right:-10%;border-radius:0;background:radial-gradient(ellipse 50% 50% at 50% 50%,rgba(255,255,255,.2),rgba(150,200,190,.1) 55%,rgba(255,255,255,0) 100%);transition-delay:.6s}.contact.is-bridged .bridge-arc{opacity:.75}}
@media(prefers-reduced-motion:reduce){.bridge-arc,.bridge-deck{transition:none!important}}

/* "Who we are": founders, portrait beside a short introduction. */
.founders{max-width:1200px;margin:0 auto 5rem}
.founders>.section-label{margin-bottom:1.5rem}
.founder-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}
.founder{display:grid;grid-template-columns:minmax(0,17rem) minmax(0,1fr);gap:2.5rem;align-items:start;padding:1.75rem;background:var(--lx-bg-2,#fff);border:1px solid var(--lx-line,#d7e2e6)}
.founder img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center 25%}
.founder-text{min-width:0;max-width:62ch;padding-top:.25rem}
.founder-role{font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--lx-green,#5a7850)}
.founder h2{font-size:clamp(1.6rem,2.2vw,2.2rem);line-height:1.15;letter-spacing:-.02em;margin:.6rem 0 1rem;color:var(--lx-ivory,#294453)}
.founder-text p:not(.founder-role){font-size:15px;line-height:1.75;color:var(--lx-text,#526b78)}.founder-text p:not(.founder-role)+p{margin-top:.9rem}
@media(max-width:1000px){.founder{grid-template-columns:minmax(0,13rem) minmax(0,1fr);gap:1.75rem}}
@media(max-width:560px){.founder{grid-template-columns:1fr;padding:1.25rem}.founder img{max-width:20rem}.founders{margin-bottom:3.5rem}}

/* "How we operate": photo beside text, alternating left / right / left on desktop.
   Each photo sits in a soft frame; on narrow screens it becomes a landscape image above its text. */
.op-main{padding:8rem 6% 6rem}
.op-intro{max-width:1320px;margin:0 auto clamp(3rem,6vw,5rem)}
.op-intro p{max-width:38rem}
.op-block{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:start;max-width:1320px;margin:0 auto;padding-block:clamp(2rem,4.5vw,4rem)}
.op-block+.op-block{border-top:1px solid var(--lx-line,#d7e2e6)}
.op-block--flip .op-photo{order:2}
.op-photo{margin:0;padding:10px;border-radius:12px;background:var(--lx-bg-3,#eef3f4);border:1px solid var(--lx-line,#d7e2e6);box-shadow:0 24px 50px rgba(0,0,0,.28)}
.op-photo picture{display:block;overflow:hidden;border-radius:6px}
.op-photo img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
.op-copy{min-width:0;display:grid;gap:1.15rem;align-content:start}
.op-copy h2{font-size:clamp(1.9rem,3vw,2.8rem);line-height:1.12;letter-spacing:-.025em;text-wrap:balance;color:var(--lx-ivory,#294453);margin-bottom:.3rem}
.op-copy p{font-size:17px;line-height:1.85;color:var(--lx-text,#526b78);max-width:62ch}
.op-copy p.op-callout{max-width:36rem;margin-block:.4rem;padding-left:1.4rem;border-left:2px solid var(--lx-green,#5a7850);font-family:var(--lx-serif,Georgia,serif);font-style:italic;font-size:clamp(1.25rem,1.8vw,1.55rem);line-height:1.5;color:var(--lx-ivory,#294453)}
.op-callout strong{font-weight:500}
.op-cta{max-width:1320px;margin:clamp(2rem,5vw,4rem) auto 0;display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;border-top:1px solid var(--lx-line,#d7e2e6);padding-top:2rem}
.op-cta p{font-size:clamp(1.3rem,2vw,1.7rem);color:var(--lx-ivory,#294453)}
/* Scroll reveal: only when JS opts in and motion is allowed; content is visible otherwise. */
.op-anim .op-block .op-photo{opacity:0;transform:translateX(-24px);transition:opacity 1s ease,transform 1.3s cubic-bezier(.16,1,.3,1)}
.op-anim .op-block--flip .op-photo{transform:translateX(24px)}
.op-anim .op-block .op-copy{opacity:0;transform:translateY(24px);transition:opacity 1s ease .2s,transform 1.2s cubic-bezier(.16,1,.3,1) .2s}
.op-anim .op-block.is-in .op-photo,.op-anim .op-block.is-in .op-copy{opacity:1;transform:none}
@media(max-width:860px){
  .op-main{padding:4rem 5% 4rem}
  .op-block{grid-template-columns:1fr;gap:1.5rem;padding-block:2rem}
  .op-block--flip .op-photo{order:0}
  .op-photo{padding:6px;border-radius:10px}
  .op-photo img{aspect-ratio:3/2}
  .op-copy p{font-size:16px}
  .op-anim .op-block .op-photo,.op-anim .op-block--flip .op-photo{transform:translateY(18px)}
}

/* FAQs: a quiet accordion; native <details> so it works without script and with the keyboard. */
.faq-list{max-width:1000px;margin:0 auto;border-top:1px solid var(--lx-line,#d7e2e6)}
.faq{border-bottom:1px solid var(--lx-line,#d7e2e6)}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.5rem 0;cursor:pointer;list-style:none;font-family:Manrope,'DM Sans',Arial,sans-serif;font-size:clamp(1.1rem,1.6vw,1.35rem);font-weight:500;letter-spacing:-.01em;color:var(--lx-ivory,#294453)}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--lx-green,#5a7850)}
.faq-icon{position:relative;flex:0 0 auto;width:14px;height:14px}
.faq-icon:before,.faq-icon:after{content:'';position:absolute;left:0;top:50%;width:14px;height:1.5px;background:currentColor;transition:transform .25s ease}
.faq-icon:after{transform:rotate(90deg)}
.faq[open] .faq-icon:after{transform:rotate(0)}
.faq-answer{padding:0 2.5rem 1.6rem 0}
.faq-answer p{font-size:16px;line-height:1.8;color:var(--lx-text,#526b78);max-width:62ch}
.faq-cta{max-width:1000px;margin:3rem auto 0;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}
.faq-cta p{font-size:clamp(1.2rem,1.8vw,1.5rem);color:var(--lx-ivory,#294453)}
@media(prefers-reduced-motion:reduce){.faq-icon:before,.faq-icon:after{transition:none}}

/* Header: Client Login sits beside "Let's talk" in the top-right corner. */
.header-actions{display:flex;align-items:center;gap:12px;flex:0 0 auto}
.nav-login{display:inline-flex;align-items:center;gap:.55rem;padding:16px 20px;border:1px solid var(--lx-line-strong,rgba(41,68,83,.3));border-radius:3px;font-size:14px;letter-spacing:.02em;color:var(--lx-ivory,#294453);white-space:nowrap;transition:border-color .2s ease,background-color .2s ease}
.nav-login svg{width:15px;height:15px;flex:0 0 auto}
.nav-login:hover,.nav-login:focus-visible{border-color:var(--lx-green,#5a7850);background:rgba(166,207,132,.08)}
.nav-cta{white-space:nowrap}
.nav-login-mobile{display:none}
@media(max-width:1180px) and (min-width:701px){header{gap:16px}.site-links{gap:18px}.nav-login{padding:12px 14px;font-size:13px}.nav-cta{padding:12px 16px;font-size:13px}.wordmark img{width:170px}}
@media(max-width:860px) and (min-width:701px){.nav-login span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.nav-login{padding:11px 12px}.site-links{font-size:14px;gap:14px}}
@media(max-width:700px){.header-actions .nav-login{display:none}.nav-login-mobile{display:block;margin-top:6px;padding-top:16px;border-top:1px solid var(--lx-line,#d7e2e6);font-weight:600}}
@media(prefers-reduced-motion:reduce){.nav-login{transition:none}}
/* Header: Client Login sits alone at the far right (Let's talk removed) */
.header-actions{margin-left:auto}
@media(max-width:700px){.header-actions .nav-login{display:inline-flex;padding:10px 12px;font-size:12.5px;gap:.45rem}.nav-login-mobile{display:none}.header-actions{margin-right:12px}}
/* Project brief: secondary login option */
.brief-alt{margin-top:22px}
.brief-or{display:flex;align-items:center;gap:14px;margin:0 0 16px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--lx-muted,#657e91)}
.brief-or::before,.brief-or::after{content:'';flex:1;height:1px;background:var(--lx-line,#d7e2e6)}
.brief-login{display:flex;justify-content:space-between;align-items:center;width:100%;padding:15px 20px;border:1px solid var(--lx-line-strong,rgba(226,232,222,.28));border-radius:3px;font-size:13px;letter-spacing:.02em;color:var(--lx-ivory,#294453);transition:border-color .2s ease,background-color .2s ease}
.brief-login:hover,.brief-login:focus-visible{border-color:var(--lx-green,#5a7850);background:rgba(166,207,132,.08)}
.brief-login span{display:inline-block;transition:transform 180ms ease}
.brief-login:hover span,.brief-login:focus-visible span{transform:translateX(3px)}
/* Who we are: staff contact lines */
.founder-contact{list-style:none;margin:1.5rem 0 0;padding:1.1rem 0 0;border-top:1px solid var(--lx-line,#d7e2e6);display:grid;gap:.6rem}
.founder-contact li,.founder-contact a{display:flex;align-items:center;gap:.65rem;min-width:0;font-size:14px;line-height:1.5;color:var(--lx-muted,#657e91);overflow-wrap:anywhere}
.founder-contact li:not(.is-set) span{font-style:italic}
.founder-contact svg{width:15px;height:15px;flex:0 0 auto;color:var(--lx-green,#5a7850)}
.founder-contact a{color:var(--lx-ivory,#294453);text-decoration:underline;text-decoration-color:rgba(166,207,132,.45);text-underline-offset:.3em}
.founder-contact a:hover,.founder-contact a:focus-visible{text-decoration-color:var(--lx-lime,#d7edac)}
@media(prefers-reduced-motion:reduce){.brief-login,.brief-login span{transition:none}.brief-login:hover span{transform:none}}
/* FAQs: category cards + question panels */
.faq-hub{max-width:1000px;margin:0 auto;scroll-margin-top:110px}
.faq-cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.faq-cards li{display:flex;min-width:0}
.faq-card{flex:1;min-width:0;min-height:180px;display:flex;flex-direction:column;align-items:flex-start;padding:22px 22px 20px;text-align:left;font:inherit;color:var(--lx-ivory,#294453);background:linear-gradient(155deg,var(--lx-bg-3,#fff),var(--lx-bg-2,#f7fafb));border:1px solid var(--lx-line,#d7e2e6);border-radius:14px;cursor:pointer;transition:border-color .25s ease,transform .25s ease,background-color .25s ease,box-shadow .25s ease}
.faq-card svg{width:24px;height:24px;flex:0 0 auto;margin-bottom:auto;fill:none;stroke:var(--lx-green,#5a7850);stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.faq-card-title{margin-top:1.75rem;font-family:var(--lx-serif,Georgia,serif);font-size:1.5rem;font-weight:500;line-height:1.1;letter-spacing:-.005em;overflow-wrap:anywhere}
.faq-card-count{margin-top:.55rem;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--lx-muted,#657e91)}
.faq-card:hover{border-color:var(--lx-line-strong,rgba(41,68,83,.3));transform:translateY(-2px);box-shadow:0 14px 30px rgba(0,0,0,.25)}
.faq-card:focus-visible{outline:2px solid var(--lx-lime,#5a7850);outline-offset:3px}
.faq-card.is-active{border-color:var(--lx-green,#5a7850);box-shadow:inset 0 0 0 1px var(--lx-green,#5a7850);background:linear-gradient(155deg,rgba(166,207,132,.1),var(--lx-bg-2,#f7fafb))}
.faq-panels{margin-top:3rem}
.faq-panel{scroll-margin-top:110px}
.faq-hub:not(.faq-js) .faq-panel+.faq-panel{margin-top:3.5rem}
.faq-hub:not(.faq-js) .faq-back{display:none}
.faq-js .faq-panel:not([hidden]){animation:faq-in .4s ease both}
.faq-panel-head{display:flex;flex-direction:column;align-items:flex-start;gap:1.1rem;margin-bottom:1.25rem}
.faq-panel h2{letter-spacing:-.005em;font-family:var(--lx-serif,Georgia,serif);font-size:clamp(2rem,3.4vw,2.8rem);font-weight:500;line-height:1.05;color:var(--lx-ivory,#294453);outline:none}
.faq-back{display:inline-flex;align-items:center;gap:.5rem;padding:9px 16px;background:none;border:1px solid var(--lx-line-strong,rgba(41,68,83,.3));border-radius:999px;font:inherit;font-size:13px;letter-spacing:.02em;color:var(--lx-text,#526b78);cursor:pointer;transition:border-color .2s ease,color .2s ease}
.faq-back:hover,.faq-back:focus-visible{border-color:var(--lx-green,#5a7850);color:var(--lx-ivory,#294453)}
.faq[open] .faq-answer{animation:faq-in .3s ease both}
.faq-answer a{color:var(--lx-ivory,#294453);text-decoration:underline;text-decoration-color:rgba(166,207,132,.5);text-underline-offset:.25em}
.faq-answer a:hover{text-decoration-color:var(--lx-lime,#5a7850)}
.faq-answer strong{font-weight:600;color:var(--lx-ivory,#294453)}
.faq-answer .fill{background:rgba(224,190,110,.18);color:#f1d79b;padding:0 .2em;border-radius:2px}
@keyframes faq-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:900px){.faq-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.faq-cards{gap:12px}.faq-card{min-height:156px;padding:18px 16px 16px;border-radius:12px}.faq-card-title{font-size:1.28rem;margin-top:1.25rem}.faq-card-count{letter-spacing:.12em}}
@media(prefers-reduced-motion:reduce){.faq-card,.faq-back{transition:none}.faq-card:hover{transform:none}.faq-js .faq-panel:not([hidden]),.faq[open] .faq-answer{animation:none}}
