@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,600;12..96,700;12..96,800&display=swap');
:root{--ink:#192446;--blue:#2449aa;--red:#dd563e;--paper:#f4f0e8;--white:#fffdf8;--line:#bfc4cd;--muted:#47516a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 'DM Sans',sans-serif}::selection{background:var(--red);color:#fff}a{color:inherit;text-underline-offset:.22em}a:hover{color:var(--red)}a:focus-visible,button:focus-visible{outline:3px solid var(--red);outline-offset:4px}button{font:inherit}.wrap{width:min(1240px,calc(100% - 64px));margin:auto}
.site-header{background:var(--paper);border-bottom:1px solid var(--ink);position:relative;z-index:10}.nav{min-height:104px;display:flex;align-items:center;gap:44px}.brand{font:700 31px/1 'Fraunces',Georgia,serif;text-decoration:none;letter-spacing:-.035em;flex:none}.brand span{display:block;font:700 10px/1.5 'DM Sans',sans-serif;letter-spacing:.13em;text-transform:uppercase;margin-top:8px}.links{display:flex;align-items:center;gap:27px;margin-left:auto}.links>a,.nav-service>a{font-size:13px;text-decoration:none;font-weight:700;text-transform:uppercase;letter-spacing:.07em}.nav-service{position:relative;display:flex;align-items:center;gap:3px}.nav-service button,.menu{border:0;background:transparent;color:var(--ink);cursor:pointer;font-size:18px}.submenu{display:none;position:absolute;top:100%;left:-16px;background:var(--white);border:1px solid var(--ink);width:260px;padding:10px;z-index:12;box-shadow:9px 12px 0 #19244620}.submenu a{display:block;padding:8px 9px;font-size:14px;text-decoration:none}.submenu a:hover{background:var(--paper)}.nav-service:hover .submenu,.nav-service:focus-within .submenu,.nav-service.open .submenu{display:block}.menu{display:none}.links .button.small{background:var(--red);color:#fff;padding:12px 16px;border-radius:0}
.hero{background:var(--paper);padding:0 0 44px}.hero-grid{min-height:0;padding:0}.hero-topline{display:flex;justify-content:space-between;padding:17px 0;border-bottom:1px solid var(--ink);font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.hero-copy{display:grid;grid-template-columns:1.55fr .7fr;gap:80px;align-items:end;padding:54px 0 68px}.hero h1{margin:0;font:700 clamp(56px,6.3vw,104px)/.98 'Fraunces',Georgia,serif;letter-spacing:-.04em;max-width:950px}.hero-aside{border-top:5px solid var(--red);padding-top:18px;max-width:340px}.lead{color:var(--muted);font-size:19px;line-height:1.5;margin:0}.actions{display:flex;flex-direction:column;align-items:flex-start;gap:18px;margin-top:29px}.button{background:var(--blue);color:white!important;text-decoration:none;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:700;padding:16px 19px;display:inline-flex;align-items:center;gap:38px}.button:hover{background:var(--red)}.text-link{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;text-decoration-thickness:1px}.hero-photo{width:min(1440px,calc(100% - 24px));height:clamp(340px,43vw,650px);margin:auto;overflow:hidden;background:#d7d4c9}.hero-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 56%}
.section{padding:100px 0;border-top:1px solid var(--ink)}.section:nth-child(even){background:var(--white)}.section .wrap{display:grid;grid-template-columns:30% 1fr;column-gap:8%;align-items:start}.section h2{font:600 clamp(32px,3.2vw,55px)/1.06 'Fraunces',Georgia,serif;letter-spacing:-.03em;margin:0;max-width:360px}.section .wrap>p{margin:0;max-width:670px;font-size:19px;line-height:1.55}.section .wrap>p:nth-child(n+3){grid-column:2}.cards{grid-column:2;display:block;border-top:1px solid var(--ink)}.card{display:grid;grid-template-columns:45px minmax(140px,1fr) minmax(170px,1.3fr) 25px;align-items:baseline;gap:18px;text-decoration:none;padding:26px 0;border-bottom:1px solid var(--ink);transition:background .2s,padding .2s}.card:hover{background:#e2e7f6;padding-left:12px;padding-right:12px}.row-number{font-size:11px;font-weight:700;color:var(--red);letter-spacing:.07em}.card h3{font:600 clamp(22px,2.25vw,32px)/1.13 'Fraunces',Georgia,serif;letter-spacing:-.025em;margin:0}.card p{font-size:14px;line-height:1.5;color:var(--muted);margin:0}.row-arrow{font-size:24px;line-height:1;color:var(--red)}.steps,.split{grid-column:2;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.split{grid-template-columns:1fr 1fr}.steps p,.split>div{border-top:3px solid var(--red);padding-top:13px;margin:0}.split h3{font:600 28px/1.2 'Fraunces',Georgia,serif;margin:0 0 12px}.cta{background:var(--blue)!important;color:#fff;border:0}.cta h2,.cta a,.cta .wrap>p{color:#fff}.cta .button{background:var(--red)}
.article{width:min(840px,calc(100% - 48px));margin:auto;padding:80px 0 120px}.article>a:first-child{font-size:12px;text-transform:uppercase;font-weight:700;letter-spacing:.08em}.article h1{font:700 clamp(47px,5.5vw,78px)/1.02 'Fraunces',Georgia,serif;letter-spacing:-.035em;margin:30px 0}.article .lead{font-size:23px;color:var(--ink);border-top:5px solid var(--red);padding-top:22px}.article-meta{font-size:12px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}.article h2{font:600 38px/1.14 'Fraunces',Georgia,serif;margin:65px 0 15px}.article p,.article li{max-width:70ch}.article li{padding-bottom:8px}footer{background:#17264b;color:#f6f2e9;padding:75px 0}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:65px}footer strong{font:600 27px 'Fraunces',Georgia,serif}footer a{display:block;color:#e5e7f0;font-size:13px;margin:8px 0;text-transform:capitalize}footer p{color:#c6cede;font-size:14px}
@media(max-width:1120px){.menu{display:block;margin-left:auto;text-transform:uppercase;font-size:13px;font-weight:700}.links{display:none;position:absolute;top:104px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--ink);padding:25px 32px;flex-direction:column;align-items:stretch;gap:16px}.links.open{display:flex}.nav-service{display:block}.nav-service button{float:right}.submenu{position:static;box-shadow:none;width:auto;margin-top:8px}.nav-service:hover .submenu,.nav-service:focus-within .submenu{display:none}.nav-service.open .submenu{display:block}.hero-copy{gap:35px}.section .wrap{grid-template-columns:26% 1fr;column-gap:7%}}@media(max-width:760px){.wrap{width:calc(100% - 36px)}.nav{min-height:78px}.brand{font-size:25px}.brand span{font-size:8px;margin-top:5px}.links{top:78px}.hero-topline span:last-child{display:none}.hero-copy{display:block;padding:40px 0 45px}.hero h1{font-size:clamp(48px,10vw,75px)}.hero-aside{margin-top:32px;max-width:580px;border-top-width:3px}.actions{flex-direction:row;flex-wrap:wrap;align-items:center}.hero-photo{width:calc(100% - 12px);height:360px}.section{padding:65px 0}.section .wrap{display:block}.section h2{margin-bottom:30px;max-width:580px}.cards{margin-top:25px}.card{grid-template-columns:32px 1fr 25px;gap:9px;padding:21px 0}.card p{grid-column:2;grid-row:2}.row-arrow{grid-column:3;grid-row:1}.steps,.split{display:block}.steps p,.split>div{margin-bottom:28px}.footer-grid{grid-template-columns:1fr 1fr;gap:30px}.footer-grid>div:first-child{grid-column:1/-1}}@media(max-width:480px){.hero h1{font-size:48px}.hero-photo{height:260px}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.article{padding:50px 0 80px}.article h1{font-size:47px}.article h2{font-size:31px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.card{transition:none}}

/* Full-bleed service direction inspired by the supplied reference. */
:root{--ink:#17342e;--blue:#173f36;--red:#cbea62;--paper:#f7f7f0;--white:#fffefa;--line:#c9d1c6;--muted:#4f625a}
body{background:var(--paper);color:var(--ink)}.utility{background:#14382f;color:#f3f6e7}.utility .wrap{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:11px;font-weight:700;letter-spacing:.04em}.site-header{background:#fff;border-bottom:0}.nav{min-height:86px}.brand{display:flex;align-items:center;gap:12px;font:800 26px/1 'Bricolage Grotesque',sans-serif;letter-spacing:-.035em}.brand span{display:initial;margin:0;font:inherit;letter-spacing:inherit;text-transform:none}.brand .brand-name{display:block}.brand .brand-name small{display:block;font:800 9px/1.3 'DM Sans',sans-serif;text-transform:uppercase;letter-spacing:.12em;margin-top:4px}.brand .brand-icon{display:flex;flex-direction:column;justify-content:center;gap:4px;width:45px;height:45px;padding:11px;background:var(--ink);border-radius:13px 13px 5px 13px;transform:rotate(-8deg)}.brand-icon i{height:3px;width:24px;background:var(--red);display:block;transform:skewX(-18deg)}.brand-icon i:nth-child(2){width:20px}.brand-icon i:nth-child(3){width:16px}.links>a,.nav-service>a{letter-spacing:0;text-transform:none;font-size:14px}.links .button.small{background:var(--red);color:var(--ink)!important;border-radius:10px;font-weight:800;font-size:13px;text-transform:none;letter-spacing:0;padding:13px 20px}.submenu{border:0;border-radius:12px;box-shadow:0 14px 35px #0a2a242b}.submenu a:hover{background:#edf4d2}
.hero{position:relative;background:#14382f;color:#fff;padding:0;overflow:hidden}.hero.has-photo{min-height:665px}.hero.plain-hero{min-height:455px;background:radial-gradient(circle at 82% 50%,#2b5748 0,#173b32 48%,#112f2a 100%)}.hero-photo{position:absolute;inset:0;width:100%;height:100%;max-width:none;margin:0;z-index:0}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center}.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,40,35,.94) 0%,rgba(13,40,35,.83) 35%,rgba(13,40,35,.25) 74%,rgba(13,40,35,.02) 100%)}.hero-grid{position:relative;z-index:1;min-height:inherit;display:flex;flex-direction:column;justify-content:center}.hero-topline{position:absolute;top:25px;left:0;right:0;border:0;padding:0;color:#d5edb0;font-size:11px}.hero-copy{display:block;padding:105px 0 70px;max-width:800px}.hero h1{font:800 clamp(50px,6vw,84px)/.98 'Bricolage Grotesque',sans-serif;letter-spacing:-.035em;color:#fff;max-width:730px;margin:0 0 25px;text-wrap:balance}.hero-aside{border:0;padding:0;max-width:600px}.hero .lead{color:#eef5ed;font-size:19px;line-height:1.55;max-width:610px}.hero .actions{flex-direction:row;align-items:center;gap:25px;margin-top:33px}.hero .button{background:var(--red);color:var(--ink)!important;border-radius:10px;text-transform:none;letter-spacing:0;font-size:14px;font-weight:800;padding:14px 20px;gap:35px}.hero .text-link{color:#fff;text-transform:none;letter-spacing:0;font-size:14px;font-weight:700;text-decoration:none}.hero .text-link:hover{text-decoration:underline}.hero .button:hover,.links .button.small:hover{background:#e1fb86}
.section{border-color:var(--line)}.section h2,.card h3,.split h3,.article h1,.article h2,footer strong{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;letter-spacing:-.03em}.section h2{font-size:clamp(31px,3.3vw,51px)}.card h3{font-size:clamp(21px,2.2vw,31px)}.card{border-color:var(--line)}.cards{border-color:var(--line)}.card:hover{background:#eaf4d7}.row-number,.row-arrow{color:#4e8063}.steps p,.split>div{border-color:var(--red)}.cta{background:#173f36!important}.cta .button{background:var(--red);color:var(--ink)!important}.article .lead{border-color:var(--red)}footer{background:#102e28}footer strong{font-size:26px}
@media(max-width:1120px){.links{top:120px}.menu{color:var(--ink)}.hero-copy{display:block}}@media(max-width:760px){.utility .wrap{min-height:30px}.nav{min-height:75px}.links{top:105px}.brand{font-size:23px}.brand .brand-icon{width:40px;height:40px}.hero.has-photo{min-height:650px}.hero.plain-hero{min-height:400px}.hero-copy{padding:100px 0 65px}.hero h1{font-size:clamp(47px,10vw,68px)}.hero .lead{font-size:17px}.hero-photo{width:100%;height:100%}.hero-photo img{object-position:63% center}.hero-photo:after{background:linear-gradient(90deg,rgba(13,40,35,.93),rgba(13,40,35,.75) 60%,rgba(13,40,35,.35))}}@media(max-width:480px){.utility .wrap{font-size:9px}.brand{font-size:20px}.brand .brand-name small{font-size:7px}.hero.has-photo{min-height:620px}.hero h1{font-size:46px}.hero .actions{align-items:flex-start;flex-direction:column;gap:17px}}
