@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--blue:#99DAFF;--ink:#102638;--muted:#607482;--line:#e5edf2;--pale:#f4fbff;--white:#fff}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--white);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
.site-header{height:82px;padding:0 max(6vw,24px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf2f5;background:rgba(255,255,255,.94);position:sticky;top:0;z-index:10;backdrop-filter:blur(12px)}
.brand{display:inline-flex;align-items:center;gap:11px;font-weight:700;letter-spacing:-.03em}
.brand-mark{width:34px;height:34px}
.site-header nav{display:flex;align-items:center;gap:32px;font-size:.9rem;color:#405665}
.site-header nav a:hover,.text-link:hover{color:#237fb2}
.nav-contact{padding:10px 17px;border:1px solid #d6e8f2;border-radius:999px}
.hero{min-height:590px;padding:92px max(8vw,24px) 85px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center}
.eyebrow,.section-label{font-size:.72rem;letter-spacing:.17em;font-weight:700;color:#4a91b7}
.eyebrow{margin:0 0 22px}
h1,h2,h3,p,figure{margin-top:0}
h1,h2,h3{font-family:'Manrope',Arial,sans-serif;letter-spacing:-.055em;line-height:1.13}
h1{font-size:clamp(2.7rem,6.5vw,5.5rem);max-width:750px;margin-bottom:24px;font-weight:700}
h1 span{color:#398fbe}
.hero-copy{max-width:560px;color:var(--muted);font-size:1.08rem;line-height:1.8;margin-bottom:30px}
.hero-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap;position:relative;z-index:2}
.button{display:inline-flex;align-items:center;gap:20px;border-radius:999px;padding:14px 20px;font-weight:700;font-size:.9rem;transition:transform .2s,background .2s}
.button:hover{transform:translateY(-2px)}
.button-primary{background:var(--blue);color:#102638}
.button-primary:hover{background:#7bcaf5}
.text-link{font-size:.9rem;font-weight:700}
.hero-art{position:absolute;width:360px;height:360px;right:8%;top:125px;opacity:.9}
.art-circle{position:absolute;width:275px;height:275px;border-radius:50%;background:linear-gradient(145deg,#dff5ff,#99daff);right:10px;top:16px}
.art-circle:after{content:"";position:absolute;inset:35px;border:1px solid rgba(16,38,56,.16);border-radius:50%}
.art-line{position:absolute;background:#fff;z-index:1;opacity:.9}
.art-line-one{height:380px;width:1px;transform:rotate(45deg);left:170px;top:-10px}
.art-line-two{height:1px;width:380px;transform:rotate(-35deg);left:-10px;top:190px}
.art-card{position:absolute;z-index:2;bottom:22px;left:4px;padding:20px 24px;background:#fff;border:1px solid #e2f1f9;border-radius:16px;box-shadow:0 16px 45px #2b64801a;font-weight:700;line-height:1.45}
.art-symbol{display:block;color:#388cba;font-size:1.5rem;margin-bottom:7px}
.section {
  padding: 48px max(8vw, 24px);
  border-top: 1px solid var(--line);
  display: grid;
  grid-template-columns: minmax(130px, .7fr) minmax(0, 2fr);
  gap: 20px;
}.section-label{padding-top:8px}
.intro-content{max-width:780px}
h2 {
  font-size: clamp(2rem, 4vw, 3rem);
  margin-bottom: 14px;
}
.intro-content p,.section-copy,.existing-panel p,.gallery-heading p,.contact-panel>p:not(.eyebrow){font-size:1.03rem;color:var(--muted);max-width:700px;line-height:1.85}
.membership-content{max-width:850px}
.membership-content>div:first-child{max-width:670px}
.steps{margin:42px 0 25px;border-top:1px solid var(--line)}
.step{display:grid;grid-template-columns:54px 1fr;gap:18px;padding:25px 0;border-bottom:1px solid var(--line)}
.step-number{font-size:.8rem;color:#4797bf;font-weight:700;padding-top:4px}
.step h3{font-size:1.15rem;letter-spacing:-.025em;margin-bottom:8px}
.step p{color:var(--muted);margin:0;max-width:620px}
.notice{display:flex;gap:12px;background:var(--pale);border:1px solid #e1f3fc;border-radius:12px;padding:16px 18px;margin:30px 0;color:#4c6574;font-size:.88rem}
.notice p{margin:0}.notice strong{color:var(--ink)}
.notice-dot{width:8px;height:8px;border-radius:50%;background:#48a2d0;flex:none;margin-top:8px}
.existing-panel{display:flex;justify-content:space-between;gap:35px;align-items:center;background:#f7fcff;border:1px solid #e7f4fb;border-radius:18px;padding:32px}
.existing-panel h2{font-size:clamp(1.8rem,3vw,2.5rem);margin-bottom:14px}
.existing-panel p{margin-bottom:0;max-width:600px}
.existing-panel .text-link{white-space:nowrap;color:#287eaa}
.gallery-heading{grid-column:2}
.gallery-heading h2{margin-bottom:12px}
.gallery-grid{grid-column:2;display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:14px}
.gallery-tile{margin:0;min-height:220px;border-radius:14px;overflow:hidden;display:flex;align-items:flex-end;padding:20px}
.tile-one{background:linear-gradient(145deg,#d8f2ff,#8ccff0)}
.tile-two{background:linear-gradient(145deg,#edf9ff,#b7e5fb)}
.tile-three{background:linear-gradient(145deg,#c9eafa,#e8f8ff)}
.tile-placeholder{display:flex;flex-direction:column;gap:4px}
.tile-placeholder span{font-size:.72rem;color:#337fa7;font-weight:700;letter-spacing:.1em}
.tile-placeholder strong{font-family:'Manrope',sans-serif;font-size:1.1rem}
.tile-placeholder small{font-size:.78rem;color:#476777}
.contact-panel{grid-column:2;background:var(--blue);border-radius:20px;padding:clamp(28px,5vw,58px);position:relative;overflow:hidden}
.contact-panel:after{content:"";position:absolute;width:240px;height:240px;border:1px solid #ffffff7a;border-radius:50%;right:-50px;top:-70px;box-shadow:0 0 0 30px #ffffff21,0 0 0 60px #ffffff17}
.contact-panel .eyebrow{color:#286b8d}
.contact-panel h2{max-width:580px}
.contact-panel>p:not(.eyebrow){color:#274c60;max-width:550px}
.button-light{background:#fff;color:#102638;position:relative;z-index:1;overflow-wrap:anywhere}
.site-footer{padding:28px max(6vw,24px);display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;border-top:1px solid var(--line);font-size:.82rem;color:var(--muted)}
.footer-brand{color:var(--ink)}
.site-footer p{margin:0}
.site-footer small{font-size:.78rem}
@media(max-width:900px){.hero-art{right:-120px;opacity:.35}.hero>*:not(.hero-art){position:relative;z-index:1}.section{grid-template-columns:1fr;gap:18px;padding-top:64px;padding-bottom:64px}.gallery-heading,.gallery-grid,.contact-panel{grid-column:1}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-tile:last-child{display:none}}
@media(max-width:600px){.site-header{height:auto;min-height:72px;padding:14px 20px;align-items:flex-start;gap:12px;flex-direction:column}.site-header nav{width:100%;gap:17px;overflow-x:auto;padding-bottom:2px;font-size:.82rem}.nav-contact{padding:5px 12px}.hero{min-height:550px;padding-top:75px;padding-bottom:65px}.hero-art{top:180px;right:-210px;opacity:.22}.hero-copy{font-size:1rem}.section{padding-left:22px;padding-right:22px}.existing-panel{align-items:flex-start;flex-direction:column;padding:24px}.gallery-grid{grid-template-columns:1fr}.gallery-tile{min-height:180px}.gallery-tile:last-child{display:flex}.contact-panel{padding:28px 22px}.button-light{font-size:.78rem;gap:10px}.site-footer{align-items:flex-start;flex-direction:column;gap:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}




/* Gallery photo with the original number and title styling */
.gallery-tile {
  position: relative;
  padding: 0;
  min-height: 280px;
}

.gallery-photo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.gallery-overlay {
  position: relative;
  z-index: 1;
  width: 100%;
  min-height: 280px;
  justify-content: flex-end;
  padding: 20px;
  background: linear-gradient(
    to bottom,
    transparent 40%,
    rgba(16, 38, 56, 0.72) 100%
  );
}

.gallery-overlay span {
  color: #99DAFF;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .1em;
}

.gallery-overlay strong {
  color: #fff;
  font-family: 'Manrope', sans-serif;
  font-size: 1.1rem;
}
