/*
 * In the Public's Interest (IPI) — static site stylesheet.
 * Neighbourhood Signal visual system: civic editorial, humanist, warm.
 * Palette: Deep Teal #0B4B4A, Teal Ink #073635, Coral Signal #E86A4A,
 * Cream Paper #F8F3EA, Mist Green #DCEBE4, Charcoal #1D2A28, White #FFFFFF.
 */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,500;9..144,600;9..144,700&display=swap');

:root { --radius: 0.35rem; --background: #F8F3EA; --foreground: #1D2A28; --card: #FFFFFF; --card-foreground: #1D2A28; --primary: #0B4B4A; --primary-foreground: #FFFFFF; --secondary: #DCEBE4; --secondary-foreground: #073635; --muted: #EEE9E0; --muted-foreground: #68716D; --accent: #E86A4A; --accent-foreground: #FFFFFF; --border: rgba(11,75,74,.14); --input: rgba(11,75,74,.14); --ring: #E86A4A; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: #F8F3EA; color: #1D2A28; font-family: 'DM Sans', sans-serif; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button, a { -webkit-tap-highlight-color: transparent; }
button { font-family: inherit; cursor: pointer; }
img { max-width: 100%; }
.container { width: min(1180px, calc(100% - 64px)); margin: 0 auto; }
.site-shell { overflow: hidden; position: relative; }
.top-strip { background: #073635; color: #DCEBE4; font-size: 11px; letter-spacing: .05em; text-transform: uppercase; }
.top-strip-inner { min-height: 36px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.top-strip a { display:flex; align-items:center; gap:7px; color: #F7B9A9; transition: color .2s ease; }.top-strip a:hover { color:#fff; }
.site-header { position: sticky; top: 0; z-index: 20; background: rgba(248,243,234,.94); border-bottom: 1px solid rgba(11,75,74,.1); backdrop-filter: blur(14px); }
.nav-inner { min-height: 82px; display:flex; align-items:center; justify-content:space-between; gap:40px; }
.main-nav { display:flex; align-items:center; gap:28px; font-size:13px; font-weight:600; color:#45605A; }.main-nav a:not(.nav-cta) { transition: color .2s ease; }.main-nav a:not(.nav-cta):hover { color:#E86A4A; }.nav-cta { background:#0B4B4A; color:#fff; padding:12px 16px; display:flex; align-items:center; gap:8px; border-radius:2px; transition: background .2s, transform .16s; }.nav-cta:hover { background:#E86A4A; transform: translateY(-2px); }.mobile-toggle { display:none; border:0; background:none; color:#073635; }
.hero-section { position:relative; background:#F8F3EA; padding:98px 0 116px; }.hero-grid { display:grid; grid-template-columns: .91fr 1.09fr; gap:74px; align-items:center; }.hero-rail { position:absolute; left:28px; top:130px; display:flex; align-items:center; gap:12px; color:#7F9189; font-size:10px; letter-spacing:.16em; writing-mode:vertical-rl; transform:rotate(180deg); }.rail-line { width:1px; height:70px; background:#E86A4A; }.hero-copy { padding-left:55px; }.section-kicker { color:#E86A4A; text-transform:uppercase; font-size:11px; letter-spacing:.18em; font-weight:700; display:flex; align-items:center; gap:9px; margin:0 0 22px; }.kicker-dot { width:7px; height:7px; background:#E86A4A; display:inline-block; border-radius:50%; }.hero-copy h1 { font-family:'Fraunces',serif; font-size:clamp(54px, 6vw, 90px); line-height:.98; letter-spacing:-.06em; color:#073635; max-width:580px; margin:0; font-weight:600; }.hero-copy h1 span, h2 span, h2 i { color:#E86A4A; font-style:normal; }.hero-lede { font-size:18px; line-height:1.55; color:#58706A; max-width:450px; margin:30px 0 30px; }.hero-actions { display:flex; align-items:center; gap:27px; }.button { display:inline-flex; align-items:center; justify-content:center; gap:10px; font-weight:700; font-size:13px; padding:15px 21px; border-radius:2px; transition: transform .16s ease, background .2s ease, box-shadow .2s ease; }.button:active { transform:scale(.97); }.button-coral { background:#E86A4A; color:#fff; box-shadow: 0 7px 0 rgba(232,106,74,.15); }.button-coral:hover { background:#D9553A; transform:translateY(-2px); box-shadow:0 10px 0 rgba(232,106,74,.12); }.text-link { font-weight:700; font-size:13px; display:inline-flex; align-items:center; gap:8px; color:#073635; border-bottom:1px solid #9BAEA5; padding-bottom:4px; transition:color .2s, border .2s; }.text-link:hover { color:#E86A4A; border-color:#E86A4A; }.hero-proof { margin-top:76px; display:flex; align-items:center; gap:14px; }.proof-avatars { display:flex; }.proof-avatars span { width:32px; height:32px; border:2px solid #F8F3EA; background:#0B4B4A; color:#fff; display:grid; place-items:center; border-radius:50%; font-size:9px; margin-left:-8px; }.proof-avatars span:first-child { margin-left:0; background:#E86A4A; }.proof-avatars span:nth-child(2) { background:#87A89B; }.hero-proof p { font-size:11px; color:#6B8078; line-height:1.4; margin:0; }.hero-proof strong { color:#0B4B4A; }
.hero-visual { position:relative; min-height:540px; }.hero-image-frame { position:absolute; right:16px; top:0; width:78%; height:490px; background:#DCEBE4; padding:12px 12px 48px; transform:rotate(2.5deg); box-shadow: 14px 16px 0 rgba(11,75,74,.08); }.hero-image-frame img { width:100%; height:100%; object-fit:cover; display:block; filter:saturate(.9); }.image-caption { position:absolute; bottom:13px; left:17px; right:17px; display:flex; justify-content:space-between; color:#0B4B4A; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.13em; }.hero-note { position:absolute; left:0; bottom:52px; display:flex; align-items:flex-start; gap:10px; background:#fff; padding:17px 21px 16px 16px; color:#E86A4A; box-shadow:0 9px 26px rgba(7,54,53,.12); font-size:11px; line-height:1.25; }.hero-note strong { color:#073635; font-weight:700; }.hero-stamp { position:absolute; right:-12px; bottom:2px; border:1px solid #E86A4A; color:#E86A4A; width:80px; height:80px; border-radius:50%; display:grid; place-items:center; align-content:center; text-align:center; font-size:8px; line-height:1.4; letter-spacing:.16em; transform:rotate(12deg); }.hero-stamp span { font-size:20px; line-height:.7; }
.intro-section { background:#073635; color:#fff; padding:105px 0 117px; }.intro-grid { display:grid; grid-template-columns: 86px 1fr 1fr; gap:56px; }.intro-aside { color:#7EA69A; font-size:10px; letter-spacing:.14em; display:flex; flex-direction:column; align-items:flex-start; gap:17px; }.vertical-rule { height:100%; min-height:120px; width:1px; background:#E86A4A; opacity:.8; }.intro-heading h2, .section-heading-row h2, .gallery-copy h2, .contact-inner h2 { font-family:'Fraunces',serif; font-weight:600; letter-spacing:-.055em; line-height:1.03; font-size:clamp(40px,4vw,62px); margin:0; }.intro-heading .section-kicker { color:#F7B9A9; }.intro-heading h2 { max-width:450px; }.intro-heading h2 i { color:#F7B9A9; }.intro-body { padding-top:47px; color:#B9D1C7; max-width:380px; font-size:16px; line-height:1.65; }.intro-body p { margin:0 0 19px; }.teal-link { color:#fff; border-color:#64877D; margin-top:12px; }
.work-section { padding:113px 0 128px; background:#F8F3EA; }.section-heading-row { display:flex; justify-content:space-between; align-items:flex-end; gap:40px; }.section-heading-row h2 { color:#073635; }.section-heading-row h2 span { color:#E86A4A; }.section-heading-row > p { max-width:285px; margin:0 0 8px; color:#6A7A74; font-size:14px; line-height:1.5; }.work-list { margin-top:58px; border-top:1px solid #B6C5BE; }.work-card { display:grid; grid-template-columns: 85px 55px 1fr 30px; align-items:center; gap:24px; padding:28px 16px; border-bottom:1px solid #B6C5BE; transition:background .2s, padding .2s; }.work-card:hover { background:#fff; padding-left:26px; }.work-card-featured { background:#DCEBE4; }.work-number { color:#E86A4A; font-size:11px; font-weight:700; letter-spacing:.12em; }.work-icon { color:#0B4B4A; }.work-card h3 { color:#073635; font-family:'Fraunces',serif; font-size:27px; margin:0 0 4px; font-weight:600; }.work-card p { color:#65766F; font-size:14px; margin:0; }.card-arrow { color:#0B4B4A; transition:transform .2s; }.work-card:hover .card-arrow { transform:translate(3px,-3px); }
.team-section { padding:108px 0 122px; background:#DCEBE4; }.team-heading { align-items:flex-start; }.team-heading .section-kicker { color:#0B4B4A; }.team-heading h2 { font-size:clamp(45px,5vw,70px); }.team-heading h2 span { color:#0B4B4A; }.team-callout { max-width:290px; display:flex; gap:16px; margin-top:15px; }.callout-line { width:32px; height:1px; background:#E86A4A; margin-top:8px; flex:none; }.team-callout p { color:#43645B; font-size:13px; line-height:1.5; margin:0; }.nurse-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; margin-top:62px; }.nurse-card { background:#fff; min-height:265px; padding:21px 22px 20px; display:flex; flex-direction:column; border:1px solid rgba(11,75,74,.06); transition:transform .2s, box-shadow .2s; }.nurse-card:hover { transform:translateY(-5px); box-shadow:0 12px 24px rgba(11,75,74,.1); }.nurse-card-top { display:flex; justify-content:space-between; align-items:center; }.nurse-index { color:#E86A4A; font-size:11px; font-weight:700; }.area-label { color:#89A49B; text-transform:uppercase; letter-spacing:.14em; font-size:9px; }.nurse-card h3 { color:#073635; font-family:'Fraunces',serif; font-size:25px; line-height:1.08; margin:31px 0 14px; font-weight:600; text-transform:capitalize; }.nurse-name { color:#0B4B4A; font-size:14px; font-weight:700; margin:0; text-transform:uppercase; letter-spacing:.05em; }.nurse-note { color:#789087; font-size:12px; margin:8px 0 20px; }.whatsapp-link { margin-top:auto; display:flex; align-items:center; gap:8px; color:#E86A4A; font-size:14px; font-weight:700; border-top:1px solid #E6ECE8; padding-top:15px; }.whatsapp-link span { flex:1; }.whatsapp-link:hover { color:#0B4B4A; }
.gallery-section { padding:125px 0; background:#F8F3EA; }.gallery-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:96px; align-items:center; }.gallery-copy h2 { color:#073635; max-width:410px; }.gallery-copy p { color:#677871; line-height:1.65; max-width:355px; margin:27px 0 48px; }.gallery-stat { border-left:2px solid #E86A4A; padding:3px 0 3px 18px; display:flex; flex-direction:column; gap:14px; }.gallery-stat strong { font-family:'Fraunces',serif; color:#0B4B4A; font-size:19px; line-height:1.2; }.gallery-stat span { color:#899B93; font-size:10px; letter-spacing:.17em; }.gallery-images { position:relative; min-height:470px; }.gallery-image { position:absolute; background:#fff; padding:10px 10px 39px; box-shadow:0 12px 28px rgba(11,75,74,.12); margin:0; }.gallery-image img { display:block; width:100%; height:100%; object-fit:cover; }.gallery-image figcaption { position:absolute; bottom:12px; left:13px; right:13px; display:flex; justify-content:space-between; align-items:center; font-size:10px; text-transform:uppercase; letter-spacing:.12em; color:#0B4B4A; font-weight:700; }.gallery-image-1 { width:62%; height:340px; left:0; top:16px; transform:rotate(-4deg); }.gallery-image-2 { width:55%; height:310px; right:2%; bottom:3px; transform:rotate(5deg); }
.contact-section { background:#E86A4A; color:#fff; padding:86px 0 94px; }.contact-inner { display:grid; grid-template-columns:1fr 1fr; gap:75px; align-items:center; }.contact-inner .section-kicker { color:#FFE5DD; }.contact-inner h2 { color:#fff; }.contact-inner h2 span { color:#073635; }.contact-content { max-width:390px; }.contact-content p { font-size:17px; line-height:1.5; margin:0 0 27px; color:#FFF0EB; }.button-large { background:#073635; box-shadow:0 7px 0 rgba(7,54,53,.16); font-size:13px; }.button-large:hover { background:#fff; color:#073635; }.contact-small { display:block; margin-top:16px; font-size:11px; color:#FFE5DD; }
.site-footer { background:#073635; color:#B9D1C7; padding:52px 0 42px; }.footer-grid { display:grid; grid-template-columns:1.3fr 1fr 1.5fr auto; gap:38px; align-items:start; }.footer-brand { color:#fff; }.footer-grid p { font-size:13px; line-height:1.5; margin:1px 0 0; }.footer-links { display:flex; gap:18px; flex-wrap:wrap; font-size:12px; }.footer-links a:hover { color:#F7B9A9; }.footer-note { font-size:10px; color:#789A8D; text-align:right; }.floating-whatsapp { position:fixed; z-index:18; right:24px; bottom:24px; width:53px; height:53px; border-radius:50%; display:grid; place-items:center; background:#E86A4A; color:#fff; box-shadow:0 8px 20px rgba(7,54,53,.24); transition:transform .2s, background .2s; }.floating-whatsapp:hover { transform:translateY(-4px); background:#0B4B4A; }
@media (max-width: 900px) { .container { width:min(100% - 40px, 680px); }.hero-grid, .gallery-grid { grid-template-columns:1fr; gap:45px; }.hero-copy { padding-left:0; }.hero-rail { display:none; }.hero-visual { min-height:500px; max-width:590px; width:100%; margin:auto; }.intro-grid { grid-template-columns:50px 1fr; gap:25px; }.intro-body { grid-column:2; padding-top:0; }.nurse-grid { grid-template-columns:repeat(2,1fr); }.gallery-grid { gap:80px; }.gallery-images { max-width:560px; width:100%; margin:auto; }.footer-grid { grid-template-columns:1.3fr 1fr; }.footer-note { text-align:left; }.main-nav { gap:16px; }.nav-cta { padding:11px 12px; } }
@media (max-width: 640px) { .container { width:calc(100% - 32px); }.top-strip-inner { min-height:46px; font-size:9px; }.top-strip-inner > span { max-width:170px; }.top-strip a { font-size:9px; text-align:right; }.nav-inner { min-height:72px; }.mobile-toggle { display:block; }.main-nav { display:none; position:absolute; left:16px; right:16px; top:72px; padding:16px; flex-direction:column; align-items:stretch; gap:0; background:#fff; box-shadow:0 16px 30px rgba(7,54,53,.12); border-top:2px solid #E86A4A; }.main-nav.is-open { display:flex; }.main-nav a { padding:14px 10px; border-bottom:1px solid #E7EEEA; }.main-nav .nav-cta { justify-content:center; margin-top:10px; border:0; }.hero-section { padding:68px 0 75px; }.hero-copy h1 { font-size:55px; }.hero-lede { font-size:16px; }.hero-actions { flex-direction:column; align-items:flex-start; gap:20px; }.hero-proof { margin-top:48px; }.hero-visual { min-height:400px; }.hero-image-frame { height:370px; width:88%; }.hero-note { bottom:18px; }.hero-stamp { right:-3px; bottom:-4px; width:68px; height:68px; }.intro-section { padding:78px 0 85px; }.intro-grid { grid-template-columns:1fr; gap:27px; }.intro-aside { flex-direction:row; align-items:center; }.vertical-rule { height:1px; min-height:1px; width:45px; }.intro-body { grid-column:auto; padding-top:0; }.work-section, .gallery-section { padding:78px 0 88px; }.section-heading-row { display:block; }.section-heading-row > p { margin-top:25px; }.work-list { margin-top:40px; }.work-card { grid-template-columns:30px 35px 1fr; gap:12px; padding:22px 8px; }.work-card .card-arrow { display:none; }.work-card h3 { font-size:22px; }.work-card p { font-size:12px; line-height:1.45; }.team-section { padding:78px 0 83px; }.team-heading h2 { font-size:50px; }.team-callout { margin-top:28px; }.nurse-grid { grid-template-columns:1fr; margin-top:40px; }.nurse-card { min-height:240px; }.gallery-images { min-height:390px; }.gallery-image-1 { height:275px; width:68%; }.gallery-image-2 { height:245px; width:62%; }.contact-section { padding:70px 0 78px; }.contact-inner { grid-template-columns:1fr; gap:34px; }.contact-content p { font-size:15px; }.button-large { width:100%; }.footer-grid { grid-template-columns:1fr; gap:25px; }.footer-links { gap:14px; }.floating-whatsapp { right:16px; bottom:16px; width:48px; height:48px; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } *, *::before, *::after { transition-duration:0.01ms !important; animation-duration:0.01ms !important; } }

/* Reference-site modernisation additions: keep IPI's teal/aqua character while giving the real content a clearer editorial hierarchy. */
.reference-brand { display:flex; align-items:center; gap:10px; color:#0B4B4A; }.reference-brand img { width:44px; height:44px; object-fit:contain; }.reference-brand span { display:flex; flex-direction:column; line-height:1.03; font-size:13px; letter-spacing:-.03em; }.reference-brand strong { font-weight:700; }.reference-brand em { font-family:'Fraunces',serif; font-size:18px; font-style:normal; font-weight:600; }.reference-hero { padding-top:80px; }.reference-hero .hero-copy h1 { max-width:590px; }.reference-hero .hero-copy h1 span { color:#0EA5A3; }.reference-hero .hero-lede { max-width:515px; }.reference-hero .button-coral { background:#55B9E8; box-shadow:0 7px 0 rgba(44,144,196,.16); }.reference-hero .button-coral:hover { background:#0B4B4A; }.reference-hero .kicker-dot { background:#0EA5A3; }.reference-hero .section-kicker { color:#0B4B4A; }.reference-intro { background:#0B4B4A; }.reference-intro .intro-heading h2, .reference-intro .intro-body { color:#fff; }.reference-intro .intro-heading .section-kicker { color:#8FE3DE; }.reference-intro .intro-heading h2 i { color:#8FE3DE; }.reference-services { background:#fff; }.reference-services .work-card-featured { background:#E5F4F4; }.reference-services .work-icon, .reference-services .card-arrow { color:#0B4B4A; }.reference-services .work-card h3 { color:#0B4B4A; }.team-section { background:#EAF8F7; }.team-heading .section-kicker { color:#0B4B4A; }.team-heading h2 span { color:#0EA5A3; }.nurse-card { border-top:3px solid #67D3D0; }.whatsapp-link { color:#0B9F9B; }.whatsapp-link:hover { color:#E86A4A; }.private-section { background:#F4F7F5; padding:115px 0; }.private-grid { display:grid; grid-template-columns:1fr 1fr; gap:92px; align-items:center; }.private-photo { background:#DCEBE4; padding:11px 11px 46px; transform:rotate(-3deg); box-shadow:12px 13px 0 rgba(11,75,74,.08); }.private-photo img { width:100%; height:390px; display:block; object-fit:cover; }.private-copy h2 { color:#0B4B4A; font-family:'Fraunces',serif; font-size:clamp(39px,4vw,58px); line-height:1.04; letter-spacing:-.05em; margin:0; }.private-copy h2 span { color:#0EA5A3; }.private-copy > p { color:#62736C; max-width:460px; line-height:1.6; font-size:15px; }.private-copy .button-coral { background:#0B4B4A; box-shadow:0 7px 0 rgba(11,75,74,.14); }.private-copy .button-coral:hover { background:#0EA5A3; }.private-contact { font-size:12px !important; margin-top:22px; }.private-contact a, .contact-details a { color:#0B4B4A; font-weight:700; }.private-contact a:hover, .contact-details a:hover { color:#E86A4A; }.reference-gallery { background:#fff; }.reference-gallery .gallery-copy h2 span { color:#0EA5A3; }.reference-gallery .gallery-stat { border-color:#0EA5A3; }.reference-gallery .gallery-stat strong { color:#0B4B4A; }.contact-section { background:#0EA5A3; }.contact-inner h2 span { color:#073635; }.contact-inner .section-kicker { color:#D6FFFC; }.contact-details { display:flex; flex-direction:column; gap:10px; margin-top:22px; font-size:12px; }.contact-details a { color:#073635; }.contact-details a:hover { color:#fff; }.footer-brand img { width:42px; height:42px; object-fit:contain; }.footer-brand span { color:#fff; }.footer-brand em { font-family:'Fraunces',serif; font-style:normal; font-size:18px; }.footer-brand strong { font-size:13px; }.footer-grid .reference-brand { align-items:center; }.floating-whatsapp { background:#0EA5A3; }.floating-whatsapp:hover { background:#073635; }
@media (max-width:900px) { .private-grid { grid-template-columns:1fr; gap:55px; }.private-photo { max-width:560px; margin:auto; width:100%; } }
@media (max-width:640px) { .reference-brand img { width:38px; height:38px; }.reference-brand span { font-size:12px; }.reference-brand em { font-size:16px; }.reference-hero { padding-top:62px; }.private-section { padding:78px 0 88px; }.private-photo img { height:275px; } }

/* Work showcase: client-editable project storytelling below the community statement. */
.work-showcase { margin-top:112px; padding-top:48px; border-top:1px solid #B9CBC4; }.showcase-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; }.showcase-heading .section-kicker { color:#0B4B4A; margin-bottom:13px; }.showcase-heading h3 { color:#0B4B4A; font-family:'Fraunces',serif; font-weight:600; font-size:clamp(34px,4vw,50px); letter-spacing:-.05em; line-height:1.05; margin:0; }.showcase-heading h3 span { color:#0EA5A3; }.showcase-controls { display:flex; gap:8px; }.showcase-controls button { width:42px; height:42px; display:grid; place-items:center; border:1px solid #8DB8B2; background:transparent; color:#0B4B4A; transition:background .2s, color .2s, transform .16s; }.showcase-controls button:hover { background:#0B4B4A; color:#fff; }.showcase-controls button:active { transform:scale(.96); }.showcase-dots { display:flex; gap:9px; margin-top:20px; }.showcase-dots button { border:0; background:none; padding:5px 0; width:33px; }.showcase-dots button span { display:block; height:3px; width:100%; background:#B6CBC5; transition:background .2s, transform .2s; }.showcase-dots button.is-active span { background:#E86A4A; transform:scaleY(1.6); }.showcase-dots button:hover span { background:#0B4B4A; }
.showcase-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; margin-top:34px; }.showcase-tile { position:relative; min-height:270px; margin:0; padding:9px 9px 43px; background:#DCEBE4; cursor:pointer; overflow:hidden; transition:transform .2s, box-shadow .2s, background .2s; }.showcase-tile:hover, .showcase-tile.is-active { transform:translateY(-4px); box-shadow:0 10px 24px rgba(11,75,74,.12); background:#CDE6E2; }.showcase-tile img { display:block; width:100%; height:100%; min-height:218px; object-fit:cover; }.showcase-tile figcaption { position:absolute; bottom:14px; left:15px; right:15px; display:flex; align-items:center; justify-content:space-between; color:#0B4B4A; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.11em; }.showcase-tile figcaption svg { color:#E86A4A; }.showcase-grid + .showcase-dots { margin-top:20px; }
@media (max-width:900px) { .work-showcase { margin-top:80px; }.showcase-grid { grid-template-columns:repeat(3,1fr); gap:10px; }.showcase-tile { min-height:215px; padding:7px 7px 38px; }.showcase-tile img { min-height:170px; }.showcase-tile figcaption { left:11px; right:11px; bottom:11px; font-size:9px; } }
@media (max-width:640px) { .work-showcase { margin-top:65px; padding-top:35px; }.showcase-heading { align-items:flex-start; flex-direction:column; gap:20px; }.showcase-controls { align-self:flex-end; margin-top:-50px; }.showcase-grid { grid-template-columns:1fr; gap:12px; }.showcase-tile { min-height:245px; padding:8px 8px 40px; }.showcase-tile img { min-height:205px; }.showcase-tile figcaption { font-size:10px; } }

/* FAQ section: answer-engine friendly question/answer blocks. */
.faq-section { background:#F8F3EA; padding:110px 0 120px; }.faq-heading { max-width:560px; }.faq-heading h2 { color:#073635; }.faq-heading h2 span { color:#0EA5A3; }.faq-heading .section-kicker { color:#0B4B4A; }.faq-list { margin-top:52px; border-top:1px solid #B6C5BE; }.faq-item { border-bottom:1px solid #B6C5BE; }.faq-item summary { list-style:none; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:26px 8px; cursor:pointer; color:#073635; font-family:'Fraunces',serif; font-weight:600; font-size:22px; letter-spacing:-.03em; transition:color .2s; }.faq-item summary:hover { color:#0EA5A3; }.faq-item summary::-webkit-details-marker { display:none; }.faq-item summary svg { flex:none; color:#E86A4A; transition:transform .25s; }.faq-item[open] summary svg { transform:rotate(45deg); }.faq-item p { color:#5E7069; font-size:15px; line-height:1.65; margin:0; padding:0 8px 28px; max-width:760px; }.faq-item p a { color:#0B4B4A; font-weight:700; }.faq-item p a:hover { color:#E86A4A; }
@media (max-width:640px) { .faq-section { padding:76px 0 84px; }.faq-list { margin-top:36px; }.faq-item summary { font-size:18px; padding:20px 4px; }.faq-item p { font-size:14px; padding:0 4px 22px; } }

.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
