:root{--ink:#193b43;--ink-soft:#4f6870;--teal:#176f72;--teal-deep:#145d60;--mint:#e8f3f0;--cream:#fbf8f2;--sand:#e9dbcb;--white:#fff;--line:#d8e4e1;--shadow:0 20px 60px rgba(25,59,67,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--white);color:var(--ink);font:400 18px/1.7 Assistant,Arial,sans-serif;overflow-x:hidden}img{max-width:100%;height:auto}a{color:inherit}button,input,textarea{font:inherit}button{cursor:pointer}.wrap{width:min(1200px,calc(100% - 44px));margin-inline:auto}.narrow{width:min(840px,100%)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Heebo,Assistant,Arial,sans-serif;line-height:1.22;letter-spacing:-.025em}h1{font-size:clamp(2.8rem,6vw,5.3rem)}h2{font-size:clamp(2.1rem,3.8vw,3.55rem)}h3{font-size:1.4rem}p{margin-bottom:1.1rem}.eyebrow{font-family:Heebo,Assistant,sans-serif;color:var(--teal-deep);font-size:.88rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.skip-link{position:absolute;inset-block-start:0;inset-inline-start:0;transform:translateY(-150%);z-index:9999;padding:.8rem 1.2rem;background:var(--ink);color:#fff}.skip-link:focus{transform:translateY(0)}:focus-visible{outline:3px solid #d18b47;outline-offset:3px}
.topbar{background:var(--ink);color:#e4f3f0;font-size:.89rem}.topbar .wrap{display:flex;justify-content:space-between;gap:20px;padding-block:7px}.topbar a{text-decoration:none;font-weight:700}.site-header{position:relative;z-index:10;background:#fff;border-bottom:1px solid var(--line)}.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:86px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;white-space:nowrap}.brand-symbol{display:grid;place-items:center;width:43px;height:43px;border-radius:50%;background:var(--teal);color:#fff;font-size:1.5rem}.brand strong,.brand small{display:block;line-height:1.2}.brand strong{font:800 1.08rem Heebo,Assistant,sans-serif}.brand small{font-size:.78rem;color:var(--ink-soft)}.site-header nav{display:flex;align-items:center;gap:clamp(12px,1.8vw,26px)}.site-header nav a{text-decoration:none;font-weight:700;font-size:.93rem}.site-header nav a:hover{color:var(--teal)}.header-cta{border-radius:100px;background:var(--teal);color:#fff;padding:11px 21px;font-weight:800;text-decoration:none;white-space:nowrap;font-size:.92rem}.header-cta:hover,.button-primary:hover{background:var(--teal-deep)}
.hero{background:linear-gradient(125deg,#f8f8f4 0%,#eaf2ee 72%,#e3ede9 100%);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.04fr .96fr;align-items:center;gap:clamp(35px,5vw,90px);min-height:650px;padding-block:80px}.hero-copy h1{margin:.5rem 0 1.5rem}.hero-copy em{font-style:normal;color:var(--teal-deep)}.hero-lead{max-width:620px;color:#36565e;font-size:1.24rem;line-height:1.75}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-block:30px}.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:14px 25px;border:1px solid transparent;border-radius:100px;font:800 .98rem Heebo,Assistant,sans-serif;text-decoration:none;transition:background .2s,color .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--teal);color:#fff}.button-outline{border-color:var(--teal);color:var(--teal-deep);background:transparent}.button-outline:hover{background:#fff}.hero-locations{color:var(--ink-soft);font-size:.93rem;font-weight:700}.hero-visual{position:relative;max-width:510px;margin-inline:auto}.hero-visual:before{content:"";position:absolute;inset:-20px 34px 20px -20px;border:1px solid #b4d0c8;border-radius:48% 48% 20px 20px}.hero-visual img{position:relative;display:block;width:100%;aspect-ratio:1/1.1;object-fit:cover;object-position:center 25%;border-radius:48% 48% 20px 20px;box-shadow:var(--shadow)}.hero-note{position:absolute;bottom:28px;left:-38px;background:#fff;border-radius:18px;padding:14px 21px;box-shadow:var(--shadow);font-size:.94rem;line-height:1.5}.hero-note strong{color:var(--teal-deep)}
section{scroll-margin-top:25px}.intro-section,.about-section,.articles-section,.faq-section,.locations-section,.contact-section{padding-block:100px}.intro-section{text-align:center}.intro-section h2{margin-bottom:40px}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;text-align:right}.service-card{padding:32px;border-radius:22px;background:var(--cream);border:1px solid #efe9df}.service-no{font:800 .9rem Heebo,Assistant,sans-serif;color:var(--teal);display:inline-block;margin-bottom:25px}.service-card h3{margin-bottom:12px}.service-card p{color:var(--ink-soft);margin:0}.about-section{background:var(--mint)}.about-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px}.about-grid>div>p:not(.eyebrow){font-size:1.17rem;color:#36565e}.text-link{display:inline-flex;align-items:center;gap:8px;color:var(--teal-deep);font-weight:800;text-decoration:none}.text-link:hover{text-decoration:underline}.reason-list{list-style:none;margin:0;padding:27px 35px;background:#fff;border-radius:24px;box-shadow:var(--shadow)}.reason-list li{position:relative;padding:13px 27px 13px 0;border-bottom:1px solid var(--line);font-weight:700}.reason-list li:last-child{border:0}.reason-list li:before{content:"✓";position:absolute;right:0;color:var(--teal);font-weight:800}
.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:34px}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:340px;color:var(--ink-soft)}.articles-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.article-card{display:flex;flex-direction:column;min-height:255px;padding:27px;background:#fff;border:1px solid var(--line);border-radius:18px;text-decoration:none;transition:transform .2s,box-shadow .2s}.article-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.article-label{font-size:.82rem;color:var(--teal);font-weight:800}.article-card h3{margin:13px 0;font-size:1.2rem}.article-card p{font-size:.95rem;color:var(--ink-soft);line-height:1.55}.article-card .text-link{margin-top:auto;font-size:.93rem}.faq-section{background:var(--cream)}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.faq-grid>div:first-child>p:last-child{color:var(--ink-soft)}.faq-list details{border-bottom:1px solid #d8d5ce;padding:17px 0}.faq-list summary{cursor:pointer;font-weight:800;list-style:none;padding-inline-end:27px;position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";position:absolute;left:5px;font-size:1.35rem;line-height:1}.faq-list details[open] summary:after{content:"−"}.faq-list details p{color:var(--ink-soft);padding-top:13px;margin-bottom:0}
.location-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:23px}.location-grid article{background:#f6faf8;border-radius:19px;padding:22px}.location-grid h3{margin-bottom:5px}.location-grid p{color:var(--ink-soft);min-height:54px}.location-grid iframe{border:0;width:100%;height:275px;border-radius:10px}.contact-section{background:var(--ink);color:#fff}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:75px}.contact-section .eyebrow{color:#a8d9c6}.contact-grid>div>p:not(.eyebrow){color:#d3e4e1}.contact-phone{font:800 2rem Heebo,Assistant,sans-serif;color:#fff;text-decoration:none;display:inline-block;margin-block:10px}.contact-grid .small-note{font-size:.92rem;max-width:380px}.contact-form{background:#fff;color:var(--ink);padding:32px;border-radius:24px}.contact-form label{display:block;font-weight:800;margin-bottom:15px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.contact-form input,.contact-form textarea{display:block;width:100%;border:1px solid #bdd0cc;border-radius:10px;background:#fff;padding:12px 14px;margin-top:6px;color:var(--ink);min-height:48px}.contact-form textarea{resize:vertical}.contact-form .form-note{color:var(--ink-soft);font-size:.82rem;margin:12px 0 0}.contact-form .form-note a{color:var(--teal-deep)}
.site-footer{background:#102e35;color:#d4e5e3;padding-top:55px;font-size:.96rem}.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px}.footer-grid strong{font:800 1.1rem Heebo,Assistant,sans-serif;color:#fff}.footer-grid p{margin:.65rem 0}.footer-grid a{color:#d4e5e3}.footer-bottom{border-top:1px solid #315059;margin-top:40px;padding-block:16px;font-size:.85rem}.fab-container{position:fixed;z-index:30;inset-inline-end:18px;bottom:18px;display:flex;gap:8px}.fab{width:50px;height:50px;display:grid;place-items:center;border-radius:50%;color:#fff;text-decoration:none;box-shadow:0 8px 18px #0003;font-weight:800}.fab.wa{background:#167545;font-size:.8rem}.fab.call{background:var(--teal);font-size:1.35rem}
.article-hero{background:var(--mint);padding-block:75px 58px}.article-hero h1{font-size:clamp(2.2rem,4vw,3.8rem);margin:12px 0}.article-date{font-size:.88rem;color:var(--ink-soft)}.back-link{color:var(--teal-deep);font-weight:800;text-decoration:none;font-size:.9rem}.article-section{padding-block:60px 90px}.article-body{font-size:1.09rem;line-height:1.85}.article-body h2{font-size:1.7rem;margin:2rem 0 .8rem}.article-body h3{font-size:1.3rem;margin:1.6rem 0 .7rem}.article-body p,.article-body ul{margin-bottom:1.25rem}.article-body a{color:var(--teal-deep)}.article-body img{border-radius:16px;display:block;margin:auto}.lpp-cols{display:grid;grid-template-columns:1fr .8fr;gap:28px;align-items:start}.lpp-img{min-width:0}.article-contact{background:var(--cream);padding-block:55px;text-align:center}.article-contact h2{font-size:2rem}.support-page{padding-block:90px;min-height:55vh}.support-page h1{font-size:clamp(2.3rem,4vw,3.6rem)}.support-page .article-body{margin-block:30px}
@media(max-width:1050px){.site-header nav{gap:11px}.site-header nav a{font-size:.82rem}.header-cta{padding:10px 14px}.hero-grid{gap:38px}.about-grid{gap:40px}}
@media(max-width:850px){.nav-wrap{flex-wrap:wrap;min-height:unset;padding-block:16px}.site-header nav{order:3;width:100%;overflow-x:auto;padding-block:5px;white-space:nowrap}.header-cta{margin-inline-start:auto}.hero-grid,.about-grid,.faq-grid,.contact-grid{grid-template-columns:1fr}.hero-grid{padding-block:60px}.hero-visual{max-width:450px}.articles-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-grid,.faq-grid,.contact-grid{gap:32px}}
@media(max-width:620px){body{font-size:16px}.wrap{width:min(100% - 30px,1200px)}.topbar .wrap{font-size:.78rem}.brand strong{font-size:.93rem}.brand small{font-size:.7rem}.brand-symbol{width:36px;height:36px}.header-cta{display:none}.hero-grid{min-height:0;padding-block:45px;gap:40px}.hero-copy h1{font-size:2.6rem}.hero-lead{font-size:1.1rem}.hero-visual{width:88%}.hero-note{left:-18px;bottom:14px}.intro-section,.about-section,.articles-section,.faq-section,.locations-section,.contact-section{padding-block:65px}.service-grid,.articles-grid,.location-grid,.form-row,.footer-grid,.lpp-cols{grid-template-columns:1fr}.service-card{padding:24px}.section-heading{display:block}.articles-grid{gap:12px}.article-card{min-height:0}.location-grid p{min-height:0}.contact-form{padding:22px}.footer-grid{gap:15px}.article-hero{padding-block:50px 35px}.article-section{padding-block:40px 60px}.fab{width:46px;height:46px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.article-card{transition:none}}
.eyebrow{font-size:1rem}
.article-card p{font-size:1rem}
.contact-form .form-note{font-size:1rem}
.hero-locations{font-size:1rem}
.contact-grid .small-note{font-size:1rem}
.reviews-section,.closing-section{padding-block:80px;text-align:center}
.reviews-section{background:var(--mint)}
.reviews-section iframe{display:block;width:100%;min-height:380px;border:0;background:#fff;border-radius:16px}
.closing-section h3{font-size:clamp(1.3rem,2.2vw,1.8rem);line-height:1.5}
.article-adjacent{display:flex;justify-content:space-between;gap:20px;padding-block:20px 45px}
.article-adjacent a{flex:1;max-width:48%;padding:18px;border:1px solid var(--line);border-radius:14px;color:var(--teal-deep);text-decoration:none;font-weight:700}
.article-adjacent small{display:block;color:var(--ink-soft)}
@media(max-width:620px){.reviews-section,.closing-section{padding-block:55px}.reviews-section iframe{min-height:420px}}
@media(max-width:620px){.article-adjacent{flex-direction:column}.article-adjacent a{max-width:100%}}
.home-source>.topbar,.home-source>.site-header{display:none}
.source-topline{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px 3%;background:#fff;color:#565f62;font-size:1.08rem;font-weight:600}
.source-topline a{white-space:nowrap;text-decoration:none}
.source-banner{height:400px;background:url('/images/puzzle-hero.webp') center center/cover no-repeat}
.home-headline{background:#fff;padding:42px 0 20px;text-align:center}
.home-headline h1{font-size:clamp(2rem,3.5vw,3.2rem);line-height:1.18;color:#235e35;max-width:1120px;margin:auto}
.home-source .hero{background:#fff}
.home-source .hero-grid{min-height:0;padding-block:18px 85px;grid-template-columns:1fr .82fr;gap:85px}
.home-source .hero-visual{order:2;width:100%;max-width:440px}
.home-source .hero-visual:before,.home-source .hero-note{display:none}
.home-source .hero-visual img{aspect-ratio:1/1;object-fit:cover;border-radius:3px;box-shadow:none}
.home-source .hero-copy{order:1;align-self:start}
.home-source .hero-lead{font-size:1.18rem;color:#1c2426;line-height:1.85}
.source-splash>.topbar,.source-splash>.site-header{display:none}
.article-splash{height:100vh;min-height:600px}
.article-splash img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:850px){.source-topline{font-size:.86rem;gap:8px}.home-source .hero-grid{gap:28px}}
@media(max-width:620px){.source-topline{min-height:54px;flex-wrap:wrap;justify-content:center;font-size:.73rem;text-align:center;padding:7px 12px}.source-topline span:last-child{display:none}.source-banner{height:280px}.home-headline{padding:30px 0 12px}.home-headline h1{font-size:2rem}.home-source .hero-grid{grid-template-columns:1fr;padding-block:12px 55px}.home-source .hero-visual{order:1;max-width:350px}.home-source .hero-copy{order:2}.article-splash{min-height:0;height:100vh}}
@media(min-width:621px) and (max-width:850px){.source-topline{min-height:130px;justify-content:center;flex-wrap:wrap;font-size:1.15rem;line-height:1.6;text-align:center;padding:12px 28px;gap:0 18px}.source-banner{background-size:auto 220%;background-position:center}.home-headline{padding:130px 0 25px}.home-headline h1{font-size:3.25rem;line-height:1.08}.home-source .hero-grid{grid-template-columns:1fr 1fr;gap:20px;padding-block:0 60px}.home-source .hero-visual{max-width:220px}}
@media(max-width:620px){.source-topline{min-height:220px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px;font-size:1.1rem;line-height:1.55;padding:16px 20px}.source-topline span:last-child{display:block}.source-topline a{font-size:1.15rem}.source-banner{height:185px;background-size:auto 220%;background-position:center}.home-headline{padding:35px 0 15px}.home-headline h1{font-size:2rem;line-height:1.25}.home-source .hero-grid{padding-block:0 55px;gap:28px}.home-source .hero-copy{order:1}.home-source .hero-visual{order:2}.source-splash .article-splash{height:250px;min-height:0}.source-splash .article-hero{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.source-splash .article-section{padding-block:20px 60px}.source-splash .article-body{font-size:16px;line-height:1.55}}
@media(min-width:621px) and (max-width:850px){.source-splash .article-splash{height:66.667vw;min-height:0}.source-splash .article-hero{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.source-splash .article-section{padding-block:20px 60px}.source-splash .article-body{font-size:16px;line-height:1.55}}
