/* MindTune Collective – shared styles */
:root {
  --cream:      #F2EFE8;
  --sand:       #DDD8CC;
  --honey:      #8A9B6E;
  --terracotta: #5C6B3A;
  --blush:      #A3A882;
  --blush-pale: #E4E8D8;
  --green:      #3D5229;
  --green-pale: #CDD6C0;
  --brown:      #2C1A0E;
  --brown-mid:  #6B4F2A;
  --olive:      #7A8C5A;
  --white:      #F8F6F0;
  --radius:     20px;
  --radius-lg:  32px;
  --radius-pill:999px;
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:'DM Sans',sans-serif; background:var(--cream); color:var(--brown); overflow-x:hidden; }

/* ── NOISE TEXTURE OVERLAY ── */
body::before {
  content:''; position:fixed; inset:0; pointer-events:none; z-index:0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");
  opacity:0.4;
}

/* ── NAV ── */
nav {
  position:fixed; top:0; width:100%; z-index:200;
  padding:0 2.5rem;
  height:72px;
  display:flex; align-items:center; justify-content:space-between;
  background:rgba(247,242,234,0.88);
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(92,107,58,0.15);
}
.nav-logo { display:flex; align-items:center; gap:0.7rem; text-decoration:none; }
.nav-logo img { height:42px; width:auto; border-radius:10px; }
.nav-logo-text { font-family:'Playfair Display',serif; font-size:1.15rem; font-weight:500; color:var(--brown); line-height:1.1; }
.nav-logo-text span { display:block; font-family:'DM Sans',sans-serif; font-size:0.65rem; font-weight:400; letter-spacing:0.22em; color:var(--terracotta); text-transform:uppercase; }
.nav-right { display:flex; align-items:center; gap:0.3rem; }
.nav-links { display:flex; align-items:center; gap:0.2rem; list-style:none; }
.nav-links > li { position:relative; }
.nav-links a { font-size:0.8rem; letter-spacing:0.04em; color:var(--brown); text-decoration:none; font-weight:400; padding:0.5rem 0.75rem; border-radius:var(--radius-pill); transition:all 0.25s; display:flex; align-items:center; gap:0.3rem; }
.nav-links a:hover { background:rgba(92,107,58,0.08); color:var(--terracotta); }

/* DROPDOWN */
.dropdown-trigger { cursor:pointer; }
.dropdown-trigger svg { transition:transform 0.3s; }
.dropdown-trigger.open svg { transform:rotate(180deg); }
.dropdown-menu {
  position:absolute; top:calc(100% + 8px); left:50%; transform:translateX(-50%);
  background:var(--white); border-radius:var(--radius-lg);
  box-shadow:0 20px 60px rgba(61,31,13,0.15), 0 4px 16px rgba(61,31,13,0.08);
  border:1px solid rgba(92,107,58,0.1);
  min-width:320px; padding:1rem;
  opacity:0; pointer-events:none; transform:translateX(-50%) translateY(-8px);
  transition:all 0.3s cubic-bezier(0.16,1,0.3,1);
}
.dropdown-menu.open { opacity:1; pointer-events:all; transform:translateX(-50%) translateY(0); }
.dropdown-section-label { font-size:0.65rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--terracotta); padding:0.4rem 0.8rem 0.6rem; font-weight:500; }
.dropdown-item { display:flex; align-items:flex-start; gap:0.8rem; padding:0.7rem 0.8rem; border-radius:14px; text-decoration:none; transition:background 0.2s; cursor:pointer; }
.dropdown-item:hover { background:var(--blush-pale); }
.dropdown-icon svg { width:18px; height:18px; color:var(--green); }
.dropdown-icon { width:36px; height:36px; border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:1.1rem; flex-shrink:0; }
.dropdown-item-text strong { display:block; font-size:0.85rem; color:var(--brown); font-weight:500; margin-bottom:0.1rem; }
.dropdown-item-text span { font-size:0.75rem; color:var(--brown-mid); font-weight:300; line-height:1.4; }
.dropdown-divider { height:1px; background:rgba(92,107,58,0.1); margin:0.6rem 0; }

.nav-cta { background:linear-gradient(135deg,var(--green),var(--olive)); color:#fff !important; padding:0.55rem 1.3rem !important; border-radius:var(--radius-pill) !important; font-weight:500 !important; box-shadow:0 4px 14px rgba(92,107,58,0.3); transition:all 0.3s !important; margin-left:0.5rem; }
.nav-cta:hover { transform:translateY(-2px); box-shadow:0 8px 20px rgba(92,107,58,0.4) !important; background:linear-gradient(135deg,var(--brown),var(--terracotta)) !important; }
.nav-social { display:flex; align-items:center; gap:0.5rem; margin-left:0.5rem; }
.nav-social a { width:34px; height:34px; border-radius:var(--radius-pill); display:flex; align-items:center; justify-content:center; color:var(--brown-mid); transition:all 0.25s; background:rgba(196,102,58,0.06); }
.nav-social a:hover { background:var(--terracotta); color:#fff; transform:translateY(-2px); }

/* ── HERO ── */
#home {
  min-height:92vh; padding-top:72px;
  display:grid; grid-template-columns:1fr 1.18fr;
  position:relative; overflow:hidden;
}
.hero-bg-blobs { position:absolute; inset:0; pointer-events:none; z-index:0; overflow:hidden; }
.blob { position:absolute; border-radius:50%; filter:blur(80px); opacity:0.35; }
.blob-1 { width:600px; height:600px; background:radial-gradient(circle, var(--green-pale), transparent); top:-10%; right:-10%; animation:blobFloat 10s ease-in-out infinite; }
.blob-2 { width:400px; height:400px; background:radial-gradient(circle, var(--sand), transparent); bottom:10%; left:-5%; animation:blobFloat 13s ease-in-out infinite reverse; }
.blob-3 { width:300px; height:300px; background:radial-gradient(circle, var(--blush-pale), transparent); top:40%; left:30%; animation:blobFloat 8s ease-in-out infinite 2s; }
@keyframes blobFloat { 0%,100%{transform:translate(0,0) scale(1)} 33%{transform:translate(20px,-30px) scale(1.05)} 66%{transform:translate(-15px,20px) scale(0.96)} }

.hero-left { position:relative; z-index:2; display:flex; flex-direction:column; justify-content:center; padding:4rem 3rem 4rem 5rem; }
.hero-pill { display:inline-flex; align-items:center; gap:0.5rem; background:rgba(92,107,58,0.1); border:1px solid rgba(92,107,58,0.2); border-radius:var(--radius-pill); padding:0.4rem 1rem; font-size:0.75rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--terracotta); margin-bottom:2rem; width:fit-content; }
.hero-pill::before { content:''; width:5px; height:5px; background:var(--terracotta); transform:rotate(45deg); flex-shrink:0; }
h1.hero-h1 { font-family:'Playfair Display',serif; font-size:clamp(3.2rem,5.5vw,5.5rem); font-weight:400; line-height:1.05; color:var(--brown); margin-bottom:1.5rem; }
h1.hero-h1 em { font-style:italic; background:linear-gradient(135deg,var(--green),var(--olive)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.hero-p { font-size:1rem; font-weight:300; line-height:1.85; color:var(--brown-mid); max-width:440px; margin-bottom:2.5rem; }
.hero-btns { display:flex; gap:1rem; flex-wrap:wrap; margin-bottom:3rem; }
.btn-primary { background:linear-gradient(135deg,var(--green),var(--olive)); color:#fff; padding:0.9rem 2rem; text-decoration:none; font-size:0.85rem; font-weight:500; letter-spacing:0.06em; border-radius:var(--radius-pill); box-shadow:0 8px 24px rgba(92,107,58,0.35); transition:all 0.3s; display:inline-block; }
.btn-primary:hover { transform:translateY(-3px); box-shadow:0 14px 32px rgba(92,107,58,0.45); }
.btn-outline { border:1.5px solid var(--green); color:var(--green); padding:0.9rem 2rem; text-decoration:none; font-size:0.85rem; font-weight:500; letter-spacing:0.06em; border-radius:var(--radius-pill); transition:all 0.3s; display:inline-block; }
.btn-outline:hover { background:var(--green); color:#fff; transform:translateY(-3px); }
.hero-tags { display:flex; gap:0.6rem; flex-wrap:wrap; }
.hero-tag-chip { background:var(--white); border:1px solid var(--sand); border-radius:var(--radius-pill); padding:0.35rem 0.9rem; font-size:0.75rem; color:var(--brown-mid); font-weight:400; }
.hero-right { position:relative; z-index:2; display:flex; align-items:stretch; justify-content:flex-end; padding:2.2rem 3rem 2.2rem 0; }
.hero-frame { position:relative; flex:1; display:flex; min-height:560px; }
.hero-frame::before { content:''; position:absolute; top:-14px; left:-14px; width:170px; height:170px; border-top:1.5px solid var(--olive); border-left:1.5px solid var(--olive); border-radius:var(--radius-lg) 0 0 0; opacity:0.5; z-index:0; }
.hero-frame::after { content:''; position:absolute; bottom:-14px; right:-14px; width:170px; height:170px; border-bottom:1.5px solid var(--olive); border-right:1.5px solid var(--olive); border-radius:0 0 var(--radius-lg) 0; opacity:0.5; z-index:0; }
.hero-image { position:relative; z-index:1; width:100%; height:100%; object-fit:cover; object-position:center 42%; border-radius:var(--radius-lg); display:block; box-shadow:0 30px 70px rgba(44,26,14,0.2); }
.trust-bar { display:grid; grid-template-columns:repeat(4,1fr); align-items:stretch; padding:1.7rem 3rem; background:var(--white); border-top:1px solid var(--sand); border-bottom:1px solid var(--sand); }
.trust-item { display:flex; align-items:center; justify-content:flex-start; gap:0.85rem; padding:0.3rem 1.2rem; border-right:1px solid var(--sand); }
.trust-item:last-child { border-right:none; }
.trust-item svg { width:21px; height:21px; color:var(--olive); flex-shrink:0; }
.trust-label { font-size:0.66rem; letter-spacing:0.17em; text-transform:uppercase; color:var(--terracotta); margin-bottom:0.15rem; }
.trust-val { font-family:'Playfair Display',serif; font-size:0.95rem; color:var(--brown); line-height:1.25; }

/* ── IMAGE STRIP ── */

/* ── ABOUT ── */
#about { padding:7rem 5rem; background:var(--white); position:relative; overflow:hidden; }
.about-bg-shape { position:absolute; top:-100px; right:-100px; width:500px; height:500px; border-radius:50%; background:radial-gradient(circle, var(--blush-pale), transparent 70%); opacity:0.6; pointer-events:none; }
.about-grid { display:grid; grid-template-columns:auto 1fr; gap:5rem; align-items:start; position:relative; z-index:2; }
.about-photo-col { display:flex; flex-direction:column; align-items:center; gap:1.5rem; }
.profile-frame { position:relative; }
.profile-frame::before { content:''; position:absolute; top:12px; left:12px; right:-12px; bottom:-12px; background:linear-gradient(135deg,var(--olive),var(--sand)); border-radius:var(--radius-lg); z-index:0; opacity:0.5; }
.profile-photo { position:relative; z-index:1; width:260px; height:320px; object-fit:cover; object-position:center top; border-radius:var(--radius-lg); display:block; box-shadow:0 20px 60px rgba(61,31,13,0.2); }
.credentials-list { background:var(--cream); border-radius:var(--radius); padding:1.2rem 1.4rem; width:260px; border:1px solid var(--sand); }
.credential { display:flex; align-items:flex-start; gap:0.6rem; font-size:0.8rem; color:var(--brown-mid); line-height:1.5; padding:0.35rem 0; border-bottom:1px solid rgba(92,107,58,0.08); }
.credential:last-child { border-bottom:none; }
.credential-dot { width:6px; height:6px; border-radius:50%; background:linear-gradient(135deg,var(--green),var(--olive)); margin-top:0.45rem; flex-shrink:0; }
.about-content { }
.section-eyebrow { font-size:0.7rem; letter-spacing:0.28em; text-transform:uppercase; color:var(--terracotta); margin-bottom:1rem; display:flex; align-items:center; gap:0.6rem; }
.section-eyebrow::before { content:''; width:1.5rem; height:1.5px; background:linear-gradient(90deg,var(--terracotta),var(--olive)); }
h2.section-h2 { font-family:'Playfair Display',serif; font-size:clamp(2.2rem,3.5vw,3.2rem); font-weight:400; line-height:1.15; color:var(--brown); margin-bottom:1.8rem; }
h2.section-h2 em { font-style:italic; color:var(--terracotta); }
.about-name { font-family:'Playfair Display',serif; font-size:1.6rem; color:var(--brown); margin-bottom:0.2rem; }
.about-title-tag { display:inline-block; background:linear-gradient(135deg,var(--green),var(--olive)); color:#fff; font-size:0.7rem; letter-spacing:0.14em; text-transform:uppercase; padding:0.3rem 0.9rem; border-radius:var(--radius-pill); margin-bottom:1.5rem; }
.about-story p { font-size:0.92rem; line-height:1.9; color:var(--brown-mid); font-weight:300; margin-bottom:1rem; }
.pull-quote { background:linear-gradient(135deg,rgba(92,107,58,0.08),rgba(122,140,90,0.08)); border-left:3px solid var(--terracotta); border-radius:0 var(--radius) var(--radius) 0; padding:1.5rem 2rem; margin:2rem 0; font-family:'Playfair Display',serif; font-size:1.15rem; font-style:italic; line-height:1.6; color:var(--brown); }
.approach-chips { display:flex; flex-wrap:wrap; gap:0.5rem; margin-top:1.5rem; }
.approach-chip { background:var(--cream); border:1.5px solid var(--sand); color:var(--brown-mid); font-size:0.72rem; letter-spacing:0.08em; text-transform:uppercase; padding:0.35rem 0.9rem; border-radius:var(--radius-pill); font-weight:500; transition:all 0.25s; }
.approach-chip:hover { background:var(--terracotta); border-color:var(--terracotta); color:#fff; }
.about-location-pill svg { width:15px; height:15px; flex-shrink:0; }
.about-location-pill { display:inline-flex; align-items:center; gap:0.5rem; margin-top:1.5rem; background:rgba(61,82,41,0.1); border:1px solid rgba(61,82,41,0.25); border-radius:var(--radius-pill); padding:0.45rem 1rem; font-size:0.75rem; color:var(--green); letter-spacing:0.08em; }
.note-text { margin-top:1.5rem; font-size:0.78rem; line-height:1.7; color:var(--brown-mid); font-style:italic; opacity:0.75; }

/* ── VALUES ── */
#values { padding:6rem 5rem; background:var(--cream); }
.values-header { text-align:center; max-width:560px; margin:0 auto 3.5rem; }
.values-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.value-card { background:var(--white); border-radius:var(--radius-lg); padding:2.2rem 1.8rem; border:1px solid var(--sand); transition:all 0.3s; position:relative; overflow:hidden; }
.value-card::after { content:''; position:absolute; bottom:0; right:0; width:100px; height:100px; border-radius:50%; background:radial-gradient(circle at bottom right, var(--blush-pale), transparent); opacity:0.6; transition:opacity 0.3s; }
.value-card:hover { transform:translateY(-6px); box-shadow:0 20px 50px rgba(61,31,13,0.1); border-color:var(--blush); }
.value-card:hover::after { opacity:1; }
.value-icon-wrap { width:54px; height:54px; border-radius:16px; display:flex; align-items:center; justify-content:center; margin-bottom:1.3rem; }
.value-icon-wrap svg { width:27px; height:27px; }
.value-icon-wrap.tc { background:linear-gradient(135deg,rgba(92,107,58,0.14),rgba(122,140,90,0.14)); color:var(--green); }
.value-icon-wrap.bl { background:linear-gradient(135deg,rgba(163,168,130,0.22),rgba(228,232,216,0.34)); color:var(--terracotta); }
.value-icon-wrap.gn { background:linear-gradient(135deg,rgba(61,82,41,0.15),rgba(205,214,192,0.3)); color:var(--green); }
.value-card h4 { font-family:'Playfair Display',serif; font-size:1.2rem; font-weight:500; color:var(--brown); margin-bottom:0.6rem; }
.value-card p { font-size:0.85rem; line-height:1.75; color:var(--brown-mid); font-weight:300; }

/* ── QUOTE STRIP ── */
.quote-strip { position:relative; height:300px; overflow:hidden; }
.quote-strip img { width:100%; height:100%; object-fit:cover; filter:brightness(0.4) saturate(0.6); }
.quote-strip-overlay { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:2rem; background:linear-gradient(135deg,rgba(92,107,58,0.3),rgba(61,31,13,0.5)); }
.quote-strip-text { font-family:'Playfair Display',serif; font-size:clamp(1.4rem,2.5vw,2.2rem); font-style:italic; font-weight:400; color:#fff; max-width:700px; line-height:1.5; }
.quote-strip-attr { margin-top:1rem; font-size:0.72rem; letter-spacing:0.22em; text-transform:uppercase; color:rgba(255,255,255,0.6); }

/* ── SERVICES ── */
#services { padding:7rem 5rem; background:var(--white); }
.services-header { text-align:center; max-width:580px; margin:0 auto 4rem; }
.services-tabs { display:flex; justify-content:center; gap:0.5rem; margin-bottom:3rem; }
.tab-btn { padding:0.6rem 1.6rem; border-radius:var(--radius-pill); border:1.5px solid var(--sand); background:transparent; color:var(--brown-mid); font-family:'DM Sans',sans-serif; font-size:0.82rem; font-weight:500; cursor:pointer; transition:all 0.25s; }
.tab-btn.active { background:linear-gradient(135deg,var(--green),var(--olive)); border-color:transparent; color:#fff; box-shadow:0 6px 20px rgba(92,107,58,0.3); }
.tab-btn:hover:not(.active) { border-color:var(--terracotta); color:var(--terracotta); }
.tab-panel { display:none; }
.tab-panel.active { display:block; animation:fadeUp 0.4s ease; }
@keyframes fadeUp { from{opacity:0;transform:translateY(12px)} to{opacity:1;transform:translateY(0)} }

/* 1:1 panel */
.session-card { display:grid; grid-template-columns:1fr 1fr; gap:0; border-radius:var(--radius-lg); overflow:hidden; box-shadow:0 20px 60px rgba(61,31,13,0.1); max-width:900px; margin:0 auto; }
.session-card-img { height:100%; min-height:400px; object-fit:cover; display:block; width:100%; filter:brightness(0.9) saturate(0.9); }
.session-card-body { background:var(--cream); padding:3rem; display:flex; flex-direction:column; justify-content:center; }
.service-badge svg { width:15px; height:15px; flex-shrink:0; }
.service-badge { display:inline-flex; align-items:center; gap:0.5rem; background:rgba(74,103,65,0.1); border:1px solid rgba(61,82,41,0.25); border-radius:var(--radius-pill); padding:0.3rem 0.8rem; font-size:0.7rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--green); margin-bottom:1.2rem; width:fit-content; }
.session-card-body h3 { font-family:'Playfair Display',serif; font-size:2rem; font-weight:400; color:var(--brown); margin-bottom:1rem; line-height:1.2; }
.session-card-body p { font-size:0.88rem; line-height:1.85; color:var(--brown-mid); font-weight:300; margin-bottom:1.5rem; }

/* workshops grid */
.workshops-note { max-width:820px; margin:0 auto 2.5rem; background:var(--cream); border:1px solid var(--sand); border-left:3px solid var(--olive); border-radius:var(--radius); padding:1.2rem 1.6rem; }
.workshops-note p { font-size:0.86rem; line-height:1.8; color:var(--brown-mid); font-weight:300; margin:0; }
.workshops-note strong { color:var(--brown); font-weight:500; }
.workshops-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1.5rem; max-width:1000px; margin:0 auto; }
.workshop-card { background:var(--cream); border-radius:var(--radius-lg); overflow:hidden; border:1px solid var(--sand); transition:all 0.3s; }
.workshop-card:hover { transform:translateY(-6px); box-shadow:0 24px 56px rgba(61,31,13,0.12); border-color:var(--blush); }
.workshop-card-img { width:100%; height:180px; object-fit:cover; display:block; filter:brightness(0.85) saturate(0.85); transition:filter 0.4s; }
.workshop-card:hover .workshop-card-img { filter:brightness(0.95) saturate(1); }
.workshop-card-body { padding:1.8rem; }
.workshop-tag { display:inline-flex; align-items:center; gap:0.4rem; background:linear-gradient(135deg,rgba(92,107,58,0.12),rgba(122,140,90,0.12)); border-radius:var(--radius-pill); padding:0.28rem 0.8rem; font-size:0.68rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--terracotta); font-weight:500; margin-bottom:0.9rem; }
.workshop-card h3 { font-family:'Playfair Display',serif; font-size:1.4rem; font-weight:500; color:var(--brown); margin-bottom:0.6rem; line-height:1.25; }
.workshop-card p { font-size:0.83rem; line-height:1.8; color:var(--brown-mid); font-weight:300; }
.workshop-card-footer { display:flex; align-items:center; justify-content:space-between; margin-top:1.2rem; padding-top:1rem; border-top:1px solid var(--sand); }
.workshop-format { font-size:0.72rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--green); font-weight:500; }
.workshop-arr { width:32px; height:32px; border-radius:50%; background:linear-gradient(135deg,var(--green),var(--olive)); display:flex; align-items:center; justify-content:center; color:#fff; font-size:0.9rem; transition:transform 0.25s; }
.workshop-card:hover .workshop-arr { transform:translate(3px,-3px); }

/* ── NDIS ── */
#ndis { padding:7rem 5rem; background:var(--cream); position:relative; overflow:hidden; }
.ndis-bg { position:absolute; inset:0; pointer-events:none; }
.ndis-bg::before { content:''; position:absolute; top:-180px; left:-180px; width:520px; height:520px; border-radius:50%; background:radial-gradient(circle, rgba(92,107,58,0.13), transparent 70%); }
.ndis-bg::after { content:''; position:absolute; bottom:-160px; right:-160px; width:460px; height:460px; border-radius:50%; background:radial-gradient(circle, rgba(122,140,90,0.14), transparent 70%); }
.ndis-inner { position:relative; z-index:2; max-width:1060px; margin:0 auto; }
.ndis-header { text-align:center; max-width:640px; margin:0 auto 2.5rem; }
.ndis-intro { font-size:0.95rem; line-height:1.9; color:var(--brown-mid); font-weight:300; }
.ndis-notice { display:flex; gap:1.1rem; align-items:flex-start; background:var(--white); border:1px solid var(--sand); border-left:3px solid var(--olive); border-radius:var(--radius); padding:1.4rem 1.6rem; max-width:800px; margin:0 auto 3.5rem; }
.ndis-notice-icon { flex-shrink:0; width:26px; height:26px; border-radius:50%; background:var(--olive); color:#fff; display:flex; align-items:center; justify-content:center; font-family:'Playfair Display',serif; font-size:0.95rem; font-style:italic; margin-top:0.1rem; }
.ndis-notice strong { display:block; font-size:0.88rem; color:var(--brown); font-weight:500; margin-bottom:0.4rem; }
.ndis-notice p { font-size:0.84rem; line-height:1.75; color:var(--brown-mid); font-weight:300; }
.ndis-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:1.5rem; }
.ndis-card { grid-column:span 2; }
.ndis-card:nth-child(4) { grid-column:3 / span 2; }
.ndis-banner { position:relative; border-radius:var(--radius-lg); overflow:hidden; margin-bottom:3rem; }
.ndis-banner img { width:100%; height:auto; aspect-ratio:1.5; object-fit:cover; display:block; filter:saturate(0.92); }
.ndis-banner-overlay { position:absolute; inset:0; display:flex; align-items:flex-end; padding:2.2rem 2.6rem; background:linear-gradient(90deg,rgba(44,26,14,0.42) 0%,rgba(44,26,14,0.12) 45%,transparent 70%); }
.ndis-banner-overlay span { font-family:'Playfair Display',serif; font-size:1.5rem; font-style:italic; color:#fff; text-shadow:0 2px 12px rgba(44,26,14,0.35); }
.ndis-card { background:var(--white); border:1px solid var(--sand); border-radius:var(--radius-lg); padding:0; overflow:hidden; position:relative; transition:all 0.3s; }
.ndis-card-img { width:100%; height:170px; object-fit:cover; display:block; filter:brightness(0.94) saturate(0.9); transition:filter 0.4s, transform 0.5s; }
.ndis-card:hover .ndis-card-img { filter:brightness(1) saturate(1); transform:scale(1.03); }
.ndis-card-body { padding:1.7rem; position:relative; z-index:2; }
.ndis-card-body::after { content:''; position:absolute; bottom:0; right:0; width:110px; height:110px; border-radius:50%; background:radial-gradient(circle at bottom right, rgba(205,214,192,0.5), transparent 70%); opacity:0.7; transition:opacity 0.3s; pointer-events:none; }
.ndis-card:hover { transform:translateY(-6px); box-shadow:0 22px 50px rgba(44,26,14,0.1); border-color:var(--olive); }
.ndis-card:hover .ndis-card-body::after { opacity:1; }
.ndis-card-num { font-family:'Playfair Display',serif; font-size:0.95rem; color:var(--terracotta); letter-spacing:0.1em; margin-bottom:0.9rem; position:relative; display:inline-block; }
.ndis-card-num::after { content:''; position:absolute; bottom:-5px; left:0; width:22px; height:1.5px; background:linear-gradient(90deg,var(--terracotta),var(--olive)); }
.ndis-card h4 { font-family:'Playfair Display',serif; font-size:1.2rem; font-weight:500; color:var(--brown); margin-bottom:0.7rem; line-height:1.3; position:relative; z-index:2; }
.ndis-card p { font-size:0.85rem; line-height:1.8; color:var(--brown-mid); font-weight:300; position:relative; z-index:2; }
.ndis-cta { text-align:center; margin-top:3.5rem; }
.ndis-cta p { font-size:0.9rem; line-height:1.85; color:var(--brown-mid); font-weight:300; max-width:520px; margin:0 auto 1.6rem; }
.ndis-feature-img { width:100%; height:380px; object-fit:cover; object-position:center 25%; border-radius:var(--radius-lg); margin:3.5rem 0; filter:saturate(0.95); }
.ndis-services { display:flex; flex-direction:column; max-width:780px; margin:0 auto; }
.ndis-service { display:flex; gap:1.8rem; padding:1.8rem 0; border-bottom:1px solid var(--sand); }
.ndis-service:last-child { border-bottom:none; }
.ndis-service-num { font-family:'Playfair Display',serif; font-size:1.1rem; color:var(--terracotta); flex-shrink:0; width:2.2rem; padding-top:0.1rem; }
.ndis-service h4 { font-family:'Playfair Display',serif; font-size:1.15rem; font-weight:500; color:var(--brown); margin-bottom:0.5rem; line-height:1.3; }
.ndis-service p { font-size:0.88rem; line-height:1.8; color:var(--brown-mid); font-weight:300; }
@media (max-width:768px) {
  .ndis-feature-img { height:220px; margin:2.5rem 0; }
  .ndis-service { gap:1.1rem; }
}

/* ── CONTACT ── */
#contact { padding:7rem 5rem; background:var(--cream); position:relative; overflow:hidden; }
.contact-bg { position:absolute; inset:0; pointer-events:none; }
.contact-bg::before { content:''; position:absolute; top:-200px; right:-200px; width:600px; height:600px; border-radius:50%; background:radial-gradient(circle, rgba(92,107,58,0.12), transparent 70%); }
.contact-bg::after { content:''; position:absolute; bottom:-150px; left:-150px; width:500px; height:500px; border-radius:50%; background:radial-gradient(circle, rgba(163,168,130,0.15), transparent 70%); }
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:start; position:relative; z-index:2; }
.contact-left .section-eyebrow { }
.contact-info-cards { display:flex; flex-direction:column; gap:0.8rem; margin-top:2rem; }
.info-card { display:flex; align-items:center; gap:1rem; background:var(--white); border-radius:var(--radius); padding:1rem 1.3rem; border:1px solid var(--sand); }
.info-card-icon { width:40px; height:40px; border-radius:12px; display:flex; align-items:center; justify-content:center; font-size:1.1rem; flex-shrink:0; background:linear-gradient(135deg,rgba(92,107,58,0.12),rgba(122,140,90,0.12)); }
.info-card-label { font-size:0.68rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--terracotta); font-weight:500; }
.info-card-val { font-size:0.88rem; color:var(--brown); font-weight:400; margin-top:0.15rem; }
.book-cta-box { background:linear-gradient(135deg,var(--green),var(--olive)); border-radius:var(--radius-lg); padding:2rem; margin-top:2rem; text-align:center; }
.book-cta-box p { color:rgba(255,255,255,0.85); font-size:0.85rem; margin-bottom:1.2rem; font-weight:300; line-height:1.6; }
.btn-white { background:#fff; color:var(--green); padding:0.85rem 2rem; text-decoration:none; font-size:0.85rem; font-weight:600; border-radius:var(--radius-pill); transition:all 0.3s; display:inline-block; box-shadow:0 4px 16px rgba(0,0,0,0.1); }
.btn-white:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(0,0,0,0.15); }

/* FORM */
.contact-form-card { background:var(--white); border-radius:var(--radius-lg); padding:2.5rem; border:1px solid var(--sand); box-shadow:0 8px 40px rgba(61,31,13,0.06); }
.contact-form-card h3 { font-family:'Playfair Display',serif; font-size:1.5rem; font-weight:400; color:var(--brown); margin-bottom:0.4rem; }
.contact-form-card .sub { font-size:0.82rem; color:var(--brown-mid); font-weight:300; margin-bottom:1.8rem; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.form-group { display:flex; flex-direction:column; gap:0.4rem; margin-bottom:1rem; }
.form-group label { font-size:0.72rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--brown-mid); font-weight:500; }
.form-group input, .form-group select, .form-group textarea { background:var(--cream); border:1.5px solid var(--sand); color:var(--brown); padding:0.8rem 1.1rem; border-radius:var(--radius); font-family:'DM Sans',sans-serif; font-size:0.88rem; font-weight:300; outline:none; transition:border-color 0.3s, box-shadow 0.3s; }
.form-group input::placeholder, .form-group textarea::placeholder { color:rgba(122,71,40,0.4); }
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-color:var(--terracotta); box-shadow:0 0 0 3px rgba(92,107,58,0.1); }
.form-group select option { background:var(--white); }
.form-group textarea { resize:vertical; min-height:110px; }
.form-submit { width:100%; background:linear-gradient(135deg,var(--green),var(--olive)); color:#fff; border:none; padding:1rem; border-radius:var(--radius-pill); font-family:'DM Sans',sans-serif; font-size:0.88rem; font-weight:500; letter-spacing:0.06em; cursor:pointer; transition:all 0.3s; margin-top:0.5rem; box-shadow:0 6px 20px rgba(92,107,58,0.3); }
.form-submit:hover { transform:translateY(-2px); box-shadow:0 12px 28px rgba(92,107,58,0.4); }
.hidden-field { position:absolute; left:-9999px; opacity:0; height:0; overflow:hidden; }
.form-error { display:none; margin-top:1rem; padding:1rem 1.2rem; background:rgba(196,102,58,0.08); border:1px solid rgba(196,102,58,0.3); border-radius:var(--radius); color:var(--brown-mid); font-size:0.85rem; text-align:center; }
.form-error a { color:var(--terracotta); }
.form-submit:disabled { opacity:0.6; cursor:not-allowed; transform:none; }
.form-success svg { width:15px; height:15px; vertical-align:-2px; margin-right:0.3rem; }
.form-success { display:none; margin-top:1rem; padding:1rem 1.2rem; background:rgba(61,82,41,0.1); border:1px solid rgba(61,82,41,0.25); border-radius:var(--radius); color:var(--green); font-size:0.85rem; text-align:center; }

/* ── FOOTER ── */
footer { background:var(--brown); padding:3rem 5rem; }
.footer-inner { display:grid; grid-template-columns:1fr 1fr 1fr; gap:3rem; align-items:start; }
.footer-brand { }
.footer-logo { display:flex; align-items:center; gap:0.7rem; margin-bottom:1rem; }
.footer-logo img { height:40px; border-radius:10px; }
.footer-logo-text { font-family:'Playfair Display',serif; font-size:1.1rem; color:var(--cream); }
.footer-brand p { font-size:0.8rem; line-height:1.75; color:rgba(247,242,234,0.55); font-weight:300; }
.footer-col h4 { font-size:0.7rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--honey); margin-bottom:1.2rem; }
.footer-col a, .footer-col p { display:block; font-size:0.82rem; color:rgba(247,242,234,0.6); text-decoration:none; margin-bottom:0.6rem; font-weight:300; transition:color 0.25s; }
.footer-col a:hover { color:var(--cream); }
.footer-social-row { display:flex; gap:0.8rem; margin-top:1.5rem; }
.footer-social-btn { display:inline-flex; align-items:center; gap:0.5rem; background:rgba(247,242,234,0.08); border:1px solid rgba(247,242,234,0.15); border-radius:var(--radius-pill); padding:0.5rem 1rem; font-size:0.75rem; color:rgba(247,242,234,0.7); text-decoration:none; transition:all 0.25s; }
.footer-social-btn:hover { background:rgba(92,107,58,0.3); border-color:var(--terracotta); color:var(--cream); }
.footer-bottom { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:0.55rem; margin-top:2.5rem; padding-top:1.5rem; border-top:1px solid rgba(247,242,234,0.1); font-size:0.75rem; color:rgba(247,242,234,0.4); letter-spacing:0.06em; }
.footer-sep { opacity:0.45; }

/* ── UTILS ── */
.fade-in { opacity:0; transform:translateY(28px); transition:opacity 0.75s ease, transform 0.75s ease; }
.fade-in.visible { opacity:1; transform:translateY(0); }
.delay-1 { transition-delay:0.1s; }
.delay-2 { transition-delay:0.2s; }
.delay-3 { transition-delay:0.3s; }

/* ── MOBILE ── */
@media(max-width:900px) {
  nav { padding:0 1.5rem; }
  .nav-links { display:none; }
  #home { grid-template-columns:1fr; padding-top:100px; }
  .hero-left { padding:3rem 2rem 2rem; }
  .hero-right { padding:0 1.5rem 2.5rem; align-items:stretch; }
  .hero-frame { min-height:0; }
  .hero-frame::before, .hero-frame::after { display:none; }
  .hero-image { height:300px; }
  .trust-bar { padding:1.2rem 1.5rem; grid-template-columns:repeat(2,1fr); }
  .trust-item { padding:0.7rem 0.8rem; border-right:none; gap:0.6rem; }
  .trust-item:nth-child(odd) { border-right:1px solid var(--sand); }
  .trust-item:nth-child(1), .trust-item:nth-child(2) { border-bottom:1px solid var(--sand); }
  .trust-val { font-size:0.85rem; }
  #about { padding:4rem 2rem; }
  .about-grid { grid-template-columns:1fr; gap:2.5rem; }
  .about-photo-col { flex-direction:row; flex-wrap:wrap; gap:1.5rem; }
  .values-grid { grid-template-columns:1fr; gap:1rem; }
  #services, #values, #contact { padding:4rem 2rem; }
  .contact-grid { display:flex !important; flex-direction:column !important; gap:2rem; width:100% !important; }
  .session-card { grid-template-columns:1fr; }
  .session-card-img { min-height:220px; }
  .workshops-grid { grid-template-columns:1fr; }
  #ndis { padding:4rem 2rem; }
  .ndis-grid { grid-template-columns:1fr; gap:1rem; }
  .ndis-card, .ndis-card:nth-child(4) { grid-column:auto; }
  .ndis-banner img { height:auto; }
  .ndis-banner-overlay { padding:1.4rem 1.6rem; }
  .ndis-banner-overlay span { font-size:1.15rem; }
  .ndis-card-img { height:190px; }
  .ndis-notice { flex-direction:column; gap:0.8rem; margin-bottom:2.5rem; }
  .footer-inner { grid-template-columns:1fr; gap:2rem; }
  footer { padding:3rem 2rem; }
  .form-row { grid-template-columns:1fr; }
  .contact-form-card { padding:1.8rem 1.2rem; }
  .book-cta-box { padding:1.5rem 1.2rem; }
  .profile-photo { width:220px; height:280px; }
  .profile-photo-wrap { width:220px; }
  .credentials-list { width:100%; }
}

/* ══════════ ADDED: SEO UPDATE (Sep 2026) ══════════ */

/* Mobile menu */
.nav-toggle { display:none; width:40px; height:40px; border-radius:var(--radius-pill); border:1px solid var(--sand); background:var(--white); color:var(--brown); align-items:center; justify-content:center; cursor:pointer; margin-left:0.5rem; }
.nav-toggle svg { width:20px; height:20px; }
.mobile-menu { display:none; position:fixed; top:72px; left:0; right:0; z-index:199; background:var(--white); border-bottom:1px solid var(--sand); box-shadow:0 20px 40px rgba(44,26,14,0.12); padding:0.6rem 1.5rem 1.5rem; max-height:calc(100vh - 72px); overflow-y:auto; }
.mobile-menu.open { display:block; }
.mobile-menu a { display:block; padding:0.8rem 0.4rem; border-bottom:1px solid rgba(92,107,58,0.1); color:var(--brown); text-decoration:none; font-size:0.95rem; }
.mobile-menu .mm-label { font-size:0.65rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--terracotta); padding:1.1rem 0.4rem 0.2rem; font-weight:500; }
.mobile-menu a.mm-cta { margin-top:1.2rem; border:none; text-align:center; color:#fff; background:linear-gradient(135deg,var(--green),var(--olive)); border-radius:var(--radius-pill); font-weight:500; }
.dropdown-menu { max-height:calc(100vh - 100px); overflow-y:auto; }

/* Homepage: organisations */
#organisations { padding:7rem 5rem; background:var(--cream); }
.org-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1.5rem; max-width:1000px; margin:0 auto; }
.org-card { display:flex; flex-direction:column; background:var(--white); border:1px solid var(--sand); border-radius:var(--radius-lg); padding:2.4rem 2.2rem; text-decoration:none; transition:all 0.3s; }
.org-card:hover { transform:translateY(-6px); box-shadow:0 24px 56px rgba(61,31,13,0.12); border-color:var(--blush); }
.org-card h3 { font-family:'Playfair Display',serif; font-size:1.5rem; font-weight:500; color:var(--brown); margin-bottom:0.7rem; line-height:1.25; }
.org-card p { font-size:0.88rem; line-height:1.8; color:var(--brown-mid); font-weight:300; flex:1; }
.org-card .org-more { margin-top:1.4rem; font-size:0.78rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--green); font-weight:500; }
.lang-links { font-size:0.85rem; color:var(--brown-mid); font-weight:300; margin-bottom:1.5rem; }
.lang-links a { color:var(--green); font-weight:500; }
.workshops-note a { color:var(--green); font-weight:500; }

/* Inner pages */
.page-hero { position:relative; overflow:hidden; padding:calc(72px + 4.5rem) 5rem 5rem; display:grid; grid-template-columns:1.15fr 1fr; gap:4rem; align-items:center; }
.page-hero > *:not(.hero-bg-blobs) { position:relative; z-index:2; }
.page-hero .hero-bg-blobs { position:absolute; inset:0; z-index:0; }
.breadcrumb { font-size:0.75rem; color:var(--brown-mid); margin-bottom:1.6rem; letter-spacing:0.04em; }
.breadcrumb a { color:var(--terracotta); text-decoration:none; }
.breadcrumb a:hover { text-decoration:underline; }
.page-hero h1 { font-family:'Playfair Display',serif; font-size:clamp(2.4rem,4.2vw,3.9rem); font-weight:400; line-height:1.1; color:var(--brown); margin-bottom:1.5rem; }
.page-hero h1 em { font-style:italic; background:linear-gradient(135deg,var(--green),var(--olive)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.page-hero .hero-p { max-width:560px; }
.page-hero-img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:var(--radius-lg); box-shadow:0 30px 70px rgba(44,26,14,0.2); display:block; }
.aligned-card { background:var(--white); border:1px solid var(--sand); border-radius:var(--radius-lg); padding:2.2rem; box-shadow:0 20px 60px rgba(61,31,13,0.08); }
.aligned-card .card-label { font-size:0.68rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--terracotta); font-weight:500; margin-bottom:1.2rem; }
.aligned-card ul { list-style:none; }
.aligned-card li { display:flex; gap:0.8rem; align-items:flex-start; padding:0.85rem 0; border-bottom:1px solid var(--sand); font-size:0.9rem; line-height:1.55; color:var(--brown); }
.aligned-card li:last-child { border-bottom:none; }
.aligned-card li svg { width:20px; height:20px; color:var(--olive); flex-shrink:0; margin-top:0.1rem; }
.page-section { padding:6.5rem 5rem; background:var(--white); }
.page-section.cream { background:var(--cream); }
.narrow { max-width:820px; margin:0 auto; }
.section-head { text-align:center; max-width:640px; margin:0 auto 3.5rem; }
.section-head .section-eyebrow { justify-content:center; }
.section-lead { font-size:0.95rem; line-height:1.9; color:var(--brown-mid); font-weight:300; }
.prose p { font-size:0.95rem; line-height:1.9; color:var(--brown-mid); font-weight:300; margin-bottom:1.1rem; }
.prose strong { color:var(--brown); font-weight:500; }
.prose a { color:var(--green); font-weight:500; }
.check-list { list-style:none; display:grid; grid-template-columns:repeat(2,1fr); gap:0.7rem 2rem; margin:1.4rem 0 1.6rem; }
.check-list li { position:relative; padding-left:1.4rem; font-size:0.9rem; line-height:1.6; color:var(--brown-mid); font-weight:300; }
.check-list li::before { content:''; position:absolute; left:0; top:0.55rem; width:6px; height:6px; transform:rotate(45deg); background:var(--olive); }
.check-list.single { grid-template-columns:1fr; }
.offer-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.offer-grid.two { grid-template-columns:repeat(2,1fr); max-width:1000px; margin:0 auto; }
.offer-card { background:var(--white); border:1px solid var(--sand); border-radius:var(--radius-lg); padding:2.2rem 1.9rem; display:flex; flex-direction:column; transition:all 0.3s; }
.page-section:not(.cream) .offer-card { background:var(--cream); }
.offer-card:hover { transform:translateY(-6px); box-shadow:0 20px 50px rgba(61,31,13,0.1); border-color:var(--blush); }
.offer-card h3 { font-family:'Playfair Display',serif; font-size:1.3rem; font-weight:500; color:var(--brown); margin:0.2rem 0 0.7rem; line-height:1.3; }
.offer-card p { font-size:0.86rem; line-height:1.8; color:var(--brown-mid); font-weight:300; flex:1; }
.offer-card img { width:calc(100% + 3.8rem); margin:-2.2rem -1.9rem 1.4rem; height:170px; object-fit:cover; display:block; filter:brightness(0.9) saturate(0.9); }
.offer-card { overflow:hidden; }
.offer-meta { margin-top:1.2rem; padding-top:1rem; border-top:1px solid var(--sand); font-size:0.72rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--green); font-weight:500; }
.facts-bar { display:grid; grid-template-columns:repeat(4,1fr); background:var(--white); border-top:1px solid var(--sand); border-bottom:1px solid var(--sand); padding:1.7rem 3rem; }
.facts-bar .trust-item:last-child { border-right:none; }
.faq { max-width:820px; margin:0 auto; }
.faq details { background:var(--white); border:1px solid var(--sand); border-radius:var(--radius); padding:1.15rem 1.5rem; margin-bottom:0.8rem; transition:border-color 0.25s; }
.page-section:not(.cream) .faq details { background:var(--cream); }
.faq details[open] { border-color:var(--olive); }
.faq summary { font-family:'Playfair Display',serif; font-size:1.08rem; color:var(--brown); cursor:pointer; list-style:none; display:flex; justify-content:space-between; gap:1rem; align-items:center; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary::after { content:'+'; font-family:'DM Sans',sans-serif; font-size:1.3rem; color:var(--terracotta); flex-shrink:0; transition:transform 0.25s; }
.faq details[open] summary::after { transform:rotate(45deg); }
.faq details p { margin-top:0.8rem; font-size:0.9rem; line-height:1.85; color:var(--brown-mid); font-weight:300; }
.cta-band { max-width:1000px; margin:0 auto; background:linear-gradient(135deg,var(--green),var(--olive)); border-radius:var(--radius-lg); padding:3.5rem 3rem; text-align:center; box-shadow:0 20px 60px rgba(61,82,41,0.25); }
.cta-band h2 { font-family:'Playfair Display',serif; font-size:clamp(1.8rem,3vw,2.5rem); font-weight:400; color:#fff; margin-bottom:0.9rem; line-height:1.2; }
.cta-band p { color:rgba(255,255,255,0.85); font-size:0.95rem; line-height:1.8; font-weight:300; max-width:560px; margin:0 auto 1.8rem; }
.cta-band .btn-row { display:flex; gap:0.8rem; justify-content:center; flex-wrap:wrap; }
.btn-ghost-white { border:1.5px solid rgba(255,255,255,0.7); color:#fff; padding:0.85rem 2rem; text-decoration:none; font-size:0.85rem; font-weight:500; border-radius:var(--radius-pill); transition:all 0.3s; display:inline-block; }
.btn-ghost-white:hover { background:#fff; color:var(--green); }
.page-contact { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:start; max-width:1100px; margin:0 auto; }
.page-contact .contact-info-cards { margin-top:1.8rem; }
.disclaimer { max-width:820px; margin:2.5rem auto 0; font-size:0.78rem; line-height:1.7; color:var(--brown-mid); font-style:italic; opacity:0.8; text-align:center; }
.about-mini { display:grid; grid-template-columns:220px 1fr; gap:3rem; align-items:center; max-width:960px; margin:0 auto; }
.about-mini img { width:220px; height:280px; object-fit:cover; object-position:center top; border-radius:var(--radius-lg); box-shadow:0 20px 50px rgba(61,31,13,0.18); }

@media(max-width:900px) {
  .nav-toggle { display:flex; }
  .nav-social { display:none; }
  #organisations { padding:4rem 2rem; }
  .org-grid { grid-template-columns:1fr; }
  .page-hero { grid-template-columns:1fr; padding:calc(72px + 2.5rem) 1.5rem 3rem; gap:2.5rem; }
  .page-section { padding:4rem 1.5rem; }
  .offer-grid, .offer-grid.two { grid-template-columns:1fr; }
  .check-list { grid-template-columns:1fr; }
  .facts-bar { grid-template-columns:repeat(2,1fr); padding:1.2rem 1.5rem; }
  .facts-bar .trust-item { border-right:none; padding:0.7rem 0.6rem; }
  .facts-bar .trust-item:nth-child(odd) { border-right:1px solid var(--sand); }
  .facts-bar .trust-item:nth-child(1), .facts-bar .trust-item:nth-child(2) { border-bottom:1px solid var(--sand); }
  .cta-band { padding:2.5rem 1.5rem; }
  .page-contact { grid-template-columns:1fr; gap:2.5rem; }
  .about-mini { grid-template-columns:1fr; gap:1.8rem; justify-items:center; text-align:left; }
}

/* Keep forms and grids inside the screen on mobile */
.contact-grid > *, .page-contact > *, .form-row > * { min-width:0; }
.form-group input, .form-group select, .form-group textarea { width:100%; min-width:0; max-width:100%; }
.info-card > div:last-child { min-width:0; }
.info-card-val { overflow-wrap:anywhere; }

.footer-social-row { flex-wrap:wrap; }
