:root {
  --cream: #FAF7F2; --warm-white: #FFFCF8; --charcoal: #1C1A18;
  --soft-charcoal: #3D3A36; --warm-tan: #C8A882; --terracotta: #F0986A;
  --sage: #7A9E87; --muted: #6B635A; --light-border: #E8E0D4;
  --sky-blue: #147BA8; --sky-blue-deep: #1B6488; --sky-blue-soft: #E8F4FB;
  --deep-blue: #0E3A52; --mid-blue: #103D55;
}
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { background:var(--cream); color:var(--charcoal); font-family:'DM Sans',sans-serif; overflow-x:hidden; }
body::before {
  content:''; position:fixed; inset:0; pointer-events:none; z-index:9999; opacity:0.4;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' 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");
}

/* NAV */
nav { position:fixed; top:0; left:0; right:0; z-index:100; padding:12px 48px; display:flex; align-items:center; justify-content:space-between; background:rgba(250,247,242,0.9); backdrop-filter:blur(12px); border-bottom:1px solid var(--light-border); }
.nav-links { display:flex; gap:28px; align-items:center; }
.nav-links a { font-size:13px; color:var(--muted); text-decoration:none; letter-spacing:0.04em; transition:color 0.2s; }
.nav-links a:hover { color:var(--charcoal); }
.nav-cta { background:var(--sky-blue)!important; color:white!important; padding:9px 20px!important; border-radius:100px!important; font-size:12px!important; font-weight:500!important; letter-spacing:0.06em!important; text-transform:uppercase!important; transition:background 0.2s!important; }
.nav-cta:hover { background:var(--sky-blue-deep)!important; }

/* HERO */
.hero { min-height:100vh; display:flex; align-items:center; padding:120px 48px 80px; position:relative; overflow:hidden; }
.hero-bg-1 { position:absolute; width:700px; height:700px; top:-200px; right:-200px; border-radius:50%; background:radial-gradient(circle,rgba(58,172,220,0.18) 0%,transparent 70%); pointer-events:none; }
.hero-bg-2 { position:absolute; width:400px; height:400px; bottom:0; left:-100px; border-radius:50%; background:radial-gradient(circle,rgba(200,168,130,0.15) 0%,transparent 70%); pointer-events:none; }
.hero-content { max-width:1100px; margin:0 auto; width:100%; display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.hero-eyebrow { display:inline-flex; align-items:center; gap:8px; font-size:11px; letter-spacing:0.2em; text-transform:uppercase; color:var(--sky-blue-deep); margin-bottom:20px; }
.hero-eyebrow span { width:28px; height:1px; background:var(--sky-blue-deep); display:block; }
h1 { font-family:'Playfair Display',serif; font-size:clamp(24px,calc(4.2vw - 7px),44px); font-weight:400; line-height:1.18; margin-bottom:24px; letter-spacing:-0.02em; }
h1 .hl { display:block; white-space:nowrap; }
h1 em { font-style:italic; color:var(--sky-blue-deep); }
.hero-sub { font-size:17px; line-height:1.7; color:var(--soft-charcoal); margin-bottom:36px; font-weight:300; max-width:440px; }
.hero-link { color:var(--sky-blue-deep); font-weight:500; text-decoration:underline; text-underline-offset:2px; white-space:nowrap; transition:color 0.2s; }
.hero-link:hover { color:var(--mid-blue); }
.cta-group { display:flex; flex-wrap:wrap; gap:12px; }
.btn-primary { display:inline-flex; align-items:center; gap:10px; padding:15px 28px; border-radius:100px; background:var(--sky-blue); color:white; text-decoration:none; font-size:14px; font-weight:500; transition:all 0.25s; border:2px solid var(--sky-blue); }
.btn-primary:hover { background:var(--sky-blue-deep); border-color:var(--sky-blue-deep); transform:translateY(-2px); box-shadow:0 8px 24px rgba(58,172,220,0.3); }
.btn-secondary { display:inline-flex; align-items:center; gap:10px; padding:15px 28px; border-radius:100px; background:transparent; color:var(--charcoal); text-decoration:none; font-size:14px; font-weight:500; transition:all 0.25s; border:2px solid var(--light-border); }
.btn-secondary:hover { border-color:var(--sky-blue); color:var(--sky-blue-deep); transform:translateY(-2px); }
.smart-badge { display:inline-flex; align-items:center; gap:6px; background:rgba(58,172,220,0.12); border:1px solid rgba(58,172,220,0.3); color:var(--sky-blue-deep); border-radius:100px; font-size:11px; padding:5px 12px; margin-bottom:14px; letter-spacing:0.06em; }
.smart-badge::before { content:'●'; font-size:8px; }

/* HERO CARDS */
.hero-visual { position:relative; display:flex; justify-content:center; }
.hero-card-stack { position:relative; width:320px; height:400px; }
.h-card { position:absolute; border-radius:20px; padding:28px; box-shadow:0 20px 60px rgba(0,0,0,0.08); }
.h-card-main { width:280px; height:340px; background:linear-gradient(160deg,var(--mid-blue) 0%,var(--deep-blue) 100%); top:30px; left:20px; display:flex; flex-direction:column; justify-content:space-between; }
.h-card-float { width:200px; background:white; top:0; right:-20px; border:1px solid var(--light-border); }
.h-card-float2 { width:180px; background:white; bottom:0; left:-10px; border:1px solid var(--light-border); }
.card-tag { font-size:10px; letter-spacing:0.15em; text-transform:uppercase; color:var(--terracotta); margin-bottom:12px; }
.card-name { font-family:'Playfair Display',serif; font-size:22px; color:var(--cream); font-weight:400; line-height:1.3; margin-bottom:8px; }
.card-desc { font-size:12px; color:rgba(255,255,255,0.78); line-height:1.5; }
.card-avatar { width:48px; height:48px; border-radius:50%; background:linear-gradient(135deg,var(--sky-blue),var(--mid-blue)); display:flex; align-items:center; justify-content:center; font-size:20px; margin-bottom:10px; }
.card-float-label { font-size:10px; color:var(--muted); text-transform:uppercase; letter-spacing:0.1em; margin-bottom:4px; }
.card-float-val { font-size:14px; color:var(--charcoal); font-weight:500; }
.card-rating { display:flex; gap:2px; margin-top:8px; }
.star { color:var(--warm-tan); font-size:12px; }
.pill { background:rgba(255,255,255,0.08); color:rgba(255,255,255,0.6); font-size:10px; padding:4px 10px; border-radius:100px; }

/* HERO OFFER PANEL */
.hero-offer { width:100%; max-width:360px; margin:0 auto; background:var(--warm-white); border:1px solid var(--light-border); border-radius:24px; padding:26px 24px; box-shadow:0 24px 60px rgba(0,0,0,0.07); }
.offer-label { display:inline-flex; align-items:center; gap:8px; font-size:11px; letter-spacing:0.2em; text-transform:uppercase; color:var(--sky-blue-deep); font-weight:600; margin-bottom:18px; }
.offer-label span { width:24px; height:1px; background:var(--sky-blue-deep); display:block; }
.offer-list { display:flex; flex-direction:column; gap:8px; }
.offer-item { display:flex; align-items:center; gap:14px; padding:12px 14px; border-radius:14px; background:var(--cream); border:1px solid var(--light-border); transition:transform 0.2s, border-color 0.2s; }
.offer-item:hover { border-color:var(--sky-blue); transform:translateX(3px); }
.offer-emoji { width:38px; height:38px; flex-shrink:0; display:flex; align-items:center; justify-content:center; font-size:20px; background:var(--warm-white); border-radius:50%; border:1px solid var(--light-border); }
.offer-title { font-size:14px; font-weight:500; color:var(--charcoal); line-height:1.3; }

/* SECTIONS */
section { padding:96px 48px; }
.section-inner { max-width:1100px; margin:0 auto; }
.section-label { font-size:11px; letter-spacing:0.2em; text-transform:uppercase; color:var(--muted); margin-bottom:16px; }
h2 { font-family:'Playfair Display',serif; font-size:clamp(28px,3vw,42px); font-weight:400; line-height:1.2; letter-spacing:-0.02em; color:var(--charcoal); margin-bottom:16px; }
h2 em { font-style:italic; color:var(--sky-blue-deep); }

/* HOW IT WORKS */
.how-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; margin-top:56px; background:var(--light-border); border:1px solid var(--light-border); border-radius:20px; overflow:hidden; }
.how-item { background:var(--warm-white); padding:40px 32px; position:relative; }
.how-num { font-family:'Playfair Display',serif; font-size:56px; color:#9C7E58; font-weight:400; position:absolute; top:20px; right:24px; line-height:1; }
.how-icon { font-size:32px; margin-bottom:20px; display:block; }
.how-title { font-size:16px; font-weight:500; color:var(--charcoal); margin-bottom:10px; }
.how-desc { font-size:14px; color:var(--muted); line-height:1.65; }

/* SERVICES */
.services-section { background:linear-gradient(160deg,var(--mid-blue) 0%,var(--deep-blue) 100%); }
.services-section h2 { color:white; }
.services-section .section-label { color:var(--terracotta); }
.services-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin-top:56px; }
.service-card { border:1px solid rgba(255,255,255,0.12); border-radius:16px; padding:32px; display:flex; gap:20px; align-items:flex-start; transition:all 0.2s; }
.service-card:hover { border-color:rgba(58,172,220,0.5); background:rgba(58,172,220,0.08); }
.service-emoji { font-size:28px; flex-shrink:0; margin-top:2px; }
.service-title { font-size:16px; font-weight:500; color:white; margin-bottom:6px; }
.service-desc { font-size:13px; color:rgba(255,255,255,0.6); line-height:1.6; }

/* VALUES */
.values-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:56px; }
.value-card { border:1px solid var(--light-border); border-radius:16px; padding:32px; background:var(--warm-white); transition:all 0.2s; }
.value-card:hover { transform:translateY(-4px); box-shadow:0 16px 40px rgba(0,0,0,0.06); }
.value-icon { font-size:28px; margin-bottom:16px; display:block; }
.value-title { font-size:15px; font-weight:500; color:var(--charcoal); margin-bottom:8px; }
.value-desc { font-size:13px; color:var(--muted); line-height:1.65; }

/* DOWNLOAD */
.download-section { background:linear-gradient(135deg,var(--mid-blue) 0%,var(--deep-blue) 100%); position:relative; overflow:hidden; }
.download-section::before { content:''; position:absolute; bottom:-200px; left:50%; transform:translateX(-50%); width:800px; height:800px; border-radius:50%; background:radial-gradient(circle,rgba(58,172,220,0.18) 0%,transparent 60%); pointer-events:none; }
.download-inner { max-width:800px; margin:0 auto; text-align:center; position:relative; }
.download-inner h2 { color:white; }
.download-inner > p { color:rgba(255,255,255,0.6); font-size:16px; line-height:1.7; font-weight:300; margin-bottom:40px; }
.platform-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-bottom:32px; }
.platform-card { border:1px solid rgba(255,255,255,0.15); border-radius:16px; padding:24px 20px; text-decoration:none; transition:all 0.25s; display:flex; flex-direction:column; align-items:center; gap:12px; position:relative; }
.platform-card:hover { border-color:rgba(58,172,220,0.5); transform:translateY(-3px); }
.platform-icon { font-size:32px; }
.platform-name { font-size:13px; font-weight:500; color:white; }
.platform-sub { font-size:11px; color:rgba(255,255,255,0.78); letter-spacing:0.06em; }
.platform-recommended { position:absolute; top:10px; right:10px; background:var(--sky-blue); color:white; font-size:9px; letter-spacing:0.1em; text-transform:uppercase; padding:3px 8px; border-radius:100px; display:none; }

/* ABOUT */
.about-section { background:var(--warm-white); }
.about-grid { display:grid; grid-template-columns:1fr 1.6fr; gap:72px; align-items:center; margin-top:56px; }
.about-photo-bg { width:100%; aspect-ratio:4/3; border-radius:24px; overflow:hidden; }
.about-photo-bg img { width:100%; height:100%; object-fit:cover; object-position:center; display:block; }
.about-photo-tag { margin-top:16px; background:linear-gradient(135deg,var(--mid-blue),var(--deep-blue)); color:white; border-radius:14px; padding:14px 20px; font-size:12px; line-height:1.5; }
.about-photo-tag strong { display:block; font-size:15px; margin-bottom:2px; }
.about-text p { font-size:15px; line-height:1.8; color:var(--soft-charcoal); margin-bottom:16px; font-weight:300; }
.about-quote { border-left:3px solid var(--sky-blue); padding-left:20px; margin:28px 0; font-family:'Playfair Display',serif; font-size:18px; font-style:italic; color:var(--charcoal); line-height:1.6; }
.team-cards { display:grid; grid-template-columns:1fr; gap:16px; margin-top:48px; max-width:300px; }
.team-card { background:var(--warm-white); border:1px solid var(--light-border); border-radius:16px; padding:24px; display:flex; gap:16px; align-items:center; }
.team-avatar { width:52px; height:52px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:22px; flex-shrink:0; }
.team-name { font-weight:600; font-size:15px; color:var(--charcoal); }
.team-role { font-size:12px; color:var(--sky-blue-deep); letter-spacing:0.05em; text-transform:uppercase; margin-top:2px; }
.team-school { font-size:12px; color:var(--muted); margin-top:4px; }

/* FAQ */
.faq-tabs { display:inline-flex; gap:4px; margin-top:40px; margin-bottom:36px; background:var(--light-border); border-radius:100px; padding:4px; }
.faq-tab { padding:10px 28px; border-radius:100px; cursor:pointer; font-size:13px; font-weight:500; letter-spacing:0.04em; border:none; background:transparent; color:var(--muted); transition:all 0.2s; font-family:'DM Sans',sans-serif; }
.faq-tab.active { background:var(--sky-blue); color:white; }
.faq-panel { display:none; }
.faq-panel.active { display:block; }
.faq-list { display:flex; flex-direction:column; gap:2px; }
.faq-item { border-radius:12px; overflow:hidden; border:1px solid var(--light-border); background:var(--warm-white); }
.faq-question { width:100%; display:flex; justify-content:space-between; align-items:center; padding:20px 24px; cursor:pointer; border:none; background:transparent; text-align:left; gap:16px; font-family:'DM Sans',sans-serif; }
.faq-question-text { font-size:15px; font-weight:500; color:var(--charcoal); line-height:1.4; }
.faq-chevron { flex-shrink:0; width:20px; height:20px; border-radius:50%; background:var(--light-border); display:flex; align-items:center; justify-content:center; font-size:11px; color:var(--muted); transition:all 0.25s; }
.faq-item.open .faq-chevron { transform:rotate(180deg); background:var(--sky-blue); color:white; }
.faq-answer { max-height:0; overflow:hidden; transition:max-height 0.35s ease; padding:0 24px; }
.faq-answer-inner { font-size:14px; line-height:1.75; color:var(--muted); padding-bottom:20px; border-top:1px solid var(--light-border); padding-top:16px; }
.faq-item.open .faq-answer { max-height:500px; }

/* CONTACT */
.contact-section { background:linear-gradient(160deg,var(--mid-blue) 0%,var(--deep-blue) 100%); position:relative; overflow:hidden; }
.contact-section::before { content:''; position:absolute; top:-150px; right:-150px; width:500px; height:500px; border-radius:50%; background:radial-gradient(circle,rgba(58,172,220,0.18) 0%,transparent 65%); pointer-events:none; }
.contact-inner { max-width:760px; margin:0 auto; text-align:center; position:relative; }
.contact-inner h2 { color:white; }
.contact-inner .section-label { color:var(--terracotta); }
.contact-inner > p { font-size:16px; color:rgba(255,255,255,0.6); line-height:1.7; font-weight:300; margin-bottom:40px; margin-top:12px; }
.contact-cards { display:grid; grid-template-columns:1fr; gap:16px; margin-bottom:32px; max-width:400px; margin-left:auto; margin-right:auto; }
.contact-card { background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.12); border-radius:16px; padding:28px 24px; text-decoration:none; transition:all 0.25s; display:flex; flex-direction:column; align-items:center; gap:10px; }
.contact-card:hover { border-color:rgba(58,172,220,0.5); background:rgba(58,172,220,0.08); transform:translateY(-3px); }
.contact-card-icon { font-size:28px; }
.contact-card-label { font-size:11px; text-transform:uppercase; letter-spacing:0.15em; color:rgba(255,255,255,0.78); }
.contact-card-value { font-size:18px; color:white; font-weight:500; }
.contact-card-sub { font-size:12px; color:rgba(255,255,255,0.78); }
/* FOOTER */
footer { padding:36px 48px; border-top:1px solid var(--light-border); display:flex; align-items:center; justify-content:space-between; background:var(--cream); }
.footer-links { display:flex; gap:24px; }
.footer-links a { font-size:12px; color:var(--muted); text-decoration:none; letter-spacing:0.06em; transition:color 0.2s; }
.footer-links a:hover { color:var(--sky-blue-deep); }
.footer-copy { font-size:12px; color:var(--muted); }

/* ANIMATIONS */
@keyframes fadeUp { from{opacity:0;transform:translateY(30px)} to{opacity:1;transform:translateY(0)} }
.fade-up { opacity:0; animation:fadeUp 0.7s ease forwards; }
.d1{animation-delay:0.1s} .d2{animation-delay:0.25s} .d3{animation-delay:0.4s} .d4{animation-delay:0.55s}

/* RESPONSIVE */
@media(max-width:900px){
  nav{padding:14px 24px;}
  .nav-links{display:none;}
  .hero{padding:100px 24px 60px;}
  .hero-content{grid-template-columns:1fr; gap:48px;}
  .hero-visual{display:none;}
  section{padding:64px 24px;}
  .how-grid{grid-template-columns:1fr;}
  .services-grid{grid-template-columns:1fr;}
  .values-grid{grid-template-columns:1fr 1fr;}
  .platform-cards{grid-template-columns:1fr; max-width:280px; margin:0 auto 32px;}
  .about-grid{grid-template-columns:1fr; gap:40px;}
  .team-cards{grid-template-columns:1fr;}
  .contact-cards{grid-template-columns:1fr;}
  footer{flex-direction:column; gap:16px; text-align:center;}
}
@media(max-width:1100px){ #booking-process .how-grid{grid-template-columns:repeat(3,1fr)!important;} }
@media(max-width:600px){ .values-grid{grid-template-columns:1fr;} #booking-process .how-grid{grid-template-columns:1fr!important;} }
/* CARETAKERS */
.caretakers-section { background:var(--warm-white); }
.caretakers-intro { color:var(--muted); font-size:16px; line-height:1.7; max-width:620px; }
.caretakers-subhead { font-family:'Playfair Display',serif; font-weight:400; font-size:22px; color:var(--charcoal); margin:56px 0 -32px; }
.caretaker-steps { grid-template-columns:repeat(5,1fr); }
.caretaker-link { color:var(--sky-blue-deep); font-weight:500; text-decoration:underline; text-underline-offset:2px; }
.caretaker-link:hover { color:var(--mid-blue); }
.caretakers-section .values-grid { margin-top:56px; }
.caretaker-cta { display:flex; flex-wrap:wrap; gap:12px; margin-top:48px; }
.caretaker-cta-note { font-size:13px; color:var(--muted); margin-top:16px; line-height:1.6; }
@media(max-width:1100px){ #caretakers .how-grid{grid-template-columns:repeat(3,1fr)!important;} }
@media(max-width:600px){ #caretakers .how-grid{grid-template-columns:1fr!important;} }

/* CONTACT CARDS - two up */
.contact-cards.two-up { grid-template-columns:1fr 1fr; max-width:680px; }
@media(max-width:900px){ .contact-cards.two-up{ grid-template-columns:1fr; max-width:400px; } }

/* Orange emphasis on blue sections (replaces blue-on-blue text) */
.services-section h2 em, .download-inner h2 em, .ai-inner h2 em, .contact-inner h2 em { color:var(--terracotta); }
/* APP TOUR (How it works screenshots) */
.app-tour { margin-top:72px; }
.app-tour-title { font-family:'Playfair Display',serif; font-size:28px; font-weight:400; color:var(--charcoal); margin-bottom:10px; }
.app-tour-sub { font-size:16px; color:var(--muted); line-height:1.7; max-width:560px; }
.app-tour-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:32px; margin-top:40px; list-style:none; }
.app-shot { margin:0; display:flex; flex-direction:column; align-items:center; }
.app-shot-frame { display:block; width:100%; max-width:240px; padding:0; border:1px solid var(--light-border); border-radius:28px; overflow:hidden; background:#fff; box-shadow:0 18px 40px rgba(14,58,82,0.12); cursor:zoom-in; transition:transform 0.25s ease, box-shadow 0.25s ease; }
.app-shot-frame:hover { transform:translateY(-4px); box-shadow:0 24px 50px rgba(14,58,82,0.18); }
.app-shot-frame:focus-visible { outline:3px solid var(--sky-blue); outline-offset:4px; }
.app-shot-frame img { display:block; width:100%; height:auto; }
.app-shot figcaption { margin-top:20px; max-width:240px; font-size:15px; color:var(--muted); line-height:1.6; }
.app-shot figcaption strong { display:flex; align-items:center; gap:10px; font-size:17px; font-weight:500; color:var(--charcoal); margin-bottom:6px; }
.app-shot-num { flex:none; display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; border-radius:50%; background:var(--terracotta); color:#fff; font-size:14px; font-weight:600; }
.app-lightbox { border:none; padding:0; background:transparent; max-width:min(92vw,460px); max-height:92vh; margin:auto; overflow:visible; }
.app-lightbox::backdrop { background:rgba(14,30,40,0.82); }
.app-lightbox img { display:block; width:100%; height:auto; max-height:86vh; object-fit:contain; border-radius:28px; background:#fff; }
.app-lightbox-close { position:absolute; top:-18px; right:-18px; width:48px; height:48px; border-radius:50%; border:none; background:#fff; color:var(--charcoal); font-size:26px; line-height:1; cursor:pointer; box-shadow:0 6px 18px rgba(0,0,0,0.25); }
.app-lightbox-cap { margin-top:14px; text-align:center; color:#fff; font-size:17px; }
@media(max-width:1000px){ .app-tour-grid{ grid-template-columns:repeat(2,1fr); gap:48px 32px; } }
@media(max-width:600px){ .app-tour-grid{ grid-template-columns:1fr; gap:56px; } .app-shot-frame,.app-shot figcaption{ max-width:280px; } .app-tour-title{ font-size:24px; } .app-lightbox-close{ top:8px; right:8px; } }
/* HERO (care-focused) */
.btn-lg { padding:17px 30px; font-size:16px; }
.hero-note { margin-top:18px; font-size:14px; color:var(--muted); line-height:1.6; }
.hero-note a { color:var(--sky-blue-deep); font-weight:500; white-space:nowrap; }
.hero-trust { list-style:none; display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; }
.hero-trust li { display:inline-flex; align-items:center; gap:8px; padding:8px 14px; border-radius:100px; background:var(--warm-white); border:1px solid var(--light-border); font-size:14px; color:var(--soft-charcoal); }
.hero-trust li span { color:var(--sage); font-weight:700; }
.offer-group { font-size:13px; font-weight:600; color:var(--soft-charcoal); margin:4px 0 10px; }
.offer-list + .offer-group { margin-top:20px; }
.offer-foot { margin-top:16px; font-size:12px; color:var(--muted); }
.nav-call { display:none; text-decoration:none; background:var(--sky-blue); color:#fff; padding:9px 16px; border-radius:100px; font-size:14px; font-weight:500; }
@media(max-width:900px){ .nav-call{ display:inline-flex; } }
/* SAFETY */
.safety-section { background:var(--cream); }
.section-intro { color:var(--muted); font-size:16px; line-height:1.7; max-width:620px; }
.safety-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:48px; }
.safety-card { background:var(--warm-white); border:1px solid var(--light-border); border-radius:18px; padding:28px; }
.safety-icon { font-size:28px; display:block; margin-bottom:14px; }
.safety-title { font-size:17px; font-weight:500; color:var(--charcoal); margin-bottom:8px; }
.safety-card p { font-size:15px; color:var(--muted); line-height:1.65; }
.safety-note { margin-top:32px; padding:22px 26px; border-radius:16px; background:var(--sky-blue-soft); border:1px solid rgba(20,123,168,0.2); font-size:15px; line-height:1.7; color:var(--soft-charcoal); }
.safety-note p + p { margin-top:6px; }
.safety-note a { color:var(--sky-blue-deep); font-weight:600; white-space:nowrap; }
/* PRICING */
.pricing-section { background:var(--warm-white); }
.pricing-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:64px; align-items:center; margin-top:8px; }
.pricing-points { list-style:none; margin-top:28px; display:flex; flex-direction:column; gap:16px; }
.pricing-points li { display:flex; gap:14px; font-size:16px; line-height:1.6; color:var(--soft-charcoal); }
.pricing-points li > span { flex:none; width:26px; height:26px; border-radius:50%; background:rgba(122,158,135,0.15); color:var(--sage); font-weight:700; display:inline-flex; align-items:center; justify-content:center; font-size:14px; margin-top:1px; }
.pricing-points strong { color:var(--charcoal); font-weight:500; }
.price-card { background:#fff; border:1px solid var(--light-border); border-radius:24px; padding:32px; box-shadow:0 24px 60px rgba(14,58,82,0.08); }
.price-card-label { font-size:11px; letter-spacing:0.2em; text-transform:uppercase; color:var(--sky-blue-deep); font-weight:600; }
.price-card-title { font-family:'Playfair Display',serif; font-size:22px; color:var(--charcoal); margin:8px 0 22px; }
.price-rows div { display:flex; justify-content:space-between; gap:16px; padding:10px 0; font-size:16px; color:var(--muted); border-bottom:1px solid var(--light-border); }
.price-rows dd { color:var(--charcoal); font-weight:500; }
.price-rows .price-total { border-bottom:none; padding-top:16px; font-size:19px; color:var(--charcoal); font-weight:600; }
.price-rows .price-total dd { color:var(--terracotta); font-size:26px; font-weight:600; }
.price-card-foot { margin-top:14px; font-size:12px; color:var(--muted); line-height:1.5; }
@media(max-width:900px){ .safety-grid{ grid-template-columns:1fr 1fr; } .pricing-grid{ grid-template-columns:1fr; gap:40px; } }
@media(max-width:600px){ .safety-grid{ grid-template-columns:1fr; } .price-card{ padding:24px; } .btn-lg{ width:100%; justify-content:center; } }
/* QUICK LINKS & MOBILE MENU */
section[id] { scroll-margin-top:80px; }
.nav-links .nav-companion { color:var(--sky-blue-deep); font-weight:600; border:1.5px solid var(--sky-blue); border-radius:100px; padding:7px 14px; }
.nav-links .nav-companion:hover { background:var(--sky-blue-soft); color:var(--sky-blue-deep); }
.nav-mobile { display:none; align-items:center; gap:8px; }
.nav-menu-btn { font:inherit; font-size:15px; font-weight:500; color:var(--charcoal); background:var(--warm-white); border:1.5px solid var(--light-border); border-radius:100px; padding:8px 16px; cursor:pointer; }
.mobile-menu { position:absolute; top:100%; left:0; right:0; background:var(--warm-white); border-bottom:1px solid var(--light-border); box-shadow:0 18px 40px rgba(0,0,0,0.08); padding:8px 24px 20px; display:flex; flex-direction:column; }
.mobile-menu[hidden] { display:none; }
.mobile-menu a { font-size:18px; color:var(--charcoal); text-decoration:none; padding:14px 4px; border-bottom:1px solid var(--light-border); }
.mobile-menu .mobile-menu-companion { color:var(--sky-blue-deep); font-weight:600; }
.mobile-menu .mobile-menu-app { border-bottom:none; margin-top:12px; text-align:center; background:var(--sky-blue); color:#fff; border-radius:100px; }
.quick-links { display:none; flex-wrap:wrap; gap:8px; margin-bottom:28px; }
.quick-links a { font-size:14px; color:var(--soft-charcoal); text-decoration:none; padding:8px 14px; border-radius:100px; background:var(--warm-white); border:1px solid var(--light-border); }
.quick-links .quick-companion { color:#fff; background:var(--sky-blue); border-color:var(--sky-blue); font-weight:500; }
@media(max-width:1180px){ .nav-links{ gap:18px; } }
@media(max-width:900px){ .nav-mobile{ display:flex; } .quick-links{ display:flex; } }
/* TESTIMONIALS */
.testimonials-section { background:var(--warm-white); padding-top:72px; padding-bottom:72px; border-top:1px solid var(--light-border); }
.testimonials-section .section-label { text-align:center; }
.testimonial { margin:0; display:flex; flex-direction:column; align-items:flex-start; position:relative; background:var(--cream); border:1px solid var(--light-border); border-radius:24px; padding:76px 40px 32px; text-align:center; }
.testimonial::before { content:'\201C'; position:absolute; top:14px; left:36px; font-family:'Playfair Display',serif; font-size:96px; line-height:1; color:var(--terracotta); }
.testimonial blockquote { font-family:'DM Sans',sans-serif; font-size:19px; line-height:1.7; color:var(--charcoal); width:100%; text-align:left; }
.testimonial figcaption { display:inline-flex; align-items:center; gap:12px; margin-top:24px; text-align:left; font-size:14px; color:var(--muted); }
.testimonial figcaption strong { display:block; font-size:15px; font-weight:500; color:var(--charcoal); }
.testimonial-avatar { width:44px; height:44px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; font-size:18px; font-weight:600; color:var(--sky-blue-deep); background:var(--warm-white); border:1px solid var(--light-border); }
@media(max-width:600px){ .testimonial{ padding:68px 24px 28px; } }
.contact-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-top:10px; width:100%; }
.contact-btn { flex:1 1 140px; display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:48px; padding:12px 18px; border-radius:100px; font:inherit; font-size:16px; font-weight:500; text-decoration:none; cursor:pointer; background:var(--terracotta); color:#fff; border:2px solid var(--terracotta); transition:background 0.2s, border-color 0.2s; }
.contact-btn:hover { background:#e9864f; border-color:#e9864f; }
.contact-btn-ghost { background:transparent; border-color:rgba(255,255,255,0.4); color:#fff; }
.contact-btn-ghost:hover { background:rgba(255,255,255,0.1); border-color:#fff; }
.contact-btn:focus-visible { outline:3px solid #fff; outline-offset:3px; }
.contact-card:hover { transform:none; background:rgba(255,255,255,0.04); border-color:rgba(255,255,255,0.12); }
.testimonial { text-align:left; }
.contact-btn { white-space:nowrap; }
@media(max-width:600px){ .testimonial::before{ left:24px; } .contact-btn{ font-size:15px; padding:12px 14px; } }
/* TESTIMONIAL CAROUSEL */
.t-carousel { max-width:760px; margin:40px auto 0; }
.t-track { display:flex; gap:24px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; scrollbar-width:none; -webkit-overflow-scrolling:touch; border-radius:24px; }
.t-track::-webkit-scrollbar { display:none; }
.t-track:focus-visible { outline:3px solid var(--sky-blue); outline-offset:4px; }
.t-track .testimonial { flex:0 0 100%; scroll-snap-align:center; justify-content:center; }
.t-controls { display:flex; align-items:center; justify-content:center; gap:20px; margin-top:24px; }
.t-controls[hidden] { display:none; }
.t-arrow { width:52px; height:52px; border-radius:50%; border:1.5px solid var(--light-border); background:var(--warm-white); color:var(--charcoal); font-size:30px; line-height:1; padding-bottom:4px; cursor:pointer; transition:border-color 0.2s, background 0.2s; }
.t-arrow:hover { border-color:var(--sky-blue); background:var(--sky-blue-soft); }
.t-arrow:focus-visible, .t-dot:focus-visible { outline:3px solid var(--sky-blue); outline-offset:3px; }
.t-arrow:disabled { opacity:0.35; cursor:default; background:var(--warm-white); border-color:var(--light-border); }
.t-dots { display:flex; gap:4px; }
.t-dot { width:28px; height:28px; border:none; background:none; padding:0; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; }
.t-dot::after { content:''; width:10px; height:10px; border-radius:50%; background:var(--light-border); transition:background 0.2s, transform 0.2s; }
.t-dot[aria-current="true"]::after { background:var(--terracotta); transform:scale(1.2); }

/* MULTI-PAGE */
.page-title { font-family:'Playfair Display',serif; font-size:clamp(32px,4vw,48px); font-weight:400; line-height:1.15; letter-spacing:-0.02em; color:var(--charcoal); margin-bottom:16px; }
.page-title em { font-style:italic; color:var(--sky-blue-deep); }
.contact-inner .page-title { color:#fff; }
.contact-inner .page-title em { color:var(--terracotta); }
.nav-links a[aria-current="page"] { color:var(--charcoal); font-weight:600; }
.nav-links .nav-companion[aria-current="page"] { background:var(--sky-blue-soft); }
.mobile-menu a[aria-current="page"] { font-weight:600; color:var(--sky-blue-deep); }
.more-link { display:inline-flex; align-items:center; gap:8px; margin-top:32px; font-size:16px; font-weight:500; color:var(--sky-blue-deep); text-decoration:none; border-bottom:2px solid rgba(20,123,168,0.25); padding-bottom:2px; }
.more-link:hover { border-color:var(--sky-blue-deep); }
.home-note { margin-top:28px; font-size:16px; color:var(--soft-charcoal); line-height:1.7; }
.home-note a { color:var(--sky-blue-deep); font-weight:500; }
.about-teaser .about-grid { margin-top:24px; }
.about-teaser .about-text p { font-size:17px; }
.team-avatar img { width:100%; height:100%; border-radius:50%; object-fit:cover; display:block; }
footer { flex-wrap:wrap; gap:20px 32px; }
.footer-links { flex-wrap:wrap; justify-content:center; gap:12px 24px; }
.footer-links a { font-size:13px; }
.faq-more { margin-top:32px; font-size:16px; color:var(--muted); }
.faq-more a { color:var(--sky-blue-deep); font-weight:500; }
.notfound { min-height:70vh; display:flex; align-items:center; }

/* PRICE COMPARISON */
.value-compare { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; margin-top:96px; padding-top:72px; border-top:1px solid var(--light-border); }
.value-compare-text p { font-size:16px; line-height:1.75; color:var(--soft-charcoal); margin-top:14px; }
.compare-card { background:#fff; border:1px solid var(--light-border); border-radius:24px; padding:32px; box-shadow:0 24px 60px rgba(14,58,82,0.08); }
.compare-row { margin-top:22px; }
.compare-name { font-size:15px; color:var(--soft-charcoal); margin-bottom:8px; }
.compare-bar { height:14px; border-radius:100px; background:var(--cream); overflow:hidden; }
.compare-bar span { display:block; height:100%; border-radius:100px; background:#C9BFB3; }
.compare-us .compare-bar span { background:var(--terracotta); }
.compare-val { font-size:20px; font-weight:600; color:var(--charcoal); margin-top:6px; }
.compare-us .compare-val { color:var(--terracotta); }
.compare-states { margin-top:20px; font-size:14px; color:var(--muted); line-height:1.6; }
.price-card-foot a { color:var(--sky-blue-deep); }
@media(max-width:900px){ .value-compare{ grid-template-columns:1fr; gap:36px; } }
.compare-range { position:relative; }
.compare-state { margin-top:26px; font-size:13px; font-weight:600; letter-spacing:0.08em; text-transform:uppercase; color:var(--charcoal); padding-bottom:4px; border-bottom:1px solid var(--light-border); }
.compare-card .price-card-label + .compare-state { margin-top:16px; }
.compare-card .compare-row { margin-top:14px; }
.compare-save { display:inline-block; margin-left:10px; padding:3px 10px; border-radius:100px; background:rgba(122,158,135,0.15); color:#4F7A5E; font-size:13px; font-weight:600; vertical-align:middle; }

/* LONG TESTIMONIALS */
.testimonial blockquote p + p { margin-top:12px; }
.testimonial.is-long blockquote { max-height:calc(19px * 1.7 * 6); overflow:hidden; -webkit-mask-image:linear-gradient(#000 60%, transparent); mask-image:linear-gradient(#000 60%, transparent); }
.testimonial.is-long.expanded blockquote { max-height:none; -webkit-mask-image:none; mask-image:none; }
.t-more { margin-top:12px; font:inherit; font-size:16px; font-weight:600; color:var(--sky-blue-deep); background:none; border:none; padding:6px 0; cursor:pointer; }
.t-more:hover { text-decoration:underline; }
.t-more:focus-visible { outline:3px solid var(--sky-blue); outline-offset:3px; border-radius:6px; }
.team-avatar { width:64px; height:64px; }
.about-teaser h2 em { font-family:'DM Sans',sans-serif; font-style:normal; font-weight:600; letter-spacing:-0.01em; }
.team-avatar { width:88px; height:88px; }

/* PHONE / EMAIL LINKS ON DARK SECTIONS */
a.contact-card-value { text-decoration:none; }
.contact-section a[href^="tel:"]:not(.contact-btn), .contact-section a[href^="mailto:"]:not(.contact-btn),
.download-section a[href^="tel:"], .download-section a[href^="mailto:"] { color:#fff; }
.nav-call, .nav-call:visited { color:#fff; }
.earn-compare { margin-top:72px; }
.caretakers-section .earn-compare { margin-top:48px; padding-top:0; border-top:none; }
