:root{--navy:#0c385a;--ink:#203747;--teal:#16777c;--cream:#f7f3ea;--paper:#fffdfa;--brass:#9c793e;--muted:#576873;--line:#d5d8d2;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.65 var(--sans)}a{color:inherit}img{display:block;width:100%;height:auto}p{margin:0 0 20px}h1,h2,h3{margin:0;color:var(--navy);font-weight:400}h1,h2{font-family:var(--serif);line-height:1.09;letter-spacing:-.045em}h1 em,h2 em{font-weight:400;color:var(--teal)}h3{font-size:1.4rem;line-height:1.3;letter-spacing:-.02em}.wrap{width:min(1280px,calc(100% - 112px));margin:auto}.eyebrow{font-size:.69rem;font-weight:700;text-transform:uppercase;letter-spacing:.17em;color:var(--teal);margin:0 0 24px}section{padding:110px 0}h2{font-size:clamp(2.5rem,4.3vw,4.1rem)}.button{display:inline-flex;align-items:center;justify-content:center;gap:27px;min-height:54px;padding:15px 23px;border:1px solid var(--navy);background:var(--navy);color:white;text-decoration:none;font:700 .85rem/1.4 var(--sans);cursor:pointer;transition:background .2s}.button:hover{background:var(--teal);border-color:var(--teal)}.button span{font-size:1.1rem}.button.small{min-height:48px;padding:12px 19px}.text-link{display:inline-flex;align-items:center;gap:20px;min-height:48px;color:var(--navy);font-size:.84rem;font-weight:700;text-decoration:none}.text-link:hover{text-decoration:underline;text-underline-offset:5px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--teal);outline-offset:5px}.skip-link{position:fixed;left:15px;top:-80px;padding:12px 20px;background:var(--navy);color:white;z-index:10}.skip-link:focus{top:12px}.site-header{border-bottom:1px solid var(--line)}nav{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:106px}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;white-space:nowrap;font-family:var(--serif);font-size:1.45rem;color:var(--navy);line-height:1.2}.brand em{font-style:normal}.brand-mark{display:grid;place-items:center;width:42px;height:42px;background:var(--teal);color:white;border-radius:10px;font-size:1.6rem}.brand small{display:block;font:600 .48rem/1.5 var(--sans);letter-spacing:.19em;margin-top:6px}.nav-links{display:flex;align-items:center;gap:30px}.nav-links>a:not(.button){font-size:.81rem;text-decoration:none}.nav-links>a:not(.button):hover{text-decoration:underline;text-underline-offset:5px}.hero{padding:55px 0 62px}.hero-grid{display:grid;grid-template-columns:1.04fr 1fr;gap:48px;align-items:center}.hero h1{font-size:clamp(3.1rem,4.8vw,4.7rem)}.hero .eyebrow{max-width:350px;font-size:.64rem;line-height:1.6;margin-bottom:27px}.hero-copy{color:var(--muted);max-width:460px;font-size:1.03rem;margin:27px 0}.hero-actions{display:flex;flex-wrap:wrap;gap:8px 26px}.hero-note{color:var(--muted);font-size:.72rem;margin:24px 0 0}.hero-note span{color:var(--brass);margin-right:8px}.hero-photo{position:relative;margin:0;padding:0 0 38px 0}.hero-photo img{height:560px;object-fit:cover;object-position:62% center;border-radius:180px 0 0 0}.hero-photo figcaption{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;gap:12px;padding-top:12px;border-top:1px solid var(--brass);font-size:.62rem;color:var(--muted)}.photo-index{position:absolute;right:18px;bottom:64px;font-size:.48rem;letter-spacing:.14em;color:white;background:rgba(12,56,90,.8);padding:7px 9px}.service-strip{border-block:1px solid var(--line);background:#eceee7}.service-strip .wrap{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-block:25px}.service-strip p{margin:0;color:var(--navy);font:italic 1.22rem/1.3 var(--serif)}.service-strip span{color:var(--muted);font-size:.75rem}.section-heading{display:grid;grid-template-columns:1.1fr 1fr;gap:100px;align-items:end;margin-bottom:58px}.section-heading>p{max-width:460px;margin:0;color:var(--muted);font-size:.98rem}.section-heading .eyebrow{margin-bottom:20px}.service-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:64px}.service-card{display:grid;grid-template-columns:1fr;gap:15px;padding:37px 0;border-top:1px solid var(--line)}.service-card p{margin:14px 0 19px;color:var(--muted);font-size:.92rem;max-width:430px}.service-card ul{display:flex;flex-wrap:wrap;gap:7px 17px;padding:0;margin:0;list-style:none;color:var(--navy);font-size:.69rem}.service-card li::before{content:'—';color:var(--brass);margin-right:7px}.mission{background:var(--navy);color:#d9e4e7;padding:90px 0}.mission-grid{display:grid;grid-template-columns:.83fr 1fr;gap:92px;align-items:center}.mission-image{position:relative}.mission-image img{height:480px;object-fit:cover;object-position:25% center}.image-caption{display:block;margin-top:14px;font:italic 1.08rem var(--serif);color:#d9e4e7}.mission-copy h2{color:var(--paper);font-size:clamp(2.7rem,3.6vw,3.5rem);margin-bottom:28px}.mission-copy h2 em{color:#c4d8ce}.mission-copy .eyebrow{color:#d6bb87}.mission-copy p:not(.eyebrow){font-size:.92rem;max-width:500px}.mission .text-link{color:#fff}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.steps article{border-top:1px solid var(--brass);padding-top:23px}.step-number{display:block;font:italic 1.8rem var(--serif);color:var(--brass);margin-bottom:32px}.steps h3{font-size:1.19rem}.steps p{color:var(--muted);font-size:.88rem;margin:13px 0 0}.sidecar-option{padding-bottom:88px}.sidecar-card{display:grid;grid-template-columns:.85fr 1.25fr auto;gap:50px;align-items:center;border-block:1px solid var(--line);padding-block:30px}.sidecar-card .eyebrow{font-size:.61rem;margin-bottom:8px}.sidecar-card h2{font-size:1.8rem}.sidecar-card p:not(.eyebrow){margin:0;color:var(--muted);font-size:.83rem}.sidecar-card .text-link{white-space:nowrap}.faq{background:#eeeee6;padding:80px 0}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}.faq-grid>div>p:last-child{margin-top:20px;color:var(--muted);font-size:.9rem}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{list-style:none;position:relative;padding:23px 36px 23px 0;font-size:.91rem;font-weight:700;line-height:1.5;color:var(--navy);cursor:pointer}summary::-webkit-details-marker{display:none}summary::after{content:'+';position:absolute;right:4px;top:20px;color:var(--brass);font-size:1.3rem;font-weight:400}details[open] summary::after{content:'−'}details p{padding-right:25px;font-size:.89rem;color:var(--muted)}.contact-section{background:var(--paper)}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px;align-items:start}.contact-intro>p:not(.eyebrow){margin:25px 0;max-width:390px;color:var(--muted);font-size:.96rem}.contact-intro .contact-help{font-size:.8rem!important;padding-top:24px;border-top:1px solid var(--line)}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:24px}.field{display:grid;gap:8px}.field.full,.form-note,.form-actions{grid-column:1/-1}.field label{font-size:.77rem;font-weight:700;color:var(--navy)}.optional{font-weight:400;color:var(--muted);font-size:.69rem}.field input,.field select,.field textarea{min-width:0;width:100%;border:1px solid #bac5c8;border-radius:0;background:var(--paper);color:var(--ink);font:16px/1.4 var(--sans);padding:14px 12px;min-height:52px}.field textarea{min-height:132px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--teal);outline-offset:2px}.field input::placeholder,.field textarea::placeholder{color:#64717a;font-size:.8rem}.form-note{margin:0;color:var(--muted);font-size:.72rem}.form-actions{display:flex;flex-wrap:wrap;gap:20px;justify-content:flex-end}.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}footer{background:var(--navy);color:#d5e0e5;padding:45px 0 20px}footer .brand{color:var(--paper)}.footer-main{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-bottom:36px}.footer-main p{margin:0;font-size:.83rem}.footer-main .text-link{color:var(--paper)}.footer-bottom{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #45647b;padding-top:20px;font-size:.68rem}.footer-bottom a{text-decoration:none}
@media(min-width:1500px){.hero-photo img{height:610px}}
@media(max-width:1050px){.wrap{width:calc(100% - 64px)}.hero-grid{gap:30px}.hero h1{font-size:3.35rem}.hero-photo img{height:540px}.hero-actions{gap:12px}.section-heading,.mission-grid,.faq-grid,.contact-grid{gap:50px}.service-grid{column-gap:35px}.service-strip .wrap{gap:15px}.sidecar-card{gap:25px;grid-template-columns:1fr 1.4fr}.sidecar-card .text-link{grid-column:2}.nav-links{gap:20px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}section{padding:72px 0}nav{min-height:87px;gap:12px}.brand{font-size:1.12rem;gap:9px}.brand-mark{width:34px;height:34px;font-size:1.35rem}.brand small{font-size:.36rem}.nav-links>a:not(.button){display:none}.button.small{font-size:.7rem;gap:10px;padding:12px}.hero{padding:40px 0}.hero-grid{grid-template-columns:1fr;gap:32px}.hero h1{font-size:clamp(3.1rem,8vw,4.2rem);max-width:620px}.hero-copy{max-width:530px}.hero-photo img{height:420px;border-radius:110px 0 0 0}.hero-photo figcaption{font-size:.6rem}.hero .eyebrow{max-width:100%;margin-bottom:21px}.hero-note{margin-top:17px}.service-strip .wrap{display:grid;grid-template-columns:1fr 1fr;gap:11px 18px;padding-block:23px}.service-strip p{grid-column:1/-1;margin-bottom:6px}.section-heading{grid-template-columns:1fr;gap:24px;margin-bottom:35px}.section-heading>p{max-width:550px}.service-grid{column-gap:30px}.service-card{grid-template-columns:1fr;gap:10px;padding:27px 0}.service-card h3{font-size:1.18rem}.service-card p{font-size:.86rem}.service-card ul{display:block}.service-card li+li{margin-top:7px}.mission{padding:60px 0}.mission-grid{grid-template-columns:1fr;gap:36px}.mission-image img{height:320px;object-position:center 65%}.mission-copy h2{font-size:2.85rem}.steps{gap:24px}.step-number{margin-bottom:24px}.steps h3{font-size:1.1rem}.sidecar-option{padding-bottom:60px}.sidecar-card{grid-template-columns:1fr;gap:17px;padding-block:26px}.sidecar-card .text-link{grid-column:auto}.faq-grid,.contact-grid{grid-template-columns:1fr;gap:32px}.faq{padding:60px 0}.faq-grid h2 br{display:none}.contact-intro>p:not(.eyebrow){max-width:540px}.contact-intro .contact-help{margin:20px 0 6px}.footer-main{align-items:flex-start;flex-wrap:wrap;gap:20px}.footer-main p{width:100%;order:3}.footer-bottom{flex-wrap:wrap}}
@media(max-width:440px){.wrap{width:calc(100% - 36px)}.brand small{display:none}.brand{font-size:1.05rem}.button.small{font-size:.65rem;gap:8px;padding:11px 10px}.hero h1{font-size:2.95rem}.hero-copy{font-size:.96rem;margin:23px 0}.hero-actions{flex-direction:column;align-items:flex-start;gap:4px}.hero-photo img{height:360px}.hero-photo figcaption{font-size:.53rem}.photo-index{font-size:.43rem;right:12px;bottom:58px}.service-grid{grid-template-columns:1fr}.service-card{grid-template-columns:1fr;gap:10px}.service-card h3{font-size:1.3rem}.service-card ul{display:flex;flex-direction:column}.service-card li+li{margin-top:0}.steps{grid-template-columns:1fr;gap:27px}.steps article{display:grid;grid-template-columns:42px 1fr;gap:0 12px}.step-number{grid-row:1/3;margin:0;font-size:1.55rem}.steps p{margin-top:9px}.contact-form{grid-template-columns:1fr}.form-actions .button{width:100%}.mission-copy h2{font-size:2.6rem}.footer-main .text-link{font-size:.73rem}.footer-bottom{font-size:.65rem}.optional{font-size:.72rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Keep the keyboard shortcut out of the visual layout until it receives focus. */
.skip-link{opacity:0;pointer-events:none}.skip-link:focus{opacity:1;pointer-events:auto}
/* Owner information pages share the site's editorial rhythm. */
.nav-links [aria-current=page]{text-decoration:underline;text-underline-offset:6px}.section-link{margin-top:28px}.footer-pages{display:flex;flex-wrap:wrap;gap:15px 30px;padding-bottom:25px;font-size:.8rem}.footer-pages a{text-decoration:none}.footer-pages a:hover{text-decoration:underline}.page-intro{padding:55px 0 75px;border-bottom:1px solid var(--line);background:var(--paper)}.breadcrumb{display:inline-block;margin-bottom:35px;color:var(--muted);font-size:.8rem;text-underline-offset:4px}.page-intro h1{font-size:clamp(3rem,5vw,5rem);max-width:1000px}.page-lead{max-width:680px;color:var(--muted);font-size:1.08rem;margin:28px 0 0}.detail-section{padding:75px 0;border-bottom:1px solid var(--line)}.detail-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px}.detail-grid h2{font-size:clamp(2.4rem,3.3vw,3.3rem)}.detail-copy{max-width:640px;color:var(--muted)}.detail-copy p:last-child{margin-bottom:0}.detail-copy a{color:var(--navy);text-underline-offset:4px}.detail-list{padding-left:20px;margin:25px 0 0}.detail-list li{padding:8px 0}.detail-list li::marker{color:var(--brass)}.faq-page{max-width:900px}.faq-page summary{font-size:1rem;padding-block:26px}.faq-page details p{font-size:1rem}.page-cta{background:#eeeee6;padding:70px 0}.page-cta h2{max-width:800px}.page-cta p:not(.eyebrow){margin:24px 0;max-width:650px;color:var(--muted)}
@media(max-width:1050px){.nav-links{gap:16px}.nav-links>a:not(.button){font-size:.75rem}.detail-grid{gap:50px}}
@media(max-width:760px){nav{flex-direction:column;align-items:flex-start;padding-block:20px;gap:18px}.nav-links{width:100%;flex-wrap:wrap;gap:8px 20px}.nav-links>a:not(.button){display:inline-flex;align-items:center;min-height:44px;font-size:.8rem}.nav-links .button{margin-left:auto}.detail-grid{grid-template-columns:1fr;gap:24px}.detail-section{padding:50px 0}.page-intro{padding:35px 0 50px}.page-intro h1{font-size:clamp(2.65rem,7vw,3.6rem)}.page-lead{font-size:1rem}.page-cta{padding:50px 0}.breadcrumb{margin-bottom:26px}}
@media(max-width:440px){.nav-links{gap:5px 17px}.nav-links .button{margin-left:0}.page-intro h1{font-size:2.6rem}.detail-grid h2{font-size:2.4rem}.page-cta .button{width:100%;gap:12px}}

/* Keep primary navigation available and anchor targets below the header. */
.site-header{position:sticky;top:0;z-index:100;background:var(--cream)}
html{scroll-padding-top:130px}
@media(max-width:760px){html{scroll-padding-top:220px}}
/* Readable identity labels, matching the larger Charleston1857 type scale. */
.hero .eyebrow{font-size:1.15rem;line-height:1.5;letter-spacing:.05em;max-width:34rem}
.brand small{display:block;font-size:.875rem;line-height:1.5;letter-spacing:.07em}
@media(max-width:760px){.hero .eyebrow{font-size:1rem}.brand small{display:block;font-size:.75rem;letter-spacing:.04em}}

/* Readable primary navigation across desktop and mobile. */
.nav-links>a:not(.button),.nav-links .button{font-size:1.125rem}
.nav-links>a{white-space:nowrap}
@media(min-width:761px) and (max-width:1200px){nav{flex-wrap:wrap;padding-block:20px}.nav-links{width:100%;flex-wrap:wrap;gap:8px 24px}.nav-links .button{margin-left:auto}html{scroll-padding-top:200px}}
@media(max-width:760px){.nav-links>a:not(.button),.nav-links .button{font-size:1rem}.nav-links{gap:8px 20px}html{scroll-padding-top:260px}}

/* Header scale and alignment follow the Host Sidecar reference. */
.site-header>.wrap{width:100%;max-width:1400px;padding-inline:32px}
.site-header nav{min-height:96px;padding-block:15px;flex-wrap:nowrap;gap:24px}
.site-header .brand{font-family:var(--sans);font-size:25px;font-weight:700;letter-spacing:-.04em;flex-shrink:0;gap:12px}
.site-header .brand-mark{width:56px;height:56px;flex-shrink:0}
.site-header .brand small{font-size:12px;letter-spacing:.07em;margin-top:6px}
.site-header .nav-links{width:auto;gap:16px;flex-wrap:nowrap}
.site-header .nav-links>a:not(.button){font-size:18px;font-weight:400;min-height:48px;display:inline-flex;align-items:center}
.site-header .nav-links .button{font-size:16px;margin-left:0}
.site-header .nav-links [aria-current=page]{color:var(--teal);text-decoration:none;border-bottom:2px solid var(--teal)}
@media(max-width:1100px){.site-header nav{flex-wrap:wrap}.site-header .nav-links{width:100%;flex-wrap:wrap;gap:8px 16px}.site-header .nav-links .button{margin-left:auto}html{scroll-padding-top:210px}}
@media(max-width:760px){.site-header>.wrap{padding-inline:20px}.site-header nav{gap:14px;align-items:flex-start}.site-header .brand{font-size:25px}.site-header .nav-links{gap:8px 16px}.site-header .nav-links>a:not(.button){font-size:18px}.site-header .nav-links .button{font-size:16px;margin-left:0}html{scroll-padding-top:280px}}
