:root{--ink:#173b30;--muted:#52635a;--paper:#faf8f0;--line:#d9ddd1;--sage:#e8ede3;--gold:#e5bc68;--white:#fffef9;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-underline-offset:4px}a:hover{text-decoration-thickness:2px}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid #b76335;outline-offset:5px}img{display:block;width:100%;height:auto}svg.icon{width:20px;height:20px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.8}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400;line-height:1.12}h1,h2{font-family:var(--serif)}h1{font-size:clamp(40px,5.5vw,76px);letter-spacing:-2.5px;max-width:820px}h2{font-size:clamp(30px,3.1vw,44px);letter-spacing:-1px}h3{font-size:21px;line-height:1.3}p+p{margin-top:17px}.wrap{width:min(1200px,calc(100% - 80px));margin-inline:auto}.skip{position:fixed;top:-100px;left:15px;padding:12px;background:var(--ink);color:white;z-index:20}.skip:focus{top:10px}.utility{background:var(--ink);color:#f5f0dc;font-size:12px;letter-spacing:.4px}.utility .wrap{display:flex;justify-content:space-between;align-items:center;min-height:34px;gap:20px}.utility a{display:flex;align-items:center;gap:8px;text-decoration:none}.utility svg{width:14px;height:14px}.masthead{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-block:24px}.brand{display:flex;gap:13px;align-items:center;text-decoration:none;line-height:1.1}.brand-mark{width:47px;height:53px;flex-shrink:0}.brand strong{font-family:var(--serif);font-size:25px;font-weight:400;letter-spacing:-.6px}.brand small{display:block;text-transform:uppercase;font-size:10px;letter-spacing:3.3px;margin-top:8px}.header-actions{display:flex;align-items:center;gap:12px}.icon-button{display:inline-flex;align-items:center;gap:9px;border:1px solid var(--line);background:transparent;color:var(--ink);padding:11px 14px;min-height:46px;border-radius:4px}.icon-button:hover{background:var(--sage)}.quote-cta{display:inline-flex;gap:22px;align-items:center;justify-content:center;min-height:51px;padding:13px 23px;background:var(--ink);border:1px solid var(--ink);color:white;font-weight:600;font-size:14px;border-radius:4px;text-decoration:none;white-space:nowrap}.quote-cta:hover{background:#285542}.primary-nav{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.primary-nav .wrap{display:flex;justify-content:space-between;gap:18px}.primary-nav a{padding:13px 0;text-decoration:none;font-size:13px;position:relative}.primary-nav a.active:after,.primary-nav a:hover:after{position:absolute;bottom:-1px;left:0;right:0;height:3px;background:var(--ink);content:''}.breadcrumbs{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:11px;color:var(--muted);padding-block:20px;line-height:1.65}.breadcrumbs a{text-decoration:none}.breadcrumbs span[aria-hidden]{color:#8b978b}.hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:52px;padding-block:50px 64px}.home-hero{padding-top:65px}.eyebrow{font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:700;display:flex;align-items:center;gap:11px;margin-bottom:22px}.eyebrow:before{content:'';width:22px;height:1px;background:currentColor}.hero h1{margin-bottom:24px}.hero .intro{font-size:17px;color:var(--muted);line-height:1.8;max-width:560px}.hero-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin-top:30px}.text-link{font-size:13px;font-weight:bold;display:inline-flex;gap:9px;align-items:center}.hero-art{position:relative}.hero-art img{border-radius:120px 8px 8px 8px;border:1px solid #d4d7c9;aspect-ratio:9/7;object-fit:cover}.art-caption{display:flex;justify-content:space-between;gap:20px;font-size:10px;text-transform:uppercase;letter-spacing:1.4px;padding-top:13px;color:var(--muted)}.home-hero h1{max-width:560px}.feature-strip{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line);margin-bottom:76px;padding-block:26px;gap:32px}.feature-strip div{display:flex;align-items:center;gap:16px;font-size:13px}.feature-strip svg{width:29px;height:29px;color:#688372}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:28px}.section-head p{max-width:370px;font-size:14px;color:var(--muted)}.service-section{margin-bottom:72px}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.service-card{border:1px solid var(--line);background:var(--white);border-radius:6px;overflow:hidden;text-decoration:none;transition:transform .2s,box-shadow .2s}.service-card:hover{transform:translateY(-3px);box-shadow:0 10px 28px #173b3010}.service-card img{aspect-ratio:1.65;object-fit:cover;object-position:center 44%;border-bottom:1px solid var(--line)}.card-copy{padding:24px}.card-copy h3{display:flex;justify-content:space-between;gap:20px;margin-bottom:12px}.card-copy p{font-size:13px;line-height:1.75;color:var(--muted)}.card-copy .icon{margin-top:3px}.card-grid.five{grid-template-columns:repeat(6,minmax(0,1fr))}.card-grid.five .service-card{grid-column:span 2}.card-grid.five .service-card:nth-child(n+4){grid-column:span 3}.problem-band{background:var(--sage);border-radius:7px;padding:32px 36px;display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:72px}.problem-band h2{font-size:30px}.problem-band p{color:var(--muted);font-size:14px;margin-top:10px}.problem-band a{white-space:nowrap}.content-layout{display:grid;grid-template-columns:255px minmax(0,1fr);gap:80px;margin-block:70px 80px}.contents{align-self:start;position:sticky;top:25px;font-size:13px}.contents details{border-top:2px solid var(--ink)}.contents summary{padding-block:19px;font-size:11px;font-weight:bold;text-transform:uppercase;letter-spacing:1.5px;cursor:pointer}.contents nav{display:grid;gap:0;padding-bottom:16px}.contents a{display:block;text-decoration:none;padding:8px 0;color:var(--muted);line-height:1.5}.contents a:hover{color:var(--ink)}.useful{margin-top:20px;padding:24px;background:var(--sage);border-radius:5px}.useful h3{font-size:17px;margin-bottom:16px}.useful ul{padding-left:17px;margin:0;color:var(--muted);font-size:12px}.useful li+li{margin-top:10px}.article-section{padding-bottom:36px;margin-bottom:34px;border-bottom:1px solid var(--line);scroll-margin-top:25px}.article-section h2{font-size:32px;line-height:1.25;margin-bottom:21px}.article-section p{font-size:16px;color:#42554a;line-height:1.9}.context-links{display:flex;align-items:baseline;gap:8px 15px;flex-wrap:wrap;margin-top:19px;font-size:12px}.context-links span{text-transform:uppercase;letter-spacing:1px;font-size:9px;color:var(--muted)}.reference{font-size:11px!important;margin-top:17px!important}.faq{margin-top:46px}.faq h2{font-size:33px;margin-bottom:25px}.faq details{border-top:1px solid var(--line)}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{list-style:none;padding:20px 36px 20px 0;position:relative;cursor:pointer;font-weight:600;font-size:14px;line-height:1.6}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';position:absolute;right:4px;top:20px;font-size:20px;font-weight:400}.faq details[open] summary:after{content:'-'}.faq details p{font-size:14px;line-height:1.8;color:var(--muted);padding:0 25px 22px 0}.related-section{margin-bottom:76px}.related-section h2{font-size:35px}.quote-band{background:var(--ink);color:var(--paper);padding:52px;border-radius:7px;display:flex;justify-content:space-between;gap:42px;align-items:center;margin-block:55px 80px}.quote-band h2{max-width:650px;font-size:43px}.quote-band p{color:#d0dacd;margin-top:16px;font-size:15px;max-width:630px}.quote-band .quote-cta{background:var(--gold);color:var(--ink);border-color:var(--gold)}.quote-band .eyebrow{color:#d8bd7c;margin-bottom:18px}.footer{background:#e8ecdf;border-top:1px solid var(--line);padding-block:55px 26px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:60px}.footer p{font-size:13px;max-width:300px;color:var(--muted);margin-top:22px}.footer h2{font:700 11px var(--sans);letter-spacing:1.7px;text-transform:uppercase;margin-bottom:17px}.footer nav{display:grid;gap:9px;font-size:13px}.footer nav a{text-decoration:none}.footer-bottom{border-top:1px solid #cdd4c6;padding-top:24px;margin-top:40px;display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:.5px;color:var(--muted)}.mobile-quote{display:none}.site-dialog{padding:0;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:8px;width:min(1100px,calc(100% - 40px));max-height:85dvh;overscroll-behavior:contain}.site-dialog::backdrop{background:#0e2922b8;backdrop-filter:blur(4px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:24px 30px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--paper);z-index:2}.dialog-head h2{font-size:30px}.dialog-body{padding:30px}.menu-top{display:flex;gap:30px;flex-wrap:wrap;margin-bottom:26px;font-size:14px}.menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}.menu-group h3{font-family:var(--serif);font-size:25px;margin-bottom:18px}.menu-group h3 a{text-decoration:none}.menu-group>a{display:block;padding:7px 0;font-size:13px}.menu-group details{border-top:1px solid var(--line);font-size:13px}.menu-group summary{cursor:pointer;padding:12px 0;font-weight:bold}.menu-group details a{display:block;padding:8px 12px;text-decoration:none;font-size:12px;line-height:1.45}.menu-group a[aria-current=page]{font-weight:bold;text-decoration:underline}.search-dialog{max-width:750px}.search-label{font-size:12px;font-weight:bold;display:block;margin-bottom:10px}.search-input{width:100%;border:1px solid #9aaa98;background:var(--white);color:var(--ink);padding:15px 17px;border-radius:4px;font-size:18px}.search-status{font-size:12px;color:var(--muted);margin-block:16px}.search-results{display:grid;gap:4px}.search-results a{display:block;padding:17px 4px;border-top:1px solid var(--line);text-decoration:none}.search-results strong{font-family:var(--serif);font-size:22px;font-weight:400;display:block}.search-results span{display:block;font-size:12px;color:var(--muted);margin-top:6px}.search-empty{padding:20px 0;font-size:15px}.not-found{text-align:center;padding-block:100px}.not-found p{margin:25px auto;max-width:580px}.not-found .quote-cta{margin-top:20px}@media(min-width:1200px){.hero:not(.home-hero) h1{font-size:58px}.hero:not(.home-hero){gap:65px}}@media(max-width:1000px){.wrap{width:calc(100% - 48px)}.hero{gap:30px}.hero h1{font-size:48px;letter-spacing:-1.7px}.content-layout{gap:40px;grid-template-columns:210px minmax(0,1fr)}.header-actions .quote-cta{display:none}.card-copy{padding:20px}.quote-band{padding:38px}.quote-band h2{font-size:35px}.footer-grid{gap:30px}.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.wrap{width:calc(100% - 36px)}.utility .wrap{font-size:10px;min-height:32px}.utility .utility-copy{max-width:165px;line-height:1.4}.masthead{padding-block:18px;gap:10px}.brand strong{font-size:20px}.brand small{font-size:8px;letter-spacing:2.5px}.brand-mark{width:34px;height:40px}.brand{gap:9px}.header-actions{gap:7px}.icon-button{padding:10px;min-height:42px}.icon-button .button-label{display:none}.primary-nav{display:none}.hero,.home-hero{grid-template-columns:1fr;padding-block:26px 37px;gap:34px}.hero h1{font-size:48px;letter-spacing:-1.8px;max-width:580px}.hero .intro{font-size:16px;line-height:1.75}.eyebrow{font-size:10px;margin-bottom:17px;letter-spacing:1.6px}.hero-actions{margin-top:25px;gap:20px}.hero-art img{border-top-left-radius:85px}.art-caption{font-size:9px;letter-spacing:.9px}.feature-strip{grid-template-columns:1fr;gap:16px;padding-block:22px;margin-bottom:45px}.feature-strip div{font-size:12px}.feature-strip svg{width:22px;height:22px}.section-head{display:block;margin-bottom:25px}.section-head p{margin-top:17px}.card-grid,.card-grid.five{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.card-grid.five .service-card,.card-grid.five .service-card:nth-child(n+4){grid-column:auto}.card-grid.five .service-card:last-child{grid-column:span 2}.card-copy{padding:16px}.card-copy h3{font-size:18px;gap:8px}.card-copy p{font-size:12px}.card-copy .icon{width:16px;height:16px}.service-section{margin-bottom:45px}.problem-band{display:block;padding:25px;margin-bottom:45px}.problem-band .text-link{margin-top:20px}.content-layout{display:block;margin-block:40px 50px}.contents{position:static;margin-bottom:35px}.contents details{border-bottom:1px solid var(--line)}.contents .useful{display:none}.article-section h2{font-size:28px}.article-section p{font-size:15px;line-height:1.9}.article-section{margin-bottom:28px;padding-bottom:28px}.quote-band{display:block;padding:30px 25px;margin-block:40px 48px}.quote-band h2{font-size:34px}.quote-band .quote-cta{margin-top:27px}.footer-grid{grid-template-columns:1fr 1fr;gap:32px}.footer-brand{grid-column:span 2}.footer-bottom{display:block;padding-bottom:65px}.footer-bottom span{display:block;margin-bottom:10px}.mobile-quote{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:4;padding:10px 18px calc(10px + env(safe-area-inset-bottom));background:#faf8f0f5;border-top:1px solid var(--line);backdrop-filter:blur(10px)}.mobile-quote .quote-cta{width:100%;min-height:45px;padding:9px 20px;justify-content:space-between}.site-dialog{width:calc(100% - 24px);max-height:90dvh}.dialog-head{padding:20px}.dialog-body{padding:22px 20px}.dialog-head h2{font-size:26px}.menu-grid{grid-template-columns:1fr;gap:28px}.menu-top{gap:15px;font-size:13px}.related-section{margin-bottom:45px}.breadcrumbs{font-size:10px;padding-bottom:0}.search-input{font-size:16px}}@media(max-width:370px){.wrap{width:calc(100% - 30px)}.brand strong{font-size:18px}.brand small{font-size:7px}.hero h1{font-size:41px}.hero-actions{gap:18px}.hero-actions .text-link{font-size:12px}.card-grid,.card-grid.five{grid-template-columns:1fr}.card-grid.five .service-card:last-child{grid-column:auto}.utility .utility-copy{max-width:145px}.utility a{font-size:9px}.brand-mark{width:29px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.card-copy h3{display:block;overflow-wrap:break-word}

/* Mega menu: comfortable pointer, keyboard and touch navigation. */
.menu-top a,.menu-group h3 a,.menu-group>a,.menu-group details a{display:flex;align-items:center;min-height:48px;padding:12px 10px;border-radius:4px}
.menu-group h3{margin-bottom:10px}.menu-group h3 a{padding-inline:0}
.menu-group details a{font-size:14px;line-height:1.5;padding-left:18px}
.menu-group summary{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:52px;padding:13px 10px;list-style:none;font-size:14px}
.menu-group summary::-webkit-details-marker{display:none}.menu-group summary .icon{width:18px;height:18px;flex:none;transition:transform .15s}
.menu-group details[open]>summary .icon{transform:rotate(180deg)}
.menu-group a:hover,.menu-group summary:hover,.menu-top a:hover{background:#e7ecdf}
.menu-top{gap:12px 24px}.menu-top a{border:1px solid var(--line);padding-inline:16px}
@media(max-width:700px){.menu-grid{grid-template-columns:1fr}.menu-group h3{font-size:24px}.menu-group details a{padding-block:14px}}

.art-caption{display:block;font-size:12px;line-height:1.55;text-transform:none;letter-spacing:0;padding-top:12px}

.footer-email{display:inline-flex;align-items:center;gap:9px;min-height:44px;font-size:14px;color:var(--ink);text-underline-offset:3px}.footer-email .icon{width:18px;height:18px;flex:none}
