/* Shared editorial components for the Side journal and store gallery. */
.journal-masthead{background:#112d43;color:#fff;padding:65px 7% 58px}.journal-masthead .eyebrow{color:#62e9d4}.journal-masthead h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(38px,4.8vw,66px);line-height:1.08;letter-spacing:-1.5px;margin:20px 0 25px;max-width:1000px}.journal-masthead h1 em{color:#62e9d4;font-weight:400}.journal-masthead>p:last-child{max-width:690px;font-size:18px;color:#d9eaf1;margin:0}.journal-wrap{padding:50px 7% 75px}.journal-feature{display:grid;grid-template-columns:1.1fr 1fr;gap:55px;align-items:center;margin-bottom:40px}.journal-feature h2{font-family:Georgia,serif;font-size:clamp(30px,3.6vw,46px);line-height:1.15;letter-spacing:-1px;margin:16px 0 20px}.journal-feature p{font-size:17px}.journal-photo{position:relative;overflow:hidden;display:block;border-radius:8px;aspect-ratio:1.25}.journal-photo img{width:100%;height:100%;object-fit:cover;object-position:66% 50%;transition:transform .4s}.journal-photo:hover img{transform:scale(1.025)}.journal-photo>span{position:absolute;bottom:12px;left:12px;padding:5px 9px;color:#fff;background:#112d43de;font-size:12px}.journal-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.journal-cards.two{grid-template-columns:repeat(2,minmax(0,1fr))}.journal-card{border-top:3px solid #23d9c0;background:#f0f8fa;padding:28px 30px 32px;border-radius:3px 3px 9px 9px;display:flex;flex-direction:column;align-items:flex-start;transition:transform .2s,box-shadow .2s}.journal-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px #112d4310}.journal-card h3{font-family:Georgia,serif;font-weight:400;font-size:28px;line-height:1.2;letter-spacing:-.5px;margin:10px 0 16px}.journal-card p{margin:0 0 24px;color:#4c6575}.journal-card .eyebrow{color:#08767b;font-size:12px;margin:0}.journal-card .text-link{margin-top:auto;font-size:15px}.journal-card a:hover,.journal-feature h2 a:hover{color:#087e83}.journal-teaser{background:#fff;border-top:1px solid var(--line)}.journal-teaser h2{max-width:620px}.journal-cta{margin:0 7% 70px;padding:40px;background:#d8fcf4;border-radius:10px;display:flex;align-items:center;justify-content:space-between;gap:45px}.journal-cta h2{font:400 36px/1.15 Georgia,serif;letter-spacing:-.8px;margin:12px 0}.journal-cta p{max-width:620px;margin:0}.journal-cta .button{background:#087c66;border-color:#087c66;color:white;flex-shrink:0;max-width:360px;text-align:center}.article-heading{padding:38px 7% 40px;background:#edf9fb;border-bottom:1px solid #cee5ea}.breadcrumbs{display:flex;gap:12px;font-size:14px;margin-bottom:32px}.breadcrumbs a{text-decoration:underline;text-underline-offset:4px}.article-heading h1{max-width:1040px;font:400 clamp(36px,4.4vw,60px)/1.08 Georgia,serif;letter-spacing:-1.2px;margin:15px 0 26px}.article-lead{font-size:20px;max-width:850px;line-height:1.65}.article-meta{display:flex;flex-wrap:wrap;gap:10px 24px;font-size:14px;color:#526b79}.article-layout{display:grid;grid-template-columns:minmax(0,760px) minmax(240px,320px);justify-content:space-between;gap:65px;padding:48px 7% 70px;align-items:start}.article-body{font-size:18px;line-height:1.85;min-width:0}.article-body h2{font:400 33px/1.2 Georgia,serif;letter-spacing:-.6px;margin:42px 0 18px}.article-body p{margin:0 0 22px}.article-toc{background:#f1f8fa;padding:25px 30px;border-left:3px solid #0a958c;font-size:16px;display:block}.article-toc ol{margin:12px 0 0;padding-left:22px}.article-toc li+li{margin-top:8px}.article-toc a:hover{text-decoration:underline}.article-body section{scroll-margin-top:120px}.article-checklist{background:#e5fbf6;padding:25px 30px;margin-top:40px;border-radius:8px}.article-checklist h2{margin-top:0}.article-checklist ul{padding-left:23px;margin-bottom:0}.article-sources{font-size:14px;margin-top:35px}.article-sources h2{font-family:Arial,sans-serif;font-size:16px;letter-spacing:0;margin:0 0 12px}.article-sources a{text-decoration:underline;text-underline-offset:3px}.article-aside{position:sticky;top:130px;background:#112d43;border-top:4px solid #23d9c0;color:#fff;padding:28px;border-radius:8px;font-size:15px}.article-aside .eyebrow{color:#69e8d5;font-size:12px}.article-aside h2{font:400 29px/1.2 Georgia,serif;letter-spacing:0;margin:18px 0}.article-aside address{font-style:normal;color:#d4e6ee;margin-bottom:20px}.article-aside .text-link{font-size:14px}.article-aside .button{margin:25px 0 16px;background:#fff;border-color:#fff;color:#112d43;font-size:15px;text-align:center;display:block;padding:14px}.article-aside p:not(.eyebrow){font-size:14px;color:#cce0e9}.article-phone{font-size:17px}.article-payment{display:block;color:#77e9d5;border-top:1px solid #ffffff30;padding-top:18px;margin:18px 0}.journal-related{padding:0 7% 75px}.editorial-page header nav{display:flex}.editorial-page main .eyebrow{font-size:12px}.journal-masthead,.journal-feature{animation:journal-in .5s ease-out}@keyframes journal-in{from{opacity:.5;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(max-width:1100px){header nav{gap:16px}.article-layout{gap:35px}.journal-cta{align-items:flex-start;flex-direction:column;gap:25px}.article-aside{padding:22px}.journal-feature{gap:30px}.journal-cards{gap:16px}.journal-card{padding:24px}.journal-card h3{font-size:25px}}
@media(max-width:850px){.editorial-page header nav{display:none}.journal-masthead{padding:40px 6%}.journal-feature{grid-template-columns:1fr;gap:24px}.journal-photo{aspect-ratio:1.65}.journal-wrap{padding:30px 6% 50px}.journal-cards,.journal-cards.two{grid-template-columns:1fr}.journal-cta{margin:0 6% 45px;padding:28px}.journal-cta h2{font-size:30px}.journal-cta .button{max-width:100%;width:100%}.article-heading{padding:25px 6% 30px}.article-heading h1{font-size:36px}.article-lead{font-size:18px}.article-layout{grid-template-columns:1fr;padding:30px 6% 45px;gap:35px}.article-aside{position:static}.article-toc{padding:22px}.article-body{font-size:17px}.article-body h2{font-size:29px}.article-meta{gap:8px 18px}.journal-related{padding:0 6% 50px}.journal-masthead h1{font-size:39px;letter-spacing:-1px}.journal-masthead>p:last-child{font-size:17px}.journal-teaser .section-heading{gap:22px}}
@media(prefers-reduced-motion:reduce){.journal-masthead,.journal-feature{animation:none}.journal-card,.journal-photo img{transition:none}.journal-card:hover,.journal-photo:hover img{transform:none}}
/* Store photographs retain their source files; display windows focus on the photography. */
.mini-gallery{background:#f0f8fa}.mini-gallery .section-heading>div{max-width:620px}.mini-gallery-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:20px}.mini-photo{display:block;min-width:0}.gallery-window{display:block;overflow:hidden;aspect-ratio:4/3;border-radius:8px;background:#d9e5e9}.gallery-window img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;transition:transform .35s}.mini-photo .gallery-window{aspect-ratio:1.2}.mini-photo:first-child .gallery-window{aspect-ratio:auto;height:calc(100% - 42px)}.mini-photo>span:last-child{display:flex;justify-content:space-between;gap:10px;font-size:15px;padding-top:14px}.mini-photo b{font-size:20px;font-weight:400}.mini-photo:hover img,.gallery-item button:hover img{transform:scale(1.025)}.gallery-credit{font-size:13px;color:#526b79;margin-top:22px}.gallery-credit a{text-decoration:underline;text-underline-offset:3px}.gallery-main{padding:25px 7% 70px}.gallery-main>.gallery-credit{margin:0 0 25px}.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:35px}.gallery-item{margin:0;scroll-margin-top:125px}.gallery-item button{position:relative;display:block;width:100%;background:none;border:0;padding:0;color:#fff;text-align:left;cursor:pointer}.gallery-item .gallery-window{aspect-ratio:4/3}.gallery-item .wide img{object-fit:contain;background:#112d43}.photo-expand{position:absolute;bottom:15px;right:15px;background:#112d43d9;border:1px solid #ffffff55;border-radius:50%;width:42px;height:42px;display:grid;place-items:center;font-size:23px}.gallery-item h2{font:400 26px/1.2 Georgia,serif;letter-spacing:0;margin:18px 0 8px}.gallery-item figcaption a{font-size:14px;text-decoration:underline;text-underline-offset:4px}.photo-dialog{width:min(840px,calc(100% - 24px));padding:44px 20px 20px;background:#112d43;color:#fff;border:1px solid #3a5c71;max-height:94dvh}.photo-dialog .dialog-x{color:#fff;top:8px;right:14px}.photo-stage{max-width:min(760px,85dvh);margin:auto}.photo-stage .gallery-window{aspect-ratio:4/3;max-height:65dvh}.photo-stage .wide{aspect-ratio:640/359}.photo-stage .wide img{object-fit:contain}.photo-controls{display:flex;justify-content:space-between;align-items:center;gap:16px}.photo-controls .button{padding:7px 17px;min-height:44px;border-color:#5aa89d;background:#17685d}.photo-controls a{font-size:14px;text-decoration:underline}.photo-dialog #photo-caption{font-size:15px;margin:16px 0}
@media(max-width:850px){.mini-gallery-grid{grid-template-columns:1fr 1fr;gap:18px}.mini-photo:first-child{grid-column:1/-1}.mini-photo:first-child .gallery-window{aspect-ratio:16/9;height:auto}.mini-photo .gallery-window{aspect-ratio:4/3}.mini-photo>span:last-child{font-size:14px}.gallery-grid{grid-template-columns:1fr;gap:35px}.gallery-main{padding:25px 6% 50px}.photo-dialog{padding:42px 14px 18px}.photo-controls{gap:12px}.photo-controls a{font-size:13px}.gallery-item h2{font-size:24px}}
@media(prefers-reduced-motion:reduce){.gallery-window img{transition:none}.mini-photo:hover img,.gallery-item button:hover img{transform:none}}
.reviews-section{padding:65px 7% 45px;background:linear-gradient(110deg,#e5f6ff,#f0fcf4 60%,#fff7e4);border-top:1px solid #dfedf2}.reviews-heading{display:flex;justify-content:space-between;align-items:center;gap:35px}.reviews-heading>div{max-width:730px}.reviews-heading h2{font:400 clamp(34px,4vw,48px)/1.15 Georgia,serif;letter-spacing:-1px;margin:12px 0 20px}.reviews-heading .eyebrow{color:#087e88}.reviews-heading p{font-size:16px;color:#456577}.google-review-link{display:flex;flex-direction:column;align-items:flex-start;gap:14px;flex-shrink:0}.google-review-link img{width:150px;height:auto}.google-review-link>span{font-size:14px;text-decoration:underline;text-underline-offset:5px}.review-controls{display:flex;justify-content:flex-end;gap:10px;margin:22px 0 18px}.review-controls button{background:#fff;border:1px solid #bad8e2;color:#112d43;border-radius:25px;min-width:46px;min-height:44px;padding:7px 17px;cursor:pointer}.review-controls button:hover{background:#d6f8ed}.reviews-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 44px)/3);gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;padding:5px 0 18px;overscroll-behavior-x:contain;scrollbar-color:#78b8b2 transparent;scrollbar-width:thin}.review-card{scroll-snap-align:start;display:flex;flex-direction:column;background:#fff;padding:25px;border:1px solid #dce8eb;border-top:3px solid #4285f4;border-radius:10px;min-width:0}.review-card:nth-child(4n+2){border-top-color:#ea4335}.review-card:nth-child(4n+3){border-top-color:#fbbc05}.review-card:nth-child(4n){border-top-color:#34a853}.review-card-top{display:flex;align-items:center;gap:12px}.review-avatar{width:38px;height:38px;background:#e9f2fd;color:#356cb0;border-radius:50%;display:grid;place-items:center;flex-shrink:0;font-size:19px}.review-card h3{font:600 15px/1.35 Arial,sans-serif;letter-spacing:0;margin:0 0 4px}.review-stars{color:#ac7000;font-size:20px;line-height:1;letter-spacing:1px;white-space:nowrap}.review-lang{font-size:12px;color:#537082;margin-left:auto}.review-card blockquote{font-size:16px;line-height:1.7;margin:22px 0 28px;min-height:150px;overflow-wrap:anywhere}.review-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:auto;font-size:12px;color:#526979}.review-bottom a{color:#176479;text-decoration:underline;text-underline-offset:4px}.reviews-date{font-size:12px;color:#527181;margin:17px 0 0}
@media(max-width:1000px){.reviews-track{grid-auto-columns:calc((100% - 22px)/2)}.reviews-heading{align-items:flex-start}.google-review-link{flex-shrink:1;min-width:160px}}
@media(max-width:650px){.reviews-section{padding:45px 6% 35px}.reviews-heading{flex-direction:column;gap:10px}.google-review-link{flex-direction:row;align-items:center;gap:18px}.google-review-link img{width:116px}.google-review-link>span{font-size:13px}.reviews-track{grid-auto-columns:88%;gap:22px}.review-card{padding:24px}.review-card blockquote{min-height:135px}.review-controls{justify-content:flex-start}.reviews-heading h2{font-size:35px}}

/* Full-photo viewer preserves the supplied photographs’ complete frame. */
.gallery-window img{object-position:center}.gallery-item .gallery-window{aspect-ratio:3/2}.photo-stage{max-width:760px}.photo-stage .gallery-window{aspect-ratio:auto;max-height:none;background:transparent}.photo-stage .gallery-window img{width:100%;height:auto;max-height:65dvh;object-fit:contain}
