:root{--ocean: #0D2B3E;--coral: #E8634A;--seafoam: #A8D5BA;--sand: #F5EDD6;--driftwood:#8C7355;--white: #FDFAF5;--text: #1A1208;--text-mid: #4A3F2F;--text-soft:#7A6E60;--border: #D4C9B0;--font-display: "Playfair Display", Georgia, serif;--font-body: "Source Sans 3", system-ui, sans-serif;--radius-sm: 4px;--radius-md: 10px;--radius-lg: 20px;--shadow-sm: 0 1px 4px rgba(13,43,62,.08);--shadow-md: 0 4px 20px rgba(13,43,62,.12);--shadow-lg: 0 12px 48px rgba(13,43,62,.18);--transition: .2s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--white);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-display);line-height:1.2}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:var(--font-body)}img{display:block;max-width:100%}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--sand) 25%,var(--border) 50%,var(--sand) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}:focus-visible{outline:3px solid var(--coral);outline-offset:3px}.nav-links,.nav-cta{display:flex}.nav-burger{display:none}@media (max-width: 768px){.nav-links,.nav-cta{display:none}.nav-burger{display:block}}.facility-body{display:grid;grid-template-columns:1fr 260px;gap:40px;align-items:start}@media (max-width: 720px){.facility-body{grid-template-columns:1fr;gap:24px}.facility-aside{position:static!important}}.grid-responsive-2col{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media (max-width: 640px){.grid-responsive-2col{grid-template-columns:1fr}}.home-hero-inner{display:grid;grid-template-columns:1fr 280px;gap:64px;align-items:center}@media (max-width: 900px){.home-hero-inner{grid-template-columns:1fr;gap:32px}}.search-page-grid{display:grid;grid-template-columns:220px 1fr;gap:40px;align-items:start}@media (max-width: 768px){.search-page-grid{grid-template-columns:1fr;gap:24px}.search-sidebar{position:static!important}}@media print{header,footer,.no-print{display:none!important}body{background:#fff;color:#000}main{padding:0!important}a[href]:after{content:""}}
