:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#14302f;background:#f3f7f5;line-height:1.6;color-scheme:light}*{box-sizing:border-box}body{margin:0}header{border-bottom:1px solid #d7e5df;background:#fff}header .shell{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:22px}a{color:#236c68;text-underline-offset:4px}a:focus-visible,button:focus-visible{outline:3px solid #db9436;outline-offset:4px}.brand{font-weight:750;text-decoration:none;font-size:1.1rem}.brand small{display:block;font-size:.75rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.shell{width:min(1120px,calc(100% - 40px));margin:auto}main{padding-block:64px 80px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.75rem;font-weight:700;color:#386d67}h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(2.6rem,7vw,4.8rem);line-height:1.08;letter-spacing:-.04em;margin:18px 0 24px;max-width:850px}h2{font-size:1.4rem;line-height:1.3}.intro{max-width:630px;font-size:1.1rem;color:#4b625c}.meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:30px 0}.badge{border:1px solid #b2cdc4;background:#e4eee9;border-radius:30px;padding:5px 13px;font-size:.85rem;font-weight:650}.badge[data-state=error]{background:#fff1e7;color:#874a18;border-color:#e6cbb5}.badge[data-state=connected]{background:#d4eddd;color:#155631}.empty{background:#fff;border:1px solid #d6e3dc;padding:clamp(28px,6vw,60px);border-radius:18px;margin-top:28px;max-width:850px}.empty p{max-width:580px;color:#52685f}.album-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:30px 0}.post{overflow:hidden;border-radius:14px;border:1px solid #d6e3dc;background:#fff}.post img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:contain;background:#edf2ef}.post .copy{padding:20px}.post p{white-space:pre-line;overflow-wrap:anywhere;margin:0 0 12px}.post details{padding:0 20px 20px}.post details img{margin-top:12px;border-radius:8px}.post small{display:block;color:#52685f}.connect{max-width:760px}.connect h1{font-size:clamp(2.5rem,6vw,3.6rem)}.panel{background:white;border:1px solid #d6e3dc;border-radius:18px;padding:clamp(24px,5vw,40px);margin:28px 0}.steps{padding-left:22px}.steps li{margin:14px 0}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}button,.button{font:inherit;font-weight:650;background:#245f5a;color:#fff;border:1px solid #245f5a;border-radius:9px;padding:12px 18px;cursor:pointer;text-decoration:none;min-height:48px}.secondary{background:transparent;color:#245f5a}button:disabled{opacity:.55;cursor:not-allowed}[hidden]{display:none!important}.notice{white-space:pre-line;overflow-wrap:anywhere;color:#704615}.muted{font-size:.9rem;color:#576b63}footer{padding:28px 0;border-top:1px solid #d7e5df;color:#576b63;font-size:.85rem}@media(max-width:760px){.album-grid{grid-template-columns:repeat(2,minmax(0,1fr))}main{padding-top:38px}}@media(max-width:480px){.album-grid{grid-template-columns:1fr}.shell{width:calc(100% - 32px)}header .shell{align-items:flex-start}header a:last-child{font-size:.85rem}.actions{flex-direction:column}.actions>*{width:100%}}
/* Villas-V2: night-teal wall, lit faces, Overpass; only the separate portal. */
:root{font-family:Overpass,system-ui,sans-serif;color:#E8F4F1;background:#0A1E1F;font-variant-numeric:tabular-nums}body{background:linear-gradient(180deg,#245B5C 0,#1F4E50 900px,#173F41 34%,#11302F 62%,#0A1E1F 100%);min-height:100vh}header{background:#F3FAF8;border-bottom:1px solid #DDEEEA}header .shell{padding-block:12px;min-height:88px}.shell{width:min(1200px,calc(100% - 56px))}.brand img{display:block;width:190px;height:64px;object-fit:contain}.header-link{font-size:.95rem;font-weight:700;color:#2D5352}.skip{position:absolute;top:-100px;left:16px;padding:12px;background:#F3FAF8;color:#14302F;z-index:10}.skip:focus{top:10px}a{color:#E8F4F1}a:focus-visible,button:focus-visible{outline-color:#7CD7CB}header a:focus-visible,.post a:focus-visible,.empty a:focus-visible{outline-color:#14302F}main{padding-block:72px 64px}.album-hero{display:grid;grid-template-columns:1.3fr 1fr;gap:64px;align-items:center;padding-bottom:84px}.hero-kicker{font-weight:650;font-size:1rem;margin:0 0 20px}h1{font-family:inherit;font-size:clamp(2.5rem,1.3rem + 3.5vw,4.5rem);font-weight:800;line-height:1.04;letter-spacing:-.03em;margin:0 0 24px}h2{font-weight:800;letter-spacing:-.02em}.intro{color:#E8F4F1;max-width:530px}.hero-link{display:inline-flex;align-items:center;min-height:50px;border:1px solid #8cb9b3;border-radius:12px;padding:0 20px;text-decoration:none;font-weight:700;margin-top:16px}.hero-link:hover{background:#ffffff12}.clinic-sign{background:radial-gradient(ellipse at 50% 35%,#fff,#F3FAF8 65%,#DDEEEA);border:7px solid #1B3534;outline:1px solid #65817d;border-radius:20px;padding:40px 28px;text-align:center;color:#2D5352;box-shadow:0 18px 48px #061b1b40}.clinic-sign img{display:block;width:100%;height:180px;object-fit:contain}.clinic-sign p{font-weight:800;margin:24px 0 4px}.clinic-sign span{font-size:.95rem}.section-top{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #ffffff26;padding-top:42px}.section-top h2{font-size:clamp(1.7rem,3vw,2.5rem);margin:0}.section-top a{overflow-wrap:anywhere;font-size:.95rem}.meta{margin:22px 0 8px}.muted{color:#E8F4F1}.badge,.badge[data-state=connected]{background:#E1F0EC;color:#2D5352;border-color:#BFDDD9}.badge[data-state=error]{background:#fff1e7;color:#704615}.album-grid{gap:22px;margin-top:28px;align-items:start}.post{background:#F3FAF8;border-color:#DDEEEA;border-radius:18px;color:#14302F;box-shadow:0 8px 20px #061b1b26}.post img{aspect-ratio:4/5;object-fit:contain;background:#E2EFEC}.post a,.empty a{color:#2D7A78;font-weight:700}.post .copy{padding:24px}.post p{font-size:1rem;line-height:1.65}.post summary{cursor:pointer;min-height:44px;padding-block:10px;font-weight:700}.post small{color:#466664}.empty{color:#14302F;background:#F3FAF8}.empty p{color:#466664}.album-note{max-width:740px;color:#A9CCC6;margin-top:44px}.connect .panel{color:#14302F;background:#F3FAF8}.connect .panel .muted{color:#466664}.connect .panel a{color:#2D7A78}.connect .secondary{color:#245f5a}.connect .eyebrow{color:#E8F4F1}.connect h1{font-family:inherit;font-weight:800}footer{color:#A9CCC6;border-color:#ffffff26}footer .shell{display:flex;gap:16px;justify-content:space-between;flex-wrap:wrap}footer strong{color:#E8F4F1}@media(max-width:850px){.album-hero{gap:28px}.clinic-sign{padding:24px 16px}.clinic-sign img{height:150px}.section-top{align-items:flex-start;flex-direction:column;gap:12px}}@media(max-width:600px){.shell{width:calc(100% - 32px)}main{padding-top:40px}.album-hero{grid-template-columns:1fr;padding-bottom:48px;gap:36px}.clinic-sign{max-width:420px;width:100%;margin:auto}.clinic-sign img{height:145px}.brand img{width:148px;height:54px}.header-link{max-width:125px;text-align:right}.album-grid{grid-template-columns:1fr}.section-top{padding-top:28px}.post .copy{padding:20px}.hero-kicker{margin-bottom:16px}}
/* Uniform cards: the text and carousel scroll together; the main link never does. */
.post{display:flex;flex-direction:column;min-width:0}.post-media{width:100%;aspect-ratio:4/5;flex:none;background:#E2EFEC;overflow:hidden}.post-media>img{width:100%;height:100%;aspect-ratio:4/5;object-fit:contain}.post .copy{display:flex;flex-direction:column;min-width:0;padding:22px}.post-description{height:26.4rem;flex:none;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;scrollbar-width:auto;scrollbar-color:#549A96 #E1F0EC;padding-right:10px;overscroll-behavior-y:contain}.post-description:focus-visible{outline:2px solid #2D5352;outline-offset:3px}.post-description::-webkit-scrollbar{width:12px}.post-description::-webkit-scrollbar-track{background:#E1F0EC;border-radius:10px}.post-description::-webkit-scrollbar-thumb{background:#549A96;border:3px solid #E1F0EC;border-radius:10px}.post-description p{white-space:pre-wrap;word-break:normal;overflow-wrap:break-word;hyphens:none;line-height:1.65;margin:0 0 16px}.post-description details{padding:0 0 16px}.post-description summary{white-space:normal;overflow-wrap:break-word}.post-footer{height:66px;flex:none;display:flex;align-items:center;border-top:1px solid #c8ddd6;margin-top:18px}.post-footer a{display:inline-flex;align-items:center;min-height:44px;line-height:1.4;font-size:.95rem;word-break:normal;overflow-wrap:normal}.header-link{white-space:nowrap}@media(max-width:600px){.post .copy{padding:20px}.post-description{height:24rem}.header-link{max-width:none;font-size:.82rem}}
