@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#102b4b;--deep:#09213b;--orange:#ee7426;--ink:#172c43;--muted:#5c6877;--line:#dce2e8;--pale:#f4f6f8;--white:#fff;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:#fff;font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.7}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:Manrope,Arial,sans-serif;line-height:1.15;letter-spacing:-.04em}h1{font-size:clamp(2.9rem,5vw,4.8rem);font-weight:650}h2{font-size:clamp(2rem,3.3vw,3.2rem);font-weight:600}h3{font-size:1.3rem;font-weight:650;letter-spacing:-.025em}p{color:var(--muted)}.wrap{max-width:var(--max);width:calc(100% - 96px);margin:auto}.section{padding:100px 0}.eyebrow{display:flex;align-items:center;gap:12px;color:var(--navy);font-size:.78rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;margin-bottom:24px}.eyebrow:before{content:'';width:27px;height:2px;background:var(--orange)}.btn{display:inline-flex;justify-content:center;align-items:center;gap:20px;min-height:50px;padding:13px 24px;font-size:.92rem;font-weight:700;background:var(--orange);color:#fff;border:1px solid var(--orange);transition:background .2s,transform .2s}.btn:hover{background:#ff8b3a;transform:translateY(-2px)}.btn svg,.text-link svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6}.btn-outline{background:transparent;border-color:var(--line);color:var(--navy)}.btn-outline:hover{background:var(--pale)}.text-link{display:inline-flex;align-items:center;gap:14px;font-size:.93rem;font-weight:700;border-bottom:1px solid currentColor;padding:7px 0}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line)}.header-inner{height:90px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center}.brand img{width:74px;height:74px;object-fit:contain}.brand-label{font-family:Manrope,sans-serif;font-size:1.2rem;line-height:1.15;font-weight:800;letter-spacing:-.05em}.brand-label small{display:block;font-family:'DM Sans',sans-serif;font-size:.63rem;letter-spacing:.12em;font-weight:500;margin-top:5px}.nav{display:flex;align-items:center;gap:30px}.nav a{font-size:.9rem;font-weight:500;position:relative}.nav a[aria-current]{color:var(--navy)}.nav a[aria-current]:after{content:'';position:absolute;left:0;bottom:-9px;height:2px;width:100%;background:var(--orange)}.nav .btn{font-size:.86rem}.menu-toggle{display:none}.skip{position:fixed;z-index:99;left:16px;top:-60px;background:#fff;padding:10px}.skip:focus{top:10px}:focus-visible{outline:3px solid var(--orange);outline-offset:5px}.hero{padding:45px 0 65px}.breadcrumb{font-size:.78rem;color:var(--muted);margin-bottom:35px}.breadcrumb span{margin:0 10px;color:#87929f}.hero-grid{display:grid;grid-template-columns:1fr 1.06fr;gap:72px;align-items:center}.hero h1 span{color:#b94b05}.hero-copy>p{font-size:1.1rem;line-height:1.75;max-width:490px;margin-top:28px}.hero-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin-top:32px}.hero-picture{position:relative}.hero-picture img{width:100%;height:560px;object-fit:cover}.photo-caption{font-size:.75rem;color:var(--muted);margin-top:10px;display:flex;align-items:center;justify-content:space-between;gap:12px}.photo-caption span:last-child{color:var(--navy);font-weight:600}.hero-note{margin-top:40px;display:flex;align-items:center;gap:13px;font-size:.8rem;color:var(--muted)}.hero-note svg{width:21px;height:21px;fill:none;stroke:var(--navy);stroke-width:1.4}.trust{background:var(--navy);color:#fff}.trust-inner{display:grid;grid-template-columns:repeat(4,1fr);padding:30px 0}.trust-item{padding:0 32px;border-right:1px solid #40546e}.trust-item:first-child{padding-left:0}.trust-item:last-child{border:0}.trust-item strong{display:block;font-family:Manrope,sans-serif;font-size:1.55rem;font-weight:600;line-height:1.3}.trust-item span{font-size:.78rem;color:#c8d2de}.intro-grid{display:grid;grid-template-columns:.95fr 1fr;gap:110px}.intro-grid h2{max-width:450px}.prose p+p{margin-top:20px}.prose .lead{font-size:1.25rem;line-height:1.65;color:var(--navy);margin-bottom:20px}.story-image{margin-top:52px}.story-image img{width:100%;max-height:590px;object-fit:cover}.mission{background:var(--pale)}.mission-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:80px;align-items:center}.mission blockquote{font-family:Manrope,sans-serif;font-size:clamp(1.6rem,2.5vw,2.5rem);line-height:1.45;letter-spacing:-.04em;margin:0}.mission-right{padding-left:36px;border-left:1px solid #cbd4de}.mission-right p+p{margin-top:18px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:44px}.section-heading p{max-width:410px}.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.person-photo{background:var(--pale);aspect-ratio:4/4.7;overflow:hidden}.person-photo img{width:100%;height:100%;object-fit:cover;object-position:center 20%;transition:transform .5s}.person:hover img{transform:scale(1.035)}.person h3{font-size:1.12rem;margin-top:22px}.person p{font-size:.84rem;margin-top:6px}.team-detail{border-top:1px solid var(--line);margin-top:46px;padding-top:30px;display:grid;grid-template-columns:1fr 1fr;gap:65px}.team-detail h3{margin-bottom:12px}.founder{background:var(--navy);color:white}.founder-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.founder .eyebrow{color:#c6d3e1}.founder p{color:#c9d5e1;margin-top:24px}.founder h2{font-size:clamp(2rem,3vw,2.8rem)}.founder-image img{width:100%;object-fit:cover}.founder .signature{font-size:.84rem;color:#fff;margin-top:24px}.signature span{display:block;color:#aebfd2;font-size:.77rem}.services{background:white}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}.service{border-top:2px solid var(--navy);padding-top:24px}.service-number{font-size:.78rem;color:#a1420a;margin-bottom:25px;display:block}.service h3{font-size:1.5rem;max-width:260px;margin-bottom:18px}.service p{font-size:.95rem}.service .text-link{margin-top:25px}.process{margin-top:62px;border-top:1px solid var(--line);padding-top:40px}.process h3{margin-bottom:28px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}.step strong{font-size:.9rem}.step span{color:#a1420a;font-size:.8rem;margin-right:9px}.step p{font-size:.86rem;line-height:1.6;margin-top:9px}.quality{background:var(--pale)}.quality-grid{display:grid;grid-template-columns:.9fr 1fr;gap:100px}.quality-left p{margin-top:24px}.quality-list article{padding:25px 0;border-top:1px solid #cdd6df;display:grid;grid-template-columns:30px 1fr;gap:18px}.quality-list article:first-child{padding-top:0;border:0}.quality-list h3{font-size:1.14rem;margin-bottom:9px}.quality-list p{font-size:.92rem}.quality-list svg{width:25px;height:25px;fill:none;stroke:#b5500d;stroke-width:1.5}.customer-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:20px}.customer img{width:100%;height:310px;object-fit:cover}.customer figcaption{font-size:.82rem;padding-top:13px;color:var(--muted)}.customer-grid .customer:first-child img{object-position:50% 45%}.experience{margin-top:80px;display:grid;grid-template-columns:1fr 1fr;background:var(--pale);align-items:center}.experience-image img{width:100%;height:420px;object-fit:cover}.experience-copy{padding:45px 48px}.experience-copy h2{font-size:2.2rem}.experience-copy p{font-size:.97rem;margin:20px 0 24px}.experience-copy .eyebrow{font-size:.72rem;margin-bottom:18px}.contact-banner{background:var(--orange);padding:66px 0}.contact-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}.contact-inner h2{font-size:clamp(2rem,3vw,3rem);max-width:670px}.contact-inner p{color:var(--deep);margin-top:16px}.contact-inner .btn{background:var(--navy);border-color:var(--navy);color:white;white-space:nowrap}.contact-inner .btn:hover{background:var(--deep)}.footer{padding:70px 0 24px;background:var(--deep);color:#fff}.footer-grid{display:grid;grid-template-columns:1.6fr .8fr 1.1fr;gap:90px}.footer h3{font-size:1rem;margin-bottom:18px;letter-spacing:0}.footer p,.footer a{font-size:.89rem;color:#bfcede}.footer .footer-brand{font-family:Manrope,sans-serif;font-size:1.6rem;color:#fff;font-weight:700;letter-spacing:-.04em}.footer .footer-brand span{color:var(--orange)}.footer-about p{margin-top:18px;max-width:330px}.footer-links{display:flex;flex-direction:column;gap:10px}.footer-contact a{display:block;margin-top:7px}.footer-bottom{margin-top:50px;padding-top:25px;border-top:1px solid #2b4058;display:flex;justify-content:space-between;gap:20px;font-size:.76rem;color:#aebdd0}.footer-bottom a{font-size:.76rem}.mobile-contact{display:none}@media(min-width:1500px){.hero-picture img{height:600px}}@media(max-width:1050px){.wrap{width:calc(100% - 56px)}.nav{gap:18px}.hero-grid{gap:40px}.hero-picture img{height:510px}.brand-label{display:none}.intro-grid,.quality-grid{gap:60px}.founder-grid{gap:50px}.footer-grid{gap:50px}.experience-copy{padding:32px}.team-grid{gap:18px}.person h3{font-size:1rem}}@media(max-width:760px){html{scroll-padding-top:85px}.wrap{width:calc(100% - 40px)}.section{padding:64px 0}.header-inner{height:76px}.brand img{width:61px;height:61px}.brand-label{display:block;font-size:1.05rem}.brand-label small{font-size:.57rem}.menu-toggle{display:flex;align-items:center;justify-content:center;background:none;border:1px solid var(--line);width:44px;height:44px}.menu-toggle svg{width:23px;height:23px;fill:none;stroke:var(--navy);stroke-width:1.7}.nav{display:none;position:absolute;top:75px;left:0;right:0;background:#fff;padding:22px 24px 28px;border-bottom:1px solid var(--line);box-shadow:0 10px 15px #102b4b0d}.nav.open{display:flex;flex-direction:column;align-items:stretch;gap:23px}.nav a[aria-current]:after{width:38px}.nav .btn{margin-top:4px}.hero{padding:25px 0 37px}.breadcrumb{margin-bottom:29px}.hero-grid,.intro-grid,.mission-grid,.founder-grid,.quality-grid{grid-template-columns:1fr;gap:36px}.hero h1{max-width:500px;font-size:clamp(2.8rem,11vw,4rem)}.hero-copy>p{font-size:1rem;max-width:100%;margin-top:22px}.eyebrow{margin-bottom:18px;font-size:.72rem}.hero-actions{gap:20px;margin-top:27px}.hero-note{margin-top:25px;font-size:.76rem}.hero-picture img{height:390px}.hero-picture{margin-top:2px}.photo-caption{font-size:.7rem}.trust-inner{grid-template-columns:1fr 1fr;gap:25px 0;padding:29px 0}.trust-item{padding:0 20px}.trust-item:nth-child(3){padding-left:0}.trust-item:nth-child(2){border:0}.trust-item strong{font-size:1.3rem}.trust-item span{font-size:.73rem}.intro-grid h2{max-width:none}.prose .lead{font-size:1.1rem}.story-image{margin-top:33px}.story-image img{min-height:180px}.mission-right{padding-left:0;border-left:0;border-top:1px solid #ccd6df;padding-top:28px}.mission blockquote{font-size:1.65rem}.section-heading{align-items:flex-start;flex-direction:column;gap:22px;margin-bottom:30px}.section-heading p{max-width:none}.team-grid{grid-template-columns:1fr 1fr;gap:30px 16px}.person-photo{aspect-ratio:4/5}.person h3{font-size:.97rem;margin-top:15px;line-height:1.35}.person p{font-size:.76rem;line-height:1.6}.team-detail{grid-template-columns:1fr;gap:28px;margin-top:34px}.team-detail p{font-size:.94rem}.founder-grid{gap:30px}.founder-image{order:2}.service-grid{grid-template-columns:1fr;gap:34px}.service-number{margin-bottom:15px}.service h3{max-width:none}.service p{max-width:none}.service .text-link{margin-top:16px}.process{margin-top:40px;padding-top:30px}.steps{grid-template-columns:1fr 1fr;gap:27px 22px}.quality-grid{gap:40px}.customer-grid{grid-template-columns:1fr;gap:25px}.customer img{height:auto;max-height:420px;object-fit:contain}.customer figcaption{padding-top:10px}.experience{grid-template-columns:1fr;margin-top:50px}.experience-image img{height:280px}.experience-copy{padding:30px 25px 35px}.experience-copy h2{font-size:1.85rem}.contact-banner{padding:46px 0}.contact-inner{align-items:flex-start;flex-direction:column;gap:25px}.footer{padding:50px 0 88px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px 20px}.footer-about{grid-column:1/-1}.footer-about p{max-width:none}.footer-contact a{overflow-wrap:anywhere}.footer-bottom{flex-direction:column;gap:9px;margin-top:35px}.mobile-contact{position:fixed;z-index:19;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr 1.3fr;background:var(--navy);box-shadow:0 -2px 12px #0b274721;padding-bottom:env(safe-area-inset-bottom)}.mobile-contact a{font-size:.88rem;font-weight:700;min-height:54px;display:flex;align-items:center;justify-content:center;color:#fff}.mobile-contact a:last-child{background:var(--orange);color:#fff}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* About-page editorial details. */
.hero-picture img{height:auto;object-fit:contain;aspect-ratio:1536/1024}
.hero-picture:before{content:'';position:absolute;inset:-14px -14px auto auto;width:80px;height:80px;border-top:1px solid var(--orange);border-right:1px solid var(--orange);z-index:-1}
.photo-footnote{margin-top:28px;border-top:1px solid var(--line);padding-top:23px;display:flex;align-items:flex-start;justify-content:space-between;gap:25px}
.photo-footnote>span{font-family:Manrope,sans-serif;font-size:1.2rem;font-weight:600;line-height:1.45;max-width:140px;letter-spacing:-.025em}
.photo-footnote p{font-size:.88rem;line-height:1.65}
.founder-story-inline{margin-top:58px;background:var(--navy);color:white;padding:42px 48px;display:grid;grid-template-columns:.8fr 1.4fr;gap:60px}
.founder-story-inline .eyebrow{color:#c5d5e6;font-size:.7rem;margin-bottom:17px}
.founder-story-inline h3{font-size:1.65rem;line-height:1.4;letter-spacing:-.035em}
.founder-story-inline p{color:#d1dce7;font-size:1rem;line-height:1.8}
.founder-byline{display:block;font-size:.8rem;font-weight:600;margin-top:20px;color:white}
.founder-byline span{color:#b9c9d9;font-weight:400}
.mission blockquote span{color:#b34a0b}
.experience-simple{margin-top:50px;background:var(--pale);padding:36px 40px;display:flex;align-items:center;justify-content:space-between;gap:45px;border-left:3px solid var(--orange)}
.experience-simple .eyebrow{font-size:.7rem;margin-bottom:15px}
.experience-simple h3{font-size:1.55rem}
.experience-simple p{margin-top:12px;max-width:690px;font-size:1rem}
.experience-simple .btn{flex-shrink:0;white-space:nowrap;background:white}
.services{border-top:1px solid var(--line)}
.customer-grid{grid-template-columns:repeat(3,1fr);align-items:start}
.customer img{height:auto;aspect-ratio:3/2;object-fit:contain;background:var(--pale)}
.service p,.step p,.quality-list p,.team-detail p,.footer p{font-size:1rem}
.footer-about p{font-size:.95rem}
@media(max-width:1050px){.photo-footnote{gap:15px}.founder-story-inline{padding:35px;gap:40px}.experience-simple{padding:30px;gap:25px}}
@media(max-width:760px){.hero-picture img{height:auto;aspect-ratio:1536/1024}.hero-picture:before{inset:-9px -9px auto auto;width:50px;height:50px}.photo-footnote{margin-top:19px;padding-top:19px}.photo-footnote>span{font-size:1.1rem;max-width:none}.photo-footnote p{font-size:.8rem}.founder-story-inline{grid-template-columns:1fr;gap:24px;margin-top:37px;padding:30px 25px}.founder-story-inline h3{font-size:1.55rem}.founder-story-inline h3 br{display:none}.experience-simple{flex-direction:column;align-items:flex-start;padding:30px 25px;gap:25px;margin-top:35px}.experience-simple h3{font-size:1.4rem}.experience-simple .btn{white-space:normal}.customer-grid{grid-template-columns:1fr}.customer img{height:auto;aspect-ratio:auto}.photo-caption span:last-child{font-size:.62rem}.footer-contact a{font-size:.86rem}}

/* White text on orange section backgrounds. */
.contact-banner:not(.surface-white) :is(h2,p){color:#fff}


/* Expanded About Us content and native, keyboard-accessible disclosures. */
.hero .hero-about-heading{font-size:clamp(4rem,7.4vw,6.6rem);font-weight:700;line-height:1.06;letter-spacing:-.05em}
.hero-copy>.hero-about-statement{font-family:Manrope,Arial,sans-serif;font-size:clamp(1.2rem,1.8vw,1.55rem);font-weight:500;line-height:1.55;letter-spacing:-.025em;color:var(--navy);margin-top:22px;max-width:440px}
.hero-about-statement+p{margin-top:18px}
@media(max-width:760px){.hero .hero-about-heading{font-size:clamp(3.6rem,13vw,5rem)}.hero-copy>.hero-about-statement{font-size:1.22rem;max-width:340px;margin-top:20px}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.prose p{font-size:1rem;line-height:1.8}
.readmore{margin-top:10px}
.readmore>summary{display:inline-flex;align-items:center;gap:15px;min-height:44px;padding:6px 0;cursor:pointer;list-style:none;color:var(--navy);font-weight:700;font-size:.9rem;border-bottom:1px solid currentColor}
.readmore>summary::-webkit-details-marker,.faq-item>summary::-webkit-details-marker{display:none}
.label-less{display:none}
.readmore[open]>summary>.label-more{display:none}
.readmore[open]>summary>.label-less{display:inline}
.disclosure-sign{position:relative;flex-shrink:0;width:14px;height:14px;color:currentColor}
.disclosure-sign:before,.disclosure-sign:after{content:'';position:absolute;background:currentColor;left:0;top:6px;width:14px;height:2px}
.disclosure-sign:after{transform:rotate(90deg);transition:transform .2s}
details[open]>summary>.disclosure-sign:after{transform:rotate(0deg)}
.readmore-content{padding-top:20px}
.readmore-content p+p{margin-top:18px}
.collapse-details{min-height:44px;border:0;border-bottom:1px solid currentColor;padding:8px 0;margin-top:20px;background:none;color:inherit;cursor:pointer;font-size:.9rem;font-weight:700}
.readmore>summary:hover,.collapse-details:hover{color:#ac4607}
.complete-story-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-top:50px;padding-top:40px;border-top:1px solid var(--line);align-items:start}
.complete-story-grid h3{font-size:1.55rem;line-height:1.35;margin-bottom:23px}
.founder-story-inline{align-items:start}
.founder-story-inline .readmore>summary{color:#fff}
.founder-story-inline .readmore>summary:hover{color:#ffb279}
.founder-story-inline .founder-byline{line-height:1.8}
.founder-story-inline .readmore-content p:first-child{margin-top:0}
.mission-grid{align-items:start}
.mission blockquote{font-size:clamp(1.7rem,2.35vw,2.35rem);line-height:1.5}
.milestone-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;padding:0;margin:0;gap:32px}
.milestone-grid li{border-top:2px solid var(--orange);padding-top:23px}
.milestone-grid strong{font-family:Manrope,Arial,sans-serif;font-size:2.7rem;font-weight:600;letter-spacing:-.05em;line-height:1.2;color:var(--navy)}
.milestone-grid p{font-size:1rem;line-height:1.65;margin-top:16px}
.milestone-grid .planned-milestone{border-top-style:dashed}
.glance-title{margin-top:45px;font-size:1.15rem}
.glance-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;margin:20px 0 0;padding:0;gap:15px 28px}
.glance-list li{border-left:2px solid var(--orange);padding-left:15px;font-size:.94rem;line-height:1.6}
#our-team{border-top:1px solid var(--line)}
.team-intro,.service-intro{max-width:470px}
.team-detail{align-items:start}
.experience-simple{align-items:flex-start}
.experience-full{width:100%}
.experience-full h3{max-width:900px;line-height:1.35;font-size:1.75rem}
.experience-full .prose{max-width:940px;margin-top:22px}
.experience-full p{max-width:none}
.experience-actions{display:flex;align-items:center;flex-wrap:wrap;gap:22px;margin-top:25px}
.service-grid{align-items:start}
.service h3{min-height:3.2em}
.service .readmore-content p{font-size:1rem}
.expertise-complete{margin-top:55px;border-top:1px solid var(--line);padding-top:34px}
.expertise-complete h3{font-size:1.55rem}
.expertise-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 32px;padding:0;margin:25px 0 0;list-style:none}
.expertise-list li{position:relative;border-bottom:1px solid var(--line);padding:16px 0 16px 22px;font-size:.94rem;line-height:1.6}
.expertise-list li:before{content:'';position:absolute;width:6px;height:6px;left:0;top:25px;background:var(--orange)}
.quality-grid{align-items:start}
.quality-left .prose{margin-top:25px}
.quality-left .prose p{margin-top:0}
.quality-left .readmore-content p+p{margin-top:18px}
.quality-list h3{font-size:1.25rem}
.why-list{padding-left:20px;margin:0}
.why-list li+li{margin-top:18px}
.why-list li{font-size:1rem;color:var(--muted);line-height:1.8;padding-left:4px}
.gallery-more{margin-top:28px}
.full-customer-gallery{row-gap:24px}
.full-customer-gallery img{width:100%;height:auto;max-height:none;aspect-ratio:auto}
.videos-section{background:var(--pale)}
.video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.video-frame{position:relative;aspect-ratio:16/9;background:var(--navy)}
.video-frame iframe{position:absolute;width:100%;height:100%;border:0;inset:0}
.video-card h3{font-size:1.05rem;line-height:1.5;letter-spacing:-.02em;margin-top:18px}
.social-actions{display:flex;gap:30px;flex-wrap:wrap;margin-top:32px}
.faq-grid{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:0 48px}
.faq-item{border-top:1px solid var(--line)}
.faq-item>summary{list-style:none;cursor:pointer;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:23px 0;color:var(--navy);font-weight:600;font-size:1.05rem;line-height:1.55}
.faq-item>summary .disclosure-sign{margin-top:6px}
.faq-item[open]>summary{color:#a64307}
.faq-answer{padding:0 28px 26px 0}
.faq-answer p{font-size:1rem;line-height:1.8}
.contact-prose{max-width:730px;margin-top:25px}
.contact-inner{align-items:flex-start}
.contact-inner>.btn{margin-top:44px}
.contact-banner .eyebrow{font-size:.75rem;margin-bottom:20px;color:var(--navy)}
.contact-banner .eyebrow:before{background:var(--navy)}
.contact-banner .prose p{color:var(--navy)}
.contact-banner .readmore>summary:hover{color:var(--deep)}
.footer-services{border-top:1px solid #2b4058;margin-top:40px;padding-top:30px}
.footer-services ul{display:flex;flex-wrap:wrap;gap:10px 25px;list-style:none;padding:0;margin:0;color:#bfcede;font-size:.9rem}
.footer-socials{display:flex;flex-wrap:wrap;gap:16px 26px;margin-top:28px}
.footer-socials a{color:white;border-bottom:1px solid #52647a;padding-bottom:5px}
@media(max-width:1050px){.complete-story-grid{gap:40px}.milestone-grid{gap:24px}.expertise-list{grid-template-columns:1fr 1fr}.section-heading{align-items:flex-start}.video-grid{gap:16px}.faq-grid{gap:0 32px}}
@media(max-width:760px){.complete-story-grid{grid-template-columns:1fr;gap:30px;margin-top:34px;padding-top:30px}.complete-story-grid h3{font-size:1.35rem;margin-bottom:17px}.team-intro,.service-intro{max-width:none}.readmore>summary{font-size:.9rem}.readmore-content{padding-top:17px}.mission blockquote{font-size:1.7rem}.milestone-grid{grid-template-columns:1fr 1fr;gap:30px 23px}.milestone-grid strong{font-size:2.2rem}.milestone-grid p{font-size:.94rem}.glance-list{grid-template-columns:1fr;gap:18px}.glance-title{margin-top:33px}.experience-full h3{font-size:1.5rem}.experience-actions{align-items:flex-start;flex-direction:column}.service h3{min-height:0}.expertise-complete{margin-top:40px;padding-top:30px}.expertise-list{grid-template-columns:1fr;gap:0}.expertise-complete h3{font-size:1.4rem}.quality-left .prose{margin-top:22px}.video-grid{grid-template-columns:1fr;gap:32px}.video-card h3{font-size:1rem;margin-top:14px}.social-actions{gap:18px;margin-top:30px}.faq-grid{grid-template-columns:1fr;gap:0}.faq-item>summary{font-size:1rem;padding:21px 0}.faq-answer{padding:0 8px 24px 0}.contact-prose{margin-top:20px}.contact-inner>.btn{margin-top:0}.footer-services ul{gap:10px 20px}.footer-services{margin-top:32px}.full-customer-gallery{gap:20px}}
@media print{.readmore>summary,.collapse-details,.menu-toggle,.mobile-contact{display:none!important}.readmore:not([open])>.readmore-content,.faq-item:not([open])>.faq-answer{display:block!important}}


/* Original About Us imagery, paired with its corresponding text. */
.section-image{margin:0;min-width:0}
.section-image-frame{overflow:hidden;background:var(--pale)}
.section-image img{display:block;width:100%;height:auto;max-width:100%}
.section-image figcaption{font-size:.8rem;line-height:1.5;color:var(--muted);margin-top:12px}
.illustrated-intro{grid-template-columns:.9fr 1.1fr;gap:65px;align-items:center}
.illustrated-intro-copy h2{font-size:clamp(2rem,3.1vw,3.1rem);max-width:none}
.illustrated-intro-copy>.prose{margin-top:26px}
.image-planning .section-image-frame{aspect-ratio:5/4}
.image-planning img{height:100%;object-fit:cover;object-position:right center}
.illustrated-founder{grid-template-columns:.8fr 1.25fr;gap:48px;padding:42px;align-items:start}
.image-founder .section-image-frame{background:var(--deep)}
.image-founder img{height:auto;object-fit:contain}
.founder-text h3{font-size:1.9rem}
.founder-text>.prose{margin-top:26px}
.founder-text>.prose>p:first-child{margin-top:0}
.illustrated-mission{grid-template-columns:.9fr 1.1fr;gap:65px;align-items:center}
.illustrated-mission .mission-right{border-left:0;padding-left:0;margin-top:26px}
.illustrated-mission blockquote{font-size:clamp(1.5rem,2vw,2rem);line-height:1.5}
.image-mission .section-image-frame{background:white}
.image-mission img{height:auto;object-fit:contain}
.illustrated-approach{gap:36px}
.illustrated-approach .section-image{margin-bottom:26px}
.illustrated-approach .section-image-frame{aspect-ratio:5/4}
.image-approach img{height:100%;object-fit:contain}
.service .section-image{margin-bottom:27px}
.image-service .section-image-frame{aspect-ratio:3/2;background:#f1f3f6}
.image-service img{height:100%;object-fit:contain}
.image-sustainability{margin-top:32px;max-width:440px}
.image-sustainability .section-image-frame{aspect-ratio:4/5}
.image-sustainability img{height:100%;object-fit:cover;object-position:left center}
.illustrated-contact{display:grid;grid-template-columns:1.25fr .85fr;gap:60px;align-items:center}
.illustrated-contact .contact-prose{max-width:none}
.illustrated-contact>div>.btn{margin-top:28px;background:var(--navy);border-color:var(--navy);color:white}
.image-outdoor .section-image-frame{aspect-ratio:1/1;background:var(--navy)}
.image-outdoor img{height:100%;object-fit:cover;object-position:right center}
.experience-illustrated{display:grid;grid-template-columns:.9fr 1.1fr;gap:38px;align-items:center}
.experience-illustrated>.section-image{width:100%;min-width:0}
.image-experience .section-image-frame{aspect-ratio:1/1;background:var(--navy)}
.image-experience img{height:100%;object-fit:cover;object-position:right center}
.experience-illustrated .experience-full{min-width:0}
.experience-illustrated .experience-full h3{font-size:clamp(1.5rem,2vw,1.85rem)}
.experience-illustrated .experience-actions{gap:18px}
@media(max-width:1050px){.experience-illustrated{gap:28px;grid-template-columns:.85fr 1.15fr;align-items:start}}
@media(max-width:760px){.experience-illustrated{grid-template-columns:1fr;gap:28px}.experience-illustrated>.section-image{max-width:460px;margin:0 auto}.experience-illustrated .experience-full h3{font-size:1.5rem}}
@media(max-width:1050px){.illustrated-intro,.illustrated-mission{gap:40px;align-items:start}.illustrated-founder{padding:32px;gap:35px;grid-template-columns:.85fr 1.15fr}.founder-text h3{font-size:1.65rem}.illustrated-contact{gap:35px}.illustrated-contact h2{font-size:2.25rem}}
@media(max-width:760px){.illustrated-intro,.illustrated-mission,.illustrated-founder,.illustrated-contact{grid-template-columns:1fr;gap:30px}.illustrated-intro>.section-image{order:2}.illustrated-intro-copy{order:1}.illustrated-intro-copy>.prose{margin-top:22px}.illustrated-intro-copy h2{font-size:2.05rem}.illustrated-founder{padding:26px;gap:28px}.illustrated-founder>.section-image{max-width:340px;width:100%;margin:0 auto}.founder-text h3{font-size:1.55rem}.founder-text>.prose{margin-top:22px}.illustrated-mission>.section-image{max-width:440px;width:100%;margin:auto}.illustrated-mission .mission-right{padding-top:24px;margin-top:24px}.illustrated-mission blockquote{font-size:1.5rem}.illustrated-approach .section-image{margin-bottom:22px}.illustrated-approach{gap:38px}.service .section-image{margin-bottom:23px}.image-sustainability{margin-top:28px;max-width:370px}.illustrated-contact h2{font-size:2rem}.illustrated-contact .section-image{max-width:440px;width:100%;margin:auto}.illustrated-contact>div>.btn{white-space:normal;text-align:center}.section-image figcaption{font-size:.78rem}}


/* About Us: visible strengths, attributed customer accounts and practical visit details. */
.about-strengths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:44px 0 28px;padding:30px 0;border-block:1px solid var(--line)}
.about-strengths article{position:relative;padding-left:38px;min-width:0}
.about-strengths article>span{position:absolute;left:0;top:1px;color:#a64307;font-size:.875rem;font-weight:700}
.about-strengths h3{font-size:1.1rem;line-height:1.5;letter-spacing:-.02em}
.about-strengths p{font-size:1rem;line-height:1.7;margin-top:9px}
.grouped-details{border-top:1px solid var(--line);padding-top:12px;margin-top:28px}
.grouped-details>summary{display:flex;justify-content:space-between;gap:22px;min-height:52px;padding:12px 0;border:0;font-size:1rem;line-height:1.5}
.grouped-details .readmore-content>p{line-height:1.8;margin-bottom:18px}
.grouped-details .complete-story-grid{margin-top:30px;padding-top:28px}
.grouped-details .complete-story-grid .prose p{margin-top:18px}
.story-preview{margin-top:28px}
.story-preview p+p{margin-top:18px}
.story-details .complete-story-grid{margin-top:0;padding-top:0;border-top:0}
.expanded-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 48px}
.expanded-columns.three-columns{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.expanded-columns h3{font-size:1.25rem;line-height:1.5;margin-bottom:18px}
.expanded-columns p,.expanded-columns li{font-size:1rem;line-height:1.8}
.quality-expansion{margin-top:30px}
.quality-grid{gap:64px}
.service h3{min-height:0}
.team-intro .readmore-content{padding:0}
.customer-reviews{background:var(--pale);border-block:1px solid var(--line)}
.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.review-card{background:white;border:1px solid var(--line);border-top:3px solid var(--orange);padding:28px;display:flex;flex-direction:column;min-width:0}
.review-person{display:flex;align-items:center;gap:17px}
.review-person img{width:66px;height:74px;object-fit:cover;object-position:center 24%;flex-shrink:0}
.review-person h3{font-size:1.125rem;line-height:1.45;letter-spacing:-.02em}
.review-person p{font-size:.875rem;line-height:1.6;margin-top:5px}
.review-project{font-size:.875rem;line-height:1.6;color:var(--muted);padding:17px 0;margin-top:20px;border-block:1px solid var(--line)}
.review-card blockquote{margin:22px 0 26px;font-family:Manrope,Arial,sans-serif;font-size:1.4rem;line-height:1.6;letter-spacing:-.025em;color:var(--navy)}
.review-links{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:auto}
.review-links a{min-height:44px;display:inline-flex;align-items:center}
.source-link{font-size:.875rem;text-decoration:underline;text-underline-offset:4px;color:var(--muted)}
.source-link:hover{color:var(--navy)}
.review-source-note{margin-top:23px;font-size:.875rem;line-height:1.6}
.customer-stories{display:grid;gap:32px}
.customer-story{display:grid;grid-template-columns:minmax(0,.64fr) minmax(0,1.36fr);border:1px solid var(--line);background:var(--pale);scroll-margin-top:110px}
.story-customer-photo{margin:0;min-width:0;align-self:start;padding:24px;background:#e9eef3}
.story-customer-photo img{width:100%;max-height:400px;aspect-ratio:898/1000;object-fit:contain}
.story-customer-photo figcaption{margin-top:16px;font-size:.875rem;line-height:1.6;color:var(--navy)}
.story-copy{padding:36px 40px;min-width:0}
.story-copy .eyebrow{font-size:.875rem;letter-spacing:.08em;line-height:1.6;margin-bottom:15px}
.story-copy h3{font-size:clamp(1.5rem,2.2vw,2rem);line-height:1.35;max-width:650px}
.story-copy dl{margin:25px 0 14px}
.story-copy dl>div{display:grid;grid-template-columns:140px minmax(0,1fr);gap:20px;padding:15px 0;border-top:1px solid var(--line)}
.story-copy dt{font-size:.875rem;font-weight:700;color:var(--navy)}
.story-copy dd{font-size:1rem;line-height:1.7;margin:0;color:var(--muted)}
.story-copy .text-link{font-size:.9rem;min-height:44px}
.gallery-subheading{margin:56px 0 27px;padding-top:35px;border-top:1px solid var(--line)}
.gallery-subheading h3{font-size:1.5rem;line-height:1.4}
.gallery-subheading p{font-size:1rem;margin-top:12px}
.experience-illustrated{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:start;gap:36px;padding:36px}
.experience-illustrated .section-image-frame{aspect-ratio:auto}
.experience-illustrated .section-image img{width:100%;height:auto;object-fit:contain}
.experience-illustrated .section-image figcaption{font-size:.875rem;line-height:1.6}
.experience-illustrated .experience-full h3{font-size:clamp(1.6rem,2.2vw,2.1rem);line-height:1.4}
.experience-illustrated .prose{margin-top:20px}
.experience-illustrated .grouped-details{margin-top:14px}
.experience-illustrated .grouped-details>summary{font-size:.95rem}
.visit-information{display:grid;gap:21px;border-top:1px solid #ccd6df;padding-top:23px;margin-top:24px}
.info-label{display:block;font-size:.875rem;font-weight:700;color:var(--navy);margin-bottom:7px}
.visit-information address{font-style:normal;font-size:1rem;color:var(--muted);line-height:1.8}
.experience-illustrated .visit-information p{margin:0;line-height:1.8}
.experience-illustrated .experience-actions{gap:12px;align-items:stretch}
.experience-illustrated .experience-actions .btn{font-size:.9375rem;gap:12px;white-space:normal;background:var(--orange);border-color:var(--orange);color:#fff}
.experience-illustrated .experience-actions .btn-outline{background:white;border-color:#b9c6d3;color:var(--navy)}
.experience-illustrated .visit-tip{font-size:.875rem;line-height:1.7;margin-top:20px}
.documentary-photo .section-image-frame{aspect-ratio:4/3;background:var(--pale)}
.documentary-photo img{width:100%;height:100%;object-fit:contain;object-position:center}
.image-mission.documentary-photo .section-image-frame{aspect-ratio:4/3}
.image-sustainability.documentary-photo .section-image-frame{aspect-ratio:4/3}
.experience-illustrated .documentary-photo .section-image-frame{aspect-ratio:auto}
.experience-illustrated .documentary-photo img{height:auto}
.documentary-photo figcaption{font-size:.875rem;line-height:1.6}
.documentary-pair .section-image-frame{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;aspect-ratio:auto;background:white}
.documentary-pair img{height:auto;object-fit:contain;aspect-ratio:4/5}
.image-mission.documentary-photo .section-image-frame{aspect-ratio:1536/1024}
.illustrated-contact .image-outdoor.documentary-photo .section-image-frame{aspect-ratio:3/2}
.gallery-subheading p+p{margin-top:10px}
.contact-inner .contact-prose>p{font-size:1.05rem}
.conversation-steps{list-style:none;padding:0;margin:26px 0;counter-reset:conversation}
.conversation-steps li{counter-increment:conversation;position:relative;padding:16px 0 16px 38px;border-top:1px solid #a14a1555}
.conversation-steps li:before{content:'0' counter(conversation);position:absolute;left:0;top:17px;font-size:.875rem;font-weight:700;color:var(--deep)}
.conversation-steps strong{display:block;font-size:1rem;line-height:1.6}
.conversation-steps span{display:block;font-size:1rem;line-height:1.7;margin-top:4px;color:var(--deep)}
.contact-banner .grouped-details{border-color:#a14a1555}
.contact-banner .grouped-details>summary{color:var(--deep)}
.contact-banner .contact-visit-link{margin-top:18px;margin-left:0;display:flex;width:fit-content;min-height:44px;font-size:1rem}
.pd-footer .footer-hours{font-size:.9375rem;line-height:1.7;margin-top:12px}
.hero-actions .text-link{font-size:1rem;min-height:44px}
.hero-actions .btn{font-size:1rem}
.trust-item span{font-size:.875rem}
.person p{font-size:.875rem}
.section-image figcaption,.customer figcaption{font-size:.875rem}
@media(max-width:1050px){
 .about-strengths{gap:20px}.about-strengths article{padding-left:0}.about-strengths article>span{position:static;display:block;margin-bottom:10px}
 .review-grid{gap:16px}.review-card{padding:22px}.review-person{gap:12px}.review-person img{width:55px;height:64px}.review-card blockquote{font-size:1.25rem}
 .customer-story{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)}.story-copy{padding:28px}.story-copy dl>div{grid-template-columns:1fr;gap:6px}
 .experience-illustrated{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:28px;padding:30px}.quality-grid{gap:40px}
}
@media(max-width:760px){
 .about-strengths{grid-template-columns:1fr;gap:23px;margin-top:32px;padding:27px 0}.about-strengths article{padding-left:38px}.about-strengths article>span{position:absolute;margin:0}
 .grouped-details{margin-top:23px}.grouped-details>summary{font-size:1rem;padding:12px 0}.expanded-columns,.expanded-columns.three-columns{grid-template-columns:1fr;gap:30px}
 .review-grid{grid-template-columns:1fr;gap:20px}.review-card{padding:25px}.review-person img{width:66px;height:74px}.review-card blockquote{font-size:1.35rem}.review-source-note{font-size:.875rem}
 .customer-story{grid-template-columns:1fr}.story-customer-photo{display:grid;grid-template-columns:90px minmax(0,1fr);gap:20px;align-items:center;padding:22px}.story-customer-photo img{width:90px;height:102px;object-fit:cover;object-position:center 22%}.story-customer-photo figcaption{margin:0;font-size:1rem}
 .story-copy{padding:25px}.story-copy .eyebrow{font-size:.875rem}.story-copy dl>div{padding:14px 0}.gallery-subheading{margin-top:40px}
 .experience-illustrated{grid-template-columns:1fr;padding:26px 22px;gap:26px}.experience-illustrated>.section-image{max-width:none}.experience-illustrated .experience-actions{flex-direction:row}.experience-illustrated .experience-actions .btn{flex:1 1 160px}.experience-illustrated .experience-full h3{font-size:1.6rem}
 .image-sustainability.documentary-photo{max-width:none}.contact-inner>.section-image{max-width:none}.contact-banner .contact-visit-link{white-space:normal;line-height:1.6}.quality-expansion{margin-top:20px}
}

/* Show the complete customer photographs at their original proportions. */
.customer-moments{grid-template-columns:repeat(3,minmax(0,1fr))}
.customer-moments .customer img{height:auto;max-height:none;aspect-ratio:3/2;object-fit:contain}
@media(max-width:760px){.customer-moments{grid-template-columns:1fr}}

/* Combined customer photograph and service strengths banner. */
.about-strengths-banner{margin:44px 0 0}
@media(max-width:760px){.about-strengths-banner{margin-top:32px}}

/* Keep the original banner's text strip stationary while photographs slide. */
.installation-overview .section-image-frame{aspect-ratio:16/9}
.installation-overview img{width:100%;height:auto;object-fit:contain}
.strengths-stage{position:relative;overflow:hidden;aspect-ratio:1728/910;background:#082b43;touch-action:pan-y pinch-zoom;isolation:isolate}
.strengths-track{position:absolute;inset:0;display:flex;height:100%;transition:transform 420ms ease}
.strengths-slide{flex:0 0 100%;min-width:0;height:100%}
.about-strengths-banner .strengths-slide img{width:100%;height:100%;object-fit:cover;object-position:center;user-select:none}
.about-strengths-banner .strengths-slide--photo img{height:74.4%;object-fit:contain;background:#082b43}
.about-strengths-banner .strengths-overlay{position:absolute;inset:0;width:100%;height:100%;clip-path:inset(74.4% 0 0);z-index:2;pointer-events:none;user-select:none}
.strengths-controls{position:absolute;inset:0;z-index:3;pointer-events:none}
.strengths-controls[hidden]{display:none}
.strengths-arrow{position:absolute;top:37.2%;transform:translateY(-50%);display:grid;place-items:center;width:48px;height:48px;margin:0;padding:0;border:1px solid #ffffffa6;border-radius:50%;background:#092945e8;color:white;box-shadow:0 3px 16px #0003;cursor:pointer;pointer-events:auto;transition:background-color 160ms ease}
.strengths-previous{left:20px}.strengths-next{right:20px}
.strengths-arrow svg{display:block;width:24px;height:24px}
.strengths-arrow:hover{background:#b84d04}
.strengths-arrow:focus-visible{outline:3px solid #ff9d45;outline-offset:3px}
.strengths-stage:focus-visible{outline:3px solid #f47920;outline-offset:4px}
.strengths-count{position:absolute;top:16px;right:20px;padding:5px 12px;border-radius:18px;background:#092945e8;color:white;font-size:.875rem;font-weight:600;line-height:1.5;font-variant-numeric:tabular-nums}
@media(max-width:760px){.strengths-arrow{width:44px;height:44px}.strengths-previous{left:8px}.strengths-next{right:8px}.strengths-count{top:8px;right:8px;padding:3px 10px}}
@media(prefers-reduced-motion:reduce){.strengths-track,.strengths-arrow{transition:none}}


/* Navy, light cream and white: a consistent About Us colour rhythm. */
:root{--navy:#102b4b;--deep:#09213b;--cream:#f7f3e9;--white:#fff;--pale:#f7f3e9;--ink:#172c43;--muted:#536173;--line:#dfdfd9}
body{background:var(--white);color:var(--ink)}
.surface-white{background:var(--white)}
.surface-cream{background:var(--cream)}
.surface-navy{background:var(--navy);color:var(--white);--ink:#fff;--muted:#d4dee9;--line:#3b526c;--pale:#193750}
.surface-navy :is(h1,h2,h3,blockquote){color:var(--white)}
.surface-navy .eyebrow{color:#f6ead5}
.surface-navy .eyebrow:before{background:#f4a46d}
.surface-navy .text-link{color:var(--white)}
.surface-navy .text-link:hover{color:#ffc093}
.surface-navy .readmore>summary,.surface-navy .collapse-details{color:#f7f3e9}
.surface-navy .readmore>summary:hover,.surface-navy .collapse-details:hover{color:#ffc093}
.surface-navy :focus-visible{outline-color:#ffbd8b}
.surface-navy .btn{color:#fff}
.surface-navy .section-image-frame{background:#193750}

/* A navy opening keeps About Us prominent beside the original photograph. */
.hero.surface-navy{background:linear-gradient(115deg,#102b4b 0%,#102b4b 64%,#153655 100%);padding-bottom:64px}
.hero.surface-navy h1 span{color:#f7ead0}
.hero.surface-navy .hero-about-statement{color:#f7f3e9}
.hero.surface-navy .breadcrumb,.hero.surface-navy .breadcrumb span{color:#d4dee9}
.hero.surface-navy .breadcrumb a:hover{color:white}
.hero.surface-navy .hero-note svg{stroke:#f7ead0}
.hero.surface-navy .photo-caption span:last-child{color:#f7ead0}
.hero.surface-navy .photo-footnote{border-top-color:#496078}
.hero.surface-navy .hero-picture img{background:white;border:6px solid white;box-shadow:0 18px 44px #04152633}
.hero.surface-navy .hero-picture:before{border-color:#e8d5b4;z-index:0;pointer-events:none}
.hero.surface-navy .hero-picture img{position:relative}
.trust{background:var(--cream);color:var(--navy);border-bottom:1px solid #e7e0d3}
.trust-item{border-color:#d9d2c6}
.trust-item span{color:#536173}
.about-strengths{border-color:#dddcd4}
.founder-story-inline{background:var(--navy);box-shadow:0 14px 36px #102b4b0b}
.founder-story-inline .section-image-frame{background:#193750}

/* White cards provide a calm contrast to cream sections. */
.customer-reviews{border-color:#e6dfd2}
.review-card{background:white;border-color:#e3ddcf;border-top-color:var(--orange)}
.review-project{border-color:#e5e2da}
.review-source-note{color:#536173}
#our-journey .milestone-grid li{background:white;padding:24px;border:1px solid #e4dfd4;border-top:2px solid var(--navy)}
#our-journey .milestone-grid .planned-milestone{border-top-style:dashed}
#our-journey .glance-list li{border-left-color:#b94b05}
#our-team{border-top-color:#e4dfd4}
.person-photo{background:var(--cream)}
.services{border-color:#e6dfd2}
.service{background:white;padding:24px;border-top-color:var(--navy);box-shadow:0 8px 24px #102b4b05}
.service .section-image-frame{background:var(--cream)}
.services .expertise-list li,.services .process{border-color:#d8d4ca}
.customer-story{background:var(--cream);border-color:#e2ddd1}
.story-customer-photo{background:#fff}
.customer img{background:var(--cream)}

/* Dark sections explicitly cover expanded content as well as visible summaries. */
.mission.surface-navy .mission-right{border-color:#3b526c}
.mission.surface-navy .readmore-content p{color:#d4dee9}
.experience-illustrated.surface-navy{border-left-color:var(--orange)}
.experience-illustrated.surface-navy .info-label{color:#f7ead0}
.experience-illustrated.surface-navy .visit-information{border-top-color:#3b526c}
.experience-illustrated.surface-navy .experience-actions .btn{background:var(--orange);border-color:var(--orange);color:#fff}
.experience-illustrated.surface-navy .experience-actions .btn:hover{background:#ff8b3a;border-color:#ff8b3a}
.experience-illustrated.surface-navy .experience-actions .btn-outline{background:transparent;border-color:#9aabba;color:#fff}
.experience-illustrated.surface-navy .experience-actions .btn-outline:hover{background:#23425f;border-color:#d4dee9;color:#fff}
.quality.surface-navy .quality-list article{border-color:#3b526c}
.quality.surface-navy .quality-list svg{stroke:#f4a46d}
.quality.surface-navy .why-list li{color:#d4dee9}
.quality.surface-navy .expanded-columns h3{color:#f7ead0}
.videos-section.surface-navy .video-card{padding:15px;background:#193750;border:1px solid #3b526c}
.videos-section.surface-navy .video-card h3{padding:0 5px 7px}
.videos-section.surface-navy .video-frame{background:#09213b}

/* A light closing area and navy footer keep enquiry actions easy to find. */
#faqs.surface-cream .faq-item{background:white;border:1px solid #e2ddd2;padding-inline:22px;margin-bottom:14px}
#faqs.surface-cream .faq-answer{padding-right:0}
.contact-banner.surface-white{background:white;border-top:1px solid #e3dfd6}
.contact-banner .conversation-steps li{border-color:#dddcd4}
.contact-banner .grouped-details{border-color:#dddcd4}
.contact-banner .contact-inner>div>.btn{background:var(--orange);border-color:var(--orange);color:#fff}
.contact-banner .contact-inner>div>.btn:hover{background:#ff8b3a;border-color:#ff8b3a}
.contact-banner .image-outdoor .section-image-frame{background:var(--cream)}
/* Let the shared footer supply its own colours. */
.pd-footer p{color:inherit}
@media(max-width:760px){
 .hero.surface-navy{padding-bottom:40px}
 .hero.surface-navy .hero-picture img{border-width:4px;box-shadow:0 12px 26px #04152626}
 #our-journey .milestone-grid li{padding:20px 17px}
 .service{padding:22px}
 #faqs.surface-cream .faq-item{padding-inline:18px}
 .videos-section.surface-navy .video-card{padding:12px}
}
@media print{
 .surface-navy,.hero.surface-navy,.pd-footer{background:white;color:#172c43;--muted:#536173;--line:#ccc}
 .surface-navy :is(h1,h2,h3,blockquote),.surface-navy .eyebrow,.surface-navy .text-link,.hero.surface-navy .hero-about-statement,.hero.surface-navy h1 span{color:#102b4b}
}


/* About Us: mission, milestones, expertise and the customer journey. */

/* Commercial portfolio: the homepage's services and client/development logos. */
.commercial-projects > .wrap { border-top: 1px solid #d9d9d0; padding-top: 56px; }
.commercial-projects { padding-top: 0; }
.commercial-header { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 64px; align-items: center; margin-bottom: 40px; }
.commercial-header h2 { color: var(--navy); }
.commercial-intro p { font-size: 1.0625rem; line-height: 1.8; }
.commercial-portfolio h3 { font-size: 1.125rem; line-height: 1.5; margin-bottom: 20px; }
.commercial-logos { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; list-style: none; margin: 0; padding: 0; }
.commercial-logos li { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; min-width: 0; padding: 24px 16px 18px; background: white; border: 1px solid #dfdfd9; border-radius: 10px; }
.commercial-logos img { display: block; width: 100%; height: 76px; object-fit: contain; }
.commercial-logos span { display: flex; align-items: center; justify-content: center; min-height: 3em; font-size: .875rem; font-weight: 600; line-height: 1.5; color: var(--navy); text-align: center; overflow-wrap: anywhere; }
.commercial-projects .commercial-details { margin-top: 24px; padding: 0 26px; border: 1px solid #dfdfd9; border-radius: 10px; background: white; }
.commercial-projects .commercial-details > summary { display: flex; justify-content: space-between; align-items: center; width: 100%; gap: 18px; padding: 22px 0; border: 0; font-size: 1rem; line-height: 1.5; }
.commercial-details .disclosure-sign { flex-shrink: 0; }
.commercial-projects .commercial-details[open] > summary { border-bottom: 1px solid #dfdfd9; }
.commercial-projects .commercial-details > .readmore-content { padding: 24px 0 28px; }
.commercial-services { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; margin: 0; }
.commercial-services > div { border-left: 2px solid #b94b05; padding-left: 20px; }
.commercial-services dt { color: var(--navy); font-size: 1.0625rem; font-weight: 700; line-height: 1.5; margin-bottom: 10px; }
.commercial-services dd { margin: 0; color: var(--muted); font-size: 1rem; line-height: 1.8; }
.commercial-enquiry { display: flex; justify-content: space-between; align-items: center; gap: 32px; padding: 32px 36px; margin-top: 24px; border-radius: 12px; }
.commercial-enquiry h3 { font-size: 1.25rem; line-height: 1.5; margin-bottom: 10px; }
.commercial-enquiry p { color: #d4dee9; max-width: 650px; font-size: 1rem; line-height: 1.7; }
.commercial-enquiry .btn { flex-shrink: 0; }
@media (max-width: 1050px) {
  .commercial-header { gap: 36px; }
  .commercial-logos { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .commercial-services { gap: 22px; }
}
@media (max-width: 760px) {
  .commercial-projects > .wrap { padding-top: 40px; }
  .commercial-header { grid-template-columns: 1fr; gap: 24px; margin-bottom: 30px; }
  .commercial-header h2 br { display: none; }
  .commercial-intro p { font-size: 1rem; }
  .commercial-services { grid-template-columns: 1fr; gap: 26px; }
  .commercial-enquiry { flex-direction: column; align-items: stretch; gap: 22px; padding: 28px; }
  .commercial-enquiry .btn { align-self: flex-start; }
}
@media (max-width: 560px) {
  .commercial-logos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .commercial-logos li { padding: 18px 12px; gap: 12px; }
  .commercial-logos li:last-child { grid-column: 1 / -1; width: calc(50% - 6px); justify-self: center; }
  .commercial-logos img { height: 64px; }
  .commercial-projects .commercial-details { padding-inline: 20px; }
  .commercial-enquiry { padding: 24px; }
  .commercial-enquiry .btn { align-self: stretch; }
}
#our-story { padding-bottom: 0; }
.founder-section { padding-top: 0; }
.founder-story-inline #founder-title { font-size: 1.65rem; line-height: 1.4; letter-spacing: -.035em; }
#our-team { padding-bottom: 0; }
.team-craft-detail { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 40px; align-items: center; }
.team-craft-detail .section-image { margin: 0; }
.team-craft-detail .section-image-frame { aspect-ratio: auto; }
.team-craft-detail img { width: 100%; height: auto; object-fit: contain; }
.team-craft-detail h3 { margin-bottom: 16px; }
.experience-section { padding-top: 0; }
.experience-section .experience-full h2 { font-size: clamp(1.6rem, 2.2vw, 2.1rem); line-height: 1.4; }
#our-services { padding-bottom: 56px; }
#what-we-build { padding-top: 8px; }
#what-we-build .expertise-complete { margin: 0; }
.expertise-heading h2 { font-size: clamp(1.8rem, 3vw, 2.5rem); line-height: 1.25; }
.process-collaboration { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); gap: 30px; align-items: start; border-top: 1px solid #496078; padding-top: 30px; margin-top: 32px; }
.process-collaboration .section-image { margin: 0; }
.process-collaboration .section-image-frame { aspect-ratio: auto; background: #193750; }
.process-collaboration img { width: 100%; height: auto; object-fit: contain; }
.process-collaboration .section-image figcaption { color: #d4dee9; font-size: .875rem; }
.process-collaboration p { color: #d4dee9; font-size: 1rem; line-height: 1.8; }
.process-collaboration .collaboration-lead { color: #fff; font-size: 1.1rem; line-height: 1.75; }
.process-feature .process-readmore > summary { color: #f7ead0; line-height: 1.6; font-size: 1rem; }
.process-feature .process-readmore > summary:hover { color: #ffc093; }
.process-feature .process-readmore { margin-top: 15px; }
.quality-after-sales .quality-grid { align-items: start; }
.quality-after-sales .quality-list article { padding-block: 27px; grid-template-columns: 32px minmax(0, 1fr); }
.quality-after-sales .quality-list article:first-child { padding-top: 0; }
.quality-number { color: #f9bf96; font-size: 1rem; font-weight: 700; line-height: 1.5; }
.quality-care-copy { max-width: 1000px; }
.quality-care-copy p { font-size: 1rem; line-height: 1.8; }
.project-gallery-intro { max-width: 800px; font-size: 1rem; line-height: 1.8; margin: -12px 0 28px; }
@media (max-width: 1050px) {
  .team-craft-detail { gap: 30px; }
  .process-collaboration { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 25px; }
}
@media (max-width: 760px) {
  .founder-story-inline #founder-title { font-size: 1.55rem; }
  .founder-story-inline #founder-title br { display: none; }
  .team-craft-detail { grid-template-columns: 1fr; gap: 24px; }
  .experience-section .experience-full h2 { font-size: 1.6rem; }
  #our-services { padding-bottom: 40px; }
  #what-we-build { padding-top: 0; }
  .process-collaboration { grid-template-columns: 1fr; gap: 24px; padding-top: 26px; margin-top: 28px; }
  .process-collaboration .collaboration-lead { font-size: 1.0625rem; }
  .project-gallery-intro { margin-top: -8px; }
}

.mission-opening { display: grid; grid-template-columns: 1.1fr 1fr; gap: 64px; align-items: center; }
.mission-heading h2 { font-size: clamp(2rem, 3.4vw, 3.3rem); line-height: 1.2; }
.mission-heading h2 span { color: #f3e4c9; }
.mission-introduction p { color: #d4dee9; }
.mission-introduction strong { color: #fff; font-weight: 600; }
.mission-principles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; list-style: none; margin: 42px 0 0; padding: 0; }
.mission-principle { display: grid; grid-template-columns: 36px minmax(0, 1fr); align-content: start; gap: 18px; padding: 30px; background: #f7f3e9; border-radius: 12px; }
.mission-principle:nth-child(2), .mission-principle:nth-child(3) { background: #fff; }
.mission-principle-number { padding-top: 3px; color: #a64307; font: 600 1.1rem/1.5 Manrope, Arial, sans-serif; }
.mission-reimagined .mission-principle h3 { color: #102b4b; font-size: 1.25rem; line-height: 1.5; }
.mission-principle p { color: #435469; font-size: 1rem; line-height: 1.8; margin-top: 14px; }
#our-mission .mission-reading { margin-top: 28px; border: 1px solid #8092a6; border-radius: 12px; padding: 0 30px; background: #153452; }
#our-mission .mission-reading > summary { display: grid; grid-template-columns: minmax(0, 1fr) auto 14px; align-items: center; width: 100%; gap: 18px; padding: 23px 0; border: 0; color: #fff; font-size: .9375rem; line-height: 1.5; }
.mission-reading-title { color: var(--orange); font: 600 1.3rem/1.45 Manrope, Arial, sans-serif; letter-spacing: -.02em; }
#our-mission .mission-reading > summary:hover { color: #ffc093; }
#our-mission .mission-reading[open] > summary { border-bottom: 1px solid #496078; }
#our-mission .mission-reading-content { padding: 25px 0 28px; max-width: 1040px; }
.mission-reading-content p { font-size: 1rem; line-height: 1.8; }
#our-mission .mission-reading-content .mission-choice { margin-top: 23px; color: #f3e4c9; }
.mission-promise { margin-top: 32px; padding-left: 24px; max-width: 1100px; border-left: 2px solid #f4a46d; color: #edf2f7; font-size: 1.15rem; line-height: 1.8; }
@media (max-width: 1050px) {
  .mission-opening { gap: 36px; }
  .mission-principle { padding: 26px; gap: 14px; }
}
@media (max-width: 760px) {
  .mission-opening { grid-template-columns: 1fr; gap: 26px; }
  .mission-heading h2 { font-size: clamp(2rem, 6vw, 2.8rem); }
  .mission-principles { grid-template-columns: 1fr; gap: 18px; margin-top: 30px; }
  .mission-principle { grid-template-columns: 30px minmax(0, 1fr); padding: 26px; }
  .mission-reimagined .mission-principle h3 { font-size: 1.2rem; }
  #our-mission .mission-reading { padding-inline: 24px; }
  #our-mission .mission-reading > summary { grid-template-columns: minmax(0, 1fr) 14px; gap: 10px 18px; }
  .mission-reading-title { grid-column: 1; font-size: 1.2rem; }
  .mission-reading > summary > .label-more, .mission-reading > summary > .label-less { grid-column: 1; grid-row: 2; font-size: .9375rem; color: #f3e4c9; }
  .mission-reading > summary > .disclosure-sign { grid-column: 2; grid-row: 1 / 3; }
  .mission-promise { font-size: 1.0625rem; padding-left: 19px; margin-top: 26px; }
}
@media (max-width: 480px) {
  .mission-principle { grid-template-columns: 1fr; gap: 10px; padding: 24px; }
  .mission-principle-number { padding: 0; }
  .mission-principle p { margin-top: 12px; }
}
@media print {
  #our-mission .mission-reading { background: #fff; border-color: #ccc; }
  #our-mission .mission-reading-content p, .mission-promise, .mission-introduction :is(p, strong), .mission-heading h2 span { color: #102b4b; }
  .mission-reading-title { display: block; }
  .mission-principle { break-inside: avoid; }
}

.journey-heading { margin-bottom: 26px; }
.journey-heading h2 { max-width: 850px; }
.journey-heading h2 span { color: #647184; }
.journey-timeline { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; margin: 0; padding: 0; list-style: none; }
.journey-stop { position: relative; min-width: 0; padding-top: 30px; }
.journey-stop::before { content: ''; position: absolute; top: 10px; left: 0; right: -22px; border-top: 1px solid #b5bec5; }
.journey-stop:last-child::before { right: 0; border-top-style: dashed; }
.journey-stop::after { content: ''; position: absolute; width: 14px; height: 14px; top: 3px; left: 0; background: var(--navy); border: 3px solid var(--cream); border-radius: 50%; box-shadow: 0 0 0 1px var(--navy); }
.journey-stop.milestone-achievement::after { background: #b94b05; box-shadow: 0 0 0 1px #b94b05; }
.journey-stop.milestone-future::after { background: var(--cream); box-shadow: 0 0 0 1px #7a8999; }
.milestone-card { height: 100%; min-height: 0; padding: 20px 24px; border: 1px solid #dddcd3; border-radius: 12px; background: white; box-shadow: 0 8px 26px #102b4b05; }
.milestone-label { display: block; color: #536173; font-size: .875rem; font-weight: 600; line-height: 1.5; }
.milestone-year { display: block; margin-top: 10px; font: 600 clamp(2.8rem, 4.2vw, 4rem)/1.12 Manrope, Arial, sans-serif; letter-spacing: -.055em; color: var(--navy); }
.milestone-card p { margin-top: 12px; font-size: 1rem; line-height: 1.65; }
.milestone-achievement .milestone-card { background: var(--navy); border-color: var(--navy); }
.milestone-achievement .milestone-label { color: #f9bf96; }
.milestone-achievement .milestone-year { color: #fff; }
.milestone-achievement p { color: #d4dee9; }
.milestone-achievement p strong { display: block; color: #fff; font-size: 1.1rem; }
.milestone-future .milestone-card { background: transparent; border: 1px dashed #a3aeb9; box-shadow: none; }
.journey-glance { margin-top: 20px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr); gap: 32px; padding: 24px 32px; border-radius: 14px; background: var(--navy); color: white; }
.glance-team { padding-right: 34px; border-right: 1px solid #3b526c; }
.glance-team h3 { color: #f7ead0; font-size: 1rem; font-weight: 600; letter-spacing: .02em; }
.team-scale { display: grid; grid-template-columns: 1.25fr 1fr; gap: 25px; margin-top: 14px; color: #d4dee9; font-size: 1rem; line-height: 1.55; }
.team-scale strong { display: block; margin-bottom: 5px; color: white; font: 600 clamp(2.5rem, 4vw, 3.5rem)/1.15 Manrope, Arial, sans-serif; letter-spacing: -.05em; }
.glance-capabilities { align-content: center; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 26px; margin: 0; padding: 0; list-style: none; }
.glance-capabilities li { position: relative; padding-left: 20px; font-size: 1rem; line-height: 1.6; }
.glance-capabilities li::before { content: ''; position: absolute; left: 0; top: .65em; height: 6px; width: 6px; border-radius: 50%; background: #f9bf96; }
.glance-capabilities li:last-child { grid-column: 1 / -1; }

/* Keep the complete service copy accessible in the existing disclosure. */
#our-services > .wrap > .grouped-details { padding: 0; border: 1px solid #d9d9d0; border-radius: 10px; background: #fff; margin-top: 30px; }
#our-services > .wrap > .grouped-details > summary { padding: 18px 24px; min-height: 68px; }
#our-services > .wrap > .grouped-details .disclosure-sign { width: 28px; height: 28px; border-radius: 50%; background: #f7f3e9; }
#our-services > .wrap > .grouped-details .disclosure-sign::before,
#our-services > .wrap > .grouped-details .disclosure-sign::after { left: 7px; top: 13px; }
#our-services > .wrap > .grouped-details > .readmore-content { padding: 8px 24px 26px; }
.expertise-complete { margin-top: 64px; padding-top: 0; border: 0; }
.expertise-heading { margin-bottom: 30px; }
.expertise-heading .eyebrow { margin-bottom: 14px; }
.expertise-heading h3 { font-size: clamp(1.8rem, 3vw, 2.5rem); line-height: 1.25; }
.expertise-groups { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.expertise-card { min-width: 0; border: 1px solid #deded5; border-radius: 12px; background: #fff; padding: 28px; box-shadow: 0 10px 25px #102b4b04; }
.expertise-card-heading { display: flex; align-items: flex-start; gap: 18px; padding-bottom: 24px; border-bottom: 1px solid #e0e3e5; }
.expertise-index { display: grid; place-items: center; flex: 0 0 38px; height: 38px; border: 1px solid #d9d9d0; border-radius: 50%; color: #a64307; font-size: .875rem; font-weight: 700; }
.expertise-card h4 { margin: 0; color: var(--navy); font: 600 1.4rem/1.4 Manrope, Arial, sans-serif; letter-spacing: -.025em; }
.expertise-group-list { list-style: none; padding: 0; margin: 8px 0 0; }
.expertise-group-list li { position: relative; padding: 16px 0 16px 18px; font-size: 1rem; line-height: 1.65; border-bottom: 1px solid #e6e7e5; }
.expertise-group-list li:last-child { border-bottom: 0; padding-bottom: 0; }
.expertise-group-list li::before { content: ''; position: absolute; left: 0; top: 27px; width: 5px; height: 5px; background: #b94b05; border-radius: 50%; }
.expertise-outdoor { background: var(--navy); border-color: var(--navy); color: #edf2f7; }
.expertise-outdoor h4 { color: #fff; }
.expertise-outdoor .expertise-card-heading, .expertise-outdoor .expertise-group-list li { border-color: #3b526c; }
.expertise-outdoor .expertise-index { background: #1c3a57; border-color: #496078; color: #ffc093; }
.expertise-outdoor .expertise-group-list li::before { background: #f9bf96; }

.process-feature { margin-top: 40px; padding: 42px; background: var(--navy); border-radius: 14px; color: #fff; }
.process-feature .eyebrow { color: #f7ead0; margin-bottom: 18px; }
.process-feature .eyebrow::before { background: #f9bf96; }
.process-feature h3 { max-width: 750px; font-size: clamp(1.8rem, 3vw, 2.5rem); line-height: 1.3; color: #fff; }
.process-feature h3 span { color: #d4dee9; }
.process-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); list-style: none; padding: 0; margin: 36px 0 0; border-top: 1px solid #496078; }
.process-steps li { min-width: 0; padding: 28px 26px 0; border-right: 1px solid #3b526c; }
.process-steps li:first-child { padding-left: 0; }
.process-steps li:last-child { border: 0; padding-right: 0; }
.process-number { display: block; color: #f9bf96; font: 500 2.5rem/1.1 Manrope, Arial, sans-serif; letter-spacing: -.04em; }
.process-steps h4 { margin: 18px 0 12px; font: 600 1.2rem/1.4 Manrope, Arial, sans-serif; color: #fff; letter-spacing: -.02em; }
.process-steps p { font-size: 1rem; line-height: 1.7; color: #d4dee9; }

@media (max-width: 1050px) {
  .journey-timeline { gap: 16px; }
  .journey-stop::before { right: -16px; }
  .milestone-card { padding: 18px; }
  .journey-glance { grid-template-columns: 1fr 1.25fr; padding: 24px; gap: 24px; }
  .glance-team { padding-right: 26px; }
  .team-scale { gap: 16px; }
  .glance-capabilities { grid-template-columns: 1fr; gap: 13px; }
  .expertise-groups { gap: 16px; }
  .expertise-card { padding: 24px 20px; }
  .expertise-card-heading { flex-direction: column; gap: 14px; }
  .expertise-index { flex-basis: auto; width: 38px; }
  .process-feature { padding: 32px; }
  .process-steps li { padding-inline: 18px; }
}
@media (max-width: 760px) {
  .journey-heading { margin-bottom: 20px; }
  .journey-timeline { grid-template-columns: 1fr 1fr; gap: 20px 16px; }
  .journey-stop { padding-top: 26px; }
  .journey-stop:nth-child(2)::before { right: 0; }
  .milestone-card { min-height: 0; padding: 18px 20px; }
  .milestone-year { font-size: 3rem; }
  .milestone-card p { margin-top: 10px; }
  .journey-glance { grid-template-columns: 1fr; gap: 18px; padding: 22px; margin-top: 18px; }
  .glance-team { border-right: 0; border-bottom: 1px solid #3b526c; padding: 0 0 18px; }
  .team-scale { grid-template-columns: 1fr 1fr; gap: 28px; max-width: 450px; }
  .team-scale strong { font-size: 3rem; }
  .glance-capabilities { grid-template-columns: 1fr 1fr; gap: 12px 24px; }
  .expertise-complete { margin-top: 42px; }
  .expertise-groups { grid-template-columns: 1fr; gap: 20px; }
  .expertise-card { padding: 26px; }
  .expertise-card-heading { flex-direction: row; align-items: center; gap: 18px; padding-bottom: 20px; }
  .expertise-index { flex: 0 0 38px; }
  .expertise-card h4 br { display: none; }
  .process-feature { margin-top: 28px; padding: 28px; }
  .process-steps { grid-template-columns: 1fr 1fr; margin-top: 28px; }
  .process-steps li { padding: 24px 22px 24px 0; border-right: 0; border-bottom: 1px solid #3b526c; }
  .process-steps li:nth-child(even) { padding-left: 22px; padding-right: 0; border-left: 1px solid #3b526c; }
  .process-steps li:nth-child(n+3) { border-bottom: 0; padding-bottom: 0; }
  .process-steps h4 { font-size: 1.15rem; }
}
@media (max-width: 480px) {
  .journey-heading h2 { font-size: 2rem; }
  .journey-timeline { grid-template-columns: 1fr; gap: 0; }
  .journey-stop { padding: 0 0 18px 27px; }
  .journey-stop::before, .journey-stop:nth-child(2)::before, .journey-stop:last-child::before { top: 10px; bottom: -10px; left: 6px; right: auto; border-top: 0; border-left: 1px solid #b5bec5; }
  .journey-stop:last-child::before { bottom: 18px; border-left-style: dashed; }
  .journey-stop::after { top: 4px; }
  .milestone-card { padding: 18px 20px; }
  .milestone-year { margin-top: 8px; }
  .glance-capabilities { grid-template-columns: 1fr; gap: 12px; }
  .journey-glance { padding: 20px 22px; }
  .process-feature { padding: 25px 22px; }
  .team-scale { gap: 20px; }
  .team-scale strong { font-size: clamp(2rem, 10vw, 2.7rem); }
  .expertise-card { padding: 24px 22px; }
  .expertise-card h4 { font-size: 1.3rem; }
  #our-services > .wrap > .grouped-details > summary { padding: 17px 20px; }
  #our-services > .wrap > .grouped-details > .readmore-content { padding-inline: 20px; }
  .process-steps { grid-template-columns: 1fr; }
  .process-steps li, .process-steps li:first-child, .process-steps li:nth-child(even), .process-steps li:nth-child(n+3) { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 8px 18px; padding: 23px 0; border: 0; border-bottom: 1px solid #3b526c; }
  .process-steps li:last-child { border-bottom: 0; padding-bottom: 0; }
  .process-number { grid-row: 1 / 3; font-size: 2rem; padding-top: 1px; }
  .process-steps h4 { margin: 0; }
  .process-steps p { grid-column: 2; }
}
@media print {
  .journey-glance, .milestone-achievement .milestone-card, .expertise-outdoor, .process-feature { background: #fff; color: #172c43; border: 1px solid #ccc; }
  .journey-glance :is(h3, p, strong), .milestone-achievement :is(p, strong, span), .expertise-outdoor h4, .process-feature :is(h3, h4, p, span) { color: #102b4b; }
  .milestone-card, .expertise-card, .journey-glance, .process-feature { break-inside: avoid; box-shadow: none; }
}

/* A prominent cumulative achievement within the existing milestones section. */
.journey-impact {
  display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap;
  gap: 8px 28px; margin-top: 18px; padding: 12px 28px;
  border: 1px solid #efcfb5; border-left: 6px solid var(--orange); border-radius: 12px;
  background: #fff; box-shadow: 0 10px 28px #102b4b06;
}
.journey-impact h3 { margin: 0; max-width: 25ch; font-size: clamp(1.15rem, 1.7vw, 1.5rem); line-height: 1.45; color: var(--navy); }
.journey-impact .journey-impact-value { display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px 14px; margin: 0; color: var(--navy); }
.journey-impact-value strong { font: 700 clamp(2.75rem, 5.5vw, 4.5rem)/1.15 Manrope, Arial, sans-serif; letter-spacing: -.045em; color: #bd4b08; white-space: nowrap; }
.journey-impact-value span { font-size: clamp(1.05rem, 1.7vw, 1.4rem); font-weight: 600; white-space: nowrap; }
.journey-impact + .journey-glance { margin-top: 14px; }
@media (max-width: 760px) {
  .journey-impact { flex-direction: column; align-items: flex-start; gap: 6px; margin-top: 16px; padding: 14px 20px; }
  .journey-impact h3 { max-width: none; }
}
@media print { .journey-impact { break-inside: avoid; box-shadow: none; } }


/* Architectural reveals: purposeful movement, shorter on touch screens. */
:root { --about-ease: cubic-bezier(.22, 1, .36, 1); }
.site-header { transition: box-shadow 300ms ease, background-color 300ms ease; }
.site-header.has-scrolled { box-shadow: 0 6px 24px #09213b16; }
.mission-principle, .milestone-card, .expertise-card, .commercial-logos li, .video-card, .customer-story, .service {
  transition: transform 360ms var(--about-ease), box-shadow 360ms ease, border-color 300ms ease;
}
.btn, .text-link, .readmore > summary, .faq-item > summary {
  transition: color 220ms ease, background-color 220ms ease, border-color 220ms ease, box-shadow 300ms ease, transform 300ms var(--about-ease);
}
.btn svg, .text-link svg { transition: transform 300ms var(--about-ease); }
.disclosure-sign::after { transition: transform 300ms var(--about-ease); }
.person-photo img { transition: transform 800ms var(--about-ease); }
.person:hover img { transform: none; }
.strengths-arrow { transition: background-color 220ms ease, box-shadow 220ms ease; }
.strengths-arrow svg { transition: transform 300ms var(--about-ease); }
.motion-counter-display { display: inline-grid; font-variant-numeric: tabular-nums; }
.motion-counter-display > span { grid-area: 1 / 1; }
.motion-counter-reserve { visibility: hidden; }
.journey-impact-value strong span { font: inherit; letter-spacing: inherit; }

/* Small construction lines draw around the photographs as they arrive. */
@media (prefers-reduced-motion: no-preference) {
  .section-image-frame { position: relative; }
  .section-image-frame.motion-entered::before,
  .section-image-frame.motion-entered::after {
    content: '';
    position: absolute;
    z-index: 1;
    width: clamp(24px, 3vw, 44px);
    height: clamp(24px, 3vw, 44px);
    pointer-events: none;
    border-color: #fff;
    border-style: solid;
    filter: drop-shadow(0 1px 2px #09213b70);
    animation: about-corner 1050ms var(--about-ease) var(--motion-delay, 0ms) both;
  }
  .section-image-frame.motion-entered::before { top: 12px; left: 12px; border-width: 2px 0 0 2px; }
  .section-image-frame.motion-entered::after { bottom: 12px; right: 12px; border-width: 0 2px 2px 0; animation-name: about-corner-end; }
  .hero-picture.motion-entered::before { animation: about-corner-end 1400ms var(--about-ease) both; }
  .journey-stop.motion-entered::before { transform-origin: left; animation: about-line 1050ms var(--about-ease) var(--motion-delay, 0ms) both; }
  .journey-stop.motion-entered::after { animation: about-dot 800ms var(--about-ease) var(--motion-delay, 0ms) both; }
  .process-steps > li { position: relative; }
  .process-steps > li.motion-entered::before {
    content: '';
    position: absolute;
    height: 2px;
    top: -1px;
    left: 0;
    right: 0;
    background: var(--orange);
    transform-origin: left;
    animation: about-line 1100ms var(--about-ease) var(--motion-delay, 0ms) both;
  }
  .process-steps > li.motion-entered .process-number { animation: about-number 950ms var(--about-ease) var(--motion-delay, 0ms) backwards; }
}
@keyframes about-corner {
  from { opacity: 0; clip-path: inset(0 100% 100% 0); }
  to { opacity: .85; clip-path: inset(0 0 0 0); }
}
@keyframes about-corner-end {
  from { opacity: 0; clip-path: inset(100% 0 0 100%); }
  to { opacity: .85; clip-path: inset(0 0 0 0); }
}
@keyframes about-line { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes about-dot { from { transform: scale(.3); opacity: .2; } to { transform: scale(1); opacity: 1; } }
@keyframes about-number { from { transform: translateY(12px); opacity: .2; } to { transform: translateY(0); opacity: 1; } }
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .mission-principle:hover, .milestone-card:hover, .expertise-card:hover, .video-card:hover {
    transform: translateY(-6px); box-shadow: 0 18px 38px #09213b1a; border-color: #cc8a5c;
  }
  .commercial-logos li:hover { transform: translateY(-3px); box-shadow: 0 8px 24px #09213b12; }
  .customer-story:hover { box-shadow: 0 12px 32px #09213b10; }
  .btn:hover { transform: translateY(-2px); box-shadow: 0 7px 18px #09213b1a; }
  .btn:active { transform: translateY(0); }
  .btn:hover svg, .text-link:hover svg { transform: translateX(4px); }
  .person:hover img { transform: scale(1.025); }
  .strengths-previous:hover svg { transform: translateX(-2px); }
  .strengths-next:hover svg { transform: translateX(2px); }
  .service:hover { transform: translateY(-5px); border-top-color: var(--orange); }
  .section-image-frame img { transition: transform 1000ms var(--about-ease); }
  .section-image-frame:hover img { transform: scale(1.025); }
  .expertise-index, .process-number { transition: transform 400ms var(--about-ease); }
  .expertise-card:hover .expertise-index { transform: rotate(-8deg); }
  .process-steps > li:hover .process-number { transform: translateX(4px); }
  main .btn { position: relative; overflow: hidden; isolation: isolate; }
  main .btn::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(110deg, transparent 25%, #ffffff30 50%, transparent 75%);
    transform: translateX(-125%);
    pointer-events: none;
  }
  main .btn:hover::after { animation: about-button-light 700ms ease-out; }
}
@keyframes about-button-light { to { transform: translateX(125%); } }
/* Photographs crossfade; the text strip and controls stay stationary. */
.strengths-stage.is-enhanced .strengths-track { display: block; transform: none !important; transition: none; }
.strengths-stage.is-enhanced .strengths-slide {
  position: absolute; inset: 0; opacity: 0; visibility: hidden; pointer-events: none;
  transition: opacity 900ms cubic-bezier(.4, 0, .2, 1), visibility 900ms;
}
.strengths-stage.is-enhanced .strengths-slide[aria-hidden="false"] { opacity: 1; visibility: visible; }
.strengths-playback { position: absolute; z-index: 4; left: 20px; top: 16px; display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 8px 14px; border: 1px solid #ffffffa6; border-radius: 24px; background: #092945e8; color: #fff; font: 600 .875rem/1.3 'DM Sans', Arial, sans-serif; cursor: pointer; pointer-events: auto; transition: background-color 220ms ease; }
.strengths-playback:hover { background: #173b5d; }
.strengths-playback:focus-visible { outline: 3px solid #ffbd8b; outline-offset: 3px; }
.strengths-playback[hidden] { display: none; }
@media (max-width: 760px) {
  .section-image-frame.motion-entered::before, .section-image-frame.motion-entered::after { display: none; }
  .strengths-playback { top: 8px; left: 8px; padding: 7px 11px; }
  .strengths-stage.is-enhanced .strengths-slide { transition-duration: 450ms; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .person:hover img, .pd-footer .pd-footer-social a:hover { transform: none !important; }
  .strengths-stage.is-enhanced .strengths-slide { transition: none !important; }
}
@media print {
  .strengths-playback { display: none; }
  .motion-entered::before, .motion-entered::after, .motion-entered .process-number { animation: none !important; }
  .section-image-frame.motion-entered::before, .section-image-frame.motion-entered::after { display: none; }
}


/* Homepage Experience Centre, with compact spacing for the About page. */
.about-experience { padding-block: 64px; background: var(--cream); }
.about-experience .section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
  align-items: end;
  gap: 64px;
  margin-bottom: 28px;
}
.about-experience .eyebrow {
  display: block;
  color: #bd5102;
  font-size: .75rem;
  line-height: 1.5;
  font-weight: 800;
  letter-spacing: .15em;
  margin-bottom: 14px;
  max-width: none;
}
.about-experience .eyebrow::before { content: none; }
.about-experience h2 {
  color: var(--navy);
  font-size: clamp(2rem, 3.4vw, 3.4rem);
  line-height: 1.16;
  letter-spacing: -.045em;
  font-weight: 700;
  margin: 0;
}
.about-experience .heading-rule {
  display: block;
  width: 54px;
  height: 2px;
  background: var(--orange);
  margin-top: 16px;
}
.about-experience .section-heading > div > p:not(.eyebrow) {
  max-width: 540px;
  font-size: 1.0625rem;
  line-height: 1.75;
  margin: 0;
}
.about-experience .section-heading .text-link { margin-top: 12px; }
.about-experience .text-link {
  gap: 20px;
  color: var(--navy);
  font-size: .875rem;
  font-weight: 800;
  line-height: 1.5;
  padding: 8px 0;
  border-bottom: 1px solid #c0cad1;
}
.about-experience .text-link span { color: #bc4b00; font-size: 1.2rem; }
.about-experience .text-link:hover { color: #b44d03; border-bottom-color: var(--orange); }
.experience-carousel {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.experience-carousel-track {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
  direction: ltr;
}
.experience-carousel-track::-webkit-scrollbar { display: none; }
.experience-carousel-track:focus-visible { outline: 3px solid var(--orange); outline-offset: -3px; }
.experience-carousel-slide { flex: 0 0 100%; min-width: 0; margin: 0; scroll-snap-align: start; }
.experience-carousel-slide .experience-photo {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1.92;
  object-fit: contain;
  background: var(--navy);
}
.experience-carousel-controls {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 10px 14px;
  border-top: 1px solid var(--line);
  background: #faf8f4;
}
.experience-carousel-controls[hidden] { display: none; }
.experience-carousel-arrow {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid #c4ced6;
  border-radius: 50%;
  background: #fff;
  color: var(--navy);
  cursor: pointer;
  transition: background-color 180ms ease, border-color 180ms ease;
}
.experience-carousel-arrow svg { width: 22px; height: 22px; }
.experience-carousel-arrow:hover:not(:disabled) { background: #fff0e5; border-color: var(--orange); }
.experience-carousel-arrow:focus-visible { outline: 3px solid var(--orange); outline-offset: 2px; }
.experience-carousel-arrow:disabled { opacity: .4; cursor: default; }
.experience-carousel-count {
  margin: 0;
  color: var(--navy);
  font-size: .875rem;
  font-weight: 700;
  letter-spacing: .06em;
  font-variant-numeric: tabular-nums;
}
.about-experience .visit-details {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 60px;
  padding-top: 24px;
  line-height: 1.75;
}
.about-experience .visit-details h3 { color: var(--navy); font-size: 1.35rem; line-height: 1.25; margin-bottom: 12px; }
.about-experience .visit-details address { font-style: normal; margin-bottom: 12px; }
.about-experience .visit-details p { margin-bottom: 12px; }
.about-experience .visit-details p:last-child { margin-bottom: 0; }
.about-experience .visit-details strong { color: var(--navy); }
@media (max-width: 960px) {
  .about-experience .section-heading { grid-template-columns: 1fr; gap: 20px; }
}
@media (max-width: 760px) {
  .about-experience { padding-block: 48px; }
  .about-experience .section-heading { margin-bottom: 24px; }
  .about-experience .section-heading > div > p:not(.eyebrow) { font-size: 1rem; }
  .about-experience .eyebrow { font-size: .7rem; }
  .about-experience .heading-rule { width: 44px; margin-top: 14px; }
  .about-experience .visit-details { grid-template-columns: 1fr; gap: 20px; }
}
@media (max-width: 680px) {
  .experience-carousel-slide .experience-photo { aspect-ratio: 1.3; }
}
@media (prefers-reduced-motion: reduce) {
  .experience-carousel-arrow { transition: none; }
}


.mobile-contact{grid-template-columns:repeat(1,minmax(0,1fr));} .mobile-contact>a{flex:1;}

/* Personal stories: original portraits, orange actions, readable long-form dialogs. */
#our-team .person { display:flex; flex-direction:column; min-width:0; border:1px solid var(--line); border-radius:8px; overflow:hidden; background:#fff; }
#our-team .person h3 { margin:18px 16px 0; line-height:1.4; }
#our-team .person > p { margin:5px 16px 18px; font-size:.875rem; line-height:1.6; }
#our-team .story-button { display:flex; align-items:center; justify-content:center; gap:14px; width:calc(100% - 32px); margin:auto 16px 16px; padding:12px 10px; min-height:48px; border:1px solid var(--orange); border-radius:5px; color:#fff; background:var(--orange); font-size:.9375rem; font-weight:700; line-height:1.5; cursor:pointer; transition:background .2s,transform .2s; }
#our-team .story-button:hover { background:#cc570d; border-color:#cc570d; transform:translateY(-2px); }
.story-button svg { width:20px; height:20px; flex:none; fill:none; stroke:currentColor; stroke-width:1.7; }
.story-dialog { padding:0; border:0; border-radius:12px; width:min(1080px,calc(100vw - 48px)); max-width:none; max-height:calc(100vh - 64px); max-height:calc(100dvh - 64px); margin:auto; color:var(--ink); background:#fff; box-shadow:0 24px 100px #03132466; overflow:hidden; }
.story-dialog:not([open]) { display:none; }
.story-dialog::backdrop { background:rgba(9,33,59,.78); backdrop-filter:blur(4px); }
.story-dialog[open] { animation:story-arrive .24s ease-out; }
.story-dialog-scroll { max-height:calc(100vh - 64px); max-height:calc(100dvh - 64px); overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; -webkit-overflow-scrolling:touch; }
.story-dialog-layout { display:grid; grid-template-columns:minmax(240px,.78fr) minmax(0,1.5fr); align-items:start; }
.story-dialog-portrait { position:sticky; top:0; padding:32px 0 32px 32px; margin:0; }
.story-dialog-portrait img { width:100%; height:auto; max-height:calc(100vh - 130px); max-height:calc(100dvh - 130px); aspect-ratio:3/4; object-fit:cover; object-position:center 20%; border-radius:7px; background:#f4f6f8; }
.story-dialog-content { min-width:0; padding:40px 44px 40px 36px; }
.story-dialog-header { border-bottom:1px solid var(--line); padding-bottom:22px; margin-bottom:24px; padding-right:12px; }
.story-dialog-kicker { font-size:.75rem; line-height:1.5; font-weight:700; letter-spacing:.16em; color:#b44c0b; margin-bottom:12px; }
.story-dialog h2 { font-size:clamp(1.7rem,2.4vw,2.2rem); line-height:1.2; letter-spacing:-.035em; color:var(--navy); overflow-wrap:anywhere; }
.story-dialog-role { font-size:.9375rem; line-height:1.6; margin-top:10px; }
.story-dialog-body { font-size:1rem; line-height:1.85; overflow-wrap:break-word; }
.story-dialog-body p { color:#45556a; margin:0 0 20px; }
.story-dialog-body strong { color:var(--navy); font-weight:700; }
.story-dialog-body h3 { font-size:1.2rem; line-height:1.4; margin:30px 0 14px; color:var(--navy); }
.story-dialog-body > h3:first-child { margin-top:0; }
.story-dialog-body .story-lead { font-size:1.125rem; line-height:1.7; color:var(--navy); }
.story-dialog-body blockquote { margin:28px 0 24px; padding:22px 24px; border-left:3px solid var(--orange); background:#f5f7f9; }
.story-dialog-body blockquote p { margin:0; color:var(--navy); font-size:1.0625rem; font-weight:600; line-height:1.75; }
.story-dialog-body blockquote cite { display:block; margin-top:12px; font-size:.875rem; line-height:1.6; font-style:normal; color:var(--muted); }
.story-dialog-close { position:absolute; top:12px; right:12px; z-index:2; display:grid; place-items:center; width:44px; height:44px; padding:0; background:#fff; color:var(--navy); border:1px solid var(--line); border-radius:50%; cursor:pointer; box-shadow:0 2px 8px #102b4b0d; }
.story-dialog-close:hover { background:#f1f4f7; }
.story-dialog-close svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.6; }
.story-dialog-end { display:inline-flex; align-items:center; gap:10px; margin-top:12px; padding:10px 0; min-height:44px; background:none; border:0; color:var(--navy); font-size:.9375rem; font-weight:700; text-decoration:underline; text-underline-offset:5px; cursor:pointer; }
.story-dialog :focus-visible { outline:3px solid var(--orange); outline-offset:3px; }
@keyframes story-arrive { from { opacity:0; transform:translateY(14px) scale(.985); } to { opacity:1; transform:none; } }
@media(max-width:760px) {
  #our-team .person h3 { margin:14px 12px 0; }
  #our-team .person > p { margin:5px 12px 16px; }
  #our-team .story-button { width:calc(100% - 24px); margin:auto 12px 12px; font-size:.875rem; gap:8px; }
  .story-dialog { width:calc(100vw - 24px); max-height:calc(100vh - 24px); max-height:calc(100dvh - 24px); border-radius:10px; }
  .story-dialog-scroll { max-height:calc(100vh - 24px); max-height:calc(100dvh - 24px); }
  .story-dialog-layout { display:block; }
  .story-dialog-portrait { position:static; padding:24px 24px 0; }
  .story-dialog-portrait img { width:116px; height:140px; max-height:none; object-position:center 20%; }
  .story-dialog-content { padding:22px 24px 30px; }
  .story-dialog-header { padding-right:0; padding-bottom:18px; margin-bottom:22px; }
  .story-dialog-kicker { margin-bottom:8px; }
  .story-dialog-body blockquote { padding:18px; }
}
@media(max-width:360px) { #our-team .team-grid { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { .story-dialog[open] { animation:none; } #our-team .story-button { transition:none; } }


/* Full photographs keep every person in the frame. */
.celebrations { padding:76px 0; }
.celebrations .celebrations-heading { display:grid; grid-template-columns:1.15fr 1fr; gap:52px; align-items:end; margin-bottom:34px; }
.celebrations .eyebrow { margin-bottom:18px; }
.celebrations h2 { font-size:clamp(2rem,3.25vw,3rem); line-height:1.2; }
.celebrations h2 span { display:block; }
.celebrations-intro p { color:#d4dee9; font-size:1rem; line-height:1.8; }
.celebrations-intro .celebrations-lead { color:#fff; font-family:Manrope,Arial,sans-serif; font-size:1.2rem; line-height:1.5; font-weight:650; margin-bottom:12px; }
.celebrations-gallery { display:grid; grid-template-columns:1.5fr 1.7768fr; align-items:start; gap:24px; }
.celebrations-gallery figure { min-width:0; margin:0; }
.celebrations-gallery img { display:block; width:100%; height:auto; border-radius:5px; }
.celebrations-gallery figcaption { padding:18px 0 0; }
.celebrations-gallery h3 { color:#fff; font-size:1.125rem; line-height:1.5; letter-spacing:-.02em; margin-bottom:5px; }
.celebrations-gallery p { color:#d4dee9; font-size:.9375rem; line-height:1.7; }
@media(max-width:760px) {
  .celebrations { padding:52px 0; }
  .celebrations .celebrations-heading { grid-template-columns:1fr; gap:24px; margin-bottom:28px; }
  .celebrations .eyebrow { margin-bottom:14px; }
  .celebrations-gallery { grid-template-columns:1fr; gap:30px; }
  .celebrations-gallery figcaption { padding-top:14px; }
}


/* Shared Experience Centre feature, matched to the homepage. */
.pd-experience-section{display:block;position:relative;isolation:isolate;width:100%;max-width:none;margin:0;padding:96px 0;background:#f6f3ed;color:#162d40;font:400 16px/1.65 'DM Sans',sans-serif;text-align:left;scroll-margin-top:100px}
.pd-experience-section *{box-sizing:border-box}
.pd-experience-section .pd-ec-wrap{width:min(100% - 96px,1296px);margin:0 auto;padding:0}
.pd-experience-section .pd-ec-heading{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:100px;align-items:end;margin:0 0 40px}
.pd-experience-section .pd-ec-heading>div{min-width:0}
.pd-experience-section .pd-ec-eyebrow{margin:0 0 18px;padding:0;color:#bd5102;font:800 .875rem/1.5 'DM Sans',sans-serif;letter-spacing:.15em}
.pd-experience-section h2{margin:0;padding:0;color:#162d40;font:700 clamp(2rem,3.4vw,3.4rem)/1.16 'Manrope',sans-serif;letter-spacing:-.045em;text-transform:none;max-width:none}
.pd-experience-section .pd-ec-heading>div>p:not(.pd-ec-eyebrow){margin:0;max-width:540px;color:#62717c;font-size:1.0625rem;line-height:1.75}
.pd-experience-section .pd-ec-rule{display:block;width:54px;height:2px;background:#f47920;margin:18px 0 0}
.pd-experience-section .pd-ec-link{display:inline-flex;align-items:center;gap:20px;padding:8px 0;border:0;border-bottom:1px solid #c0cad1;background:none;color:#092945;font:800 .875rem/1.5 'DM Sans',sans-serif;text-decoration:none;letter-spacing:0}
.pd-experience-section .pd-ec-heading .pd-ec-link{margin-top:20px}
.pd-experience-section .pd-ec-link>span{color:#bc4b00;font-size:1.2rem}
.pd-experience-section .pd-ec-link:hover{color:#b44d03;border-color:#f47920}
.pd-experience-section .pd-ec-link:focus-visible{outline:3px solid #f47920;outline-offset:5px}
.pd-experience-section .pd-ec-carousel{min-width:0;overflow:hidden;border:1px solid #dce2e6;border-radius:8px;background:#fff}
.pd-experience-section .pd-ec-carousel-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;direction:ltr}
.pd-experience-section .pd-ec-carousel-track::-webkit-scrollbar{display:none}
.pd-experience-section .pd-ec-carousel-track:focus-visible{outline:3px solid #f47920;outline-offset:-3px}
.pd-experience-section .pd-ec-carousel-slide{display:block;flex:0 0 100%;min-width:0;margin:0;padding:0;scroll-snap-align:start}
.pd-experience-section .pd-ec-photo{display:block;width:100%;height:auto;aspect-ratio:1.92;object-fit:contain;object-position:center;background:#092945;border:0;border-radius:0;margin:0;padding:0}
.pd-experience-section .pd-ec-carousel-controls{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:10px 14px;border-top:1px solid #dce2e6;background:#faf8f4}
.pd-experience-section .pd-ec-carousel-controls[hidden]{display:none}
.pd-experience-section .pd-ec-carousel-arrow{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;padding:0;border:1px solid #c4ced6;border-radius:50%;background:#fff;color:#092945;cursor:pointer;transition:background-color 180ms ease,border-color 180ms ease}
.pd-experience-section .pd-ec-carousel-arrow svg{display:block;width:22px;height:22px}
.pd-experience-section .pd-ec-carousel-arrow:hover:not(:disabled){background:#fff0e5;border-color:#f47920}
.pd-experience-section .pd-ec-carousel-arrow:focus-visible{outline:3px solid #f47920;outline-offset:2px}
.pd-experience-section .pd-ec-carousel-arrow:disabled{opacity:.4;cursor:default}
.pd-experience-section .pd-ec-carousel-count{margin:0;padding:0;font:700 .875rem/1.65 'DM Sans',sans-serif;letter-spacing:.06em;color:#092945;font-variant-numeric:tabular-nums}
.pd-experience-section .pd-ec-details{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:60px;padding-top:32px;line-height:1.75}
.pd-experience-section .pd-ec-details h3{margin:0 0 1em;color:#162d40;font:700 1.35rem/1.25 'Manrope',sans-serif;letter-spacing:-.025em}
.pd-experience-section .pd-ec-details address{font-style:normal;margin:0 0 14px}
.pd-experience-section .pd-ec-details p{color:#62717c;margin:0 0 14px}
.pd-experience-section .pd-ec-details strong{color:#092945}
@media(max-width:1280px){.pd-experience-section .pd-ec-heading{gap:50px}}
@media(max-width:960px){.pd-experience-section{padding-block:64px}.pd-experience-section .pd-ec-wrap{width:calc(100% - 48px)}.pd-experience-section .pd-ec-heading{grid-template-columns:1fr;gap:24px}}
@media(max-width:760px){.pd-experience-section .pd-ec-details{grid-template-columns:1fr;gap:20px}}
@media(max-width:680px){.pd-experience-section{padding-block:54px}.pd-experience-section .pd-ec-wrap{width:calc(100% - 40px)}.pd-experience-section .pd-ec-heading{margin-bottom:28px}.pd-experience-section .pd-ec-heading>div>p:not(.pd-ec-eyebrow){font-size:1rem}.pd-experience-section .pd-ec-photo{aspect-ratio:1.3}.pd-experience-section .pd-ec-rule{width:44px;margin-top:15px}}
@media(prefers-reduced-motion:reduce){.pd-experience-section .pd-ec-carousel-arrow{transition:none}}

