/* Public content pages share Happy Place's existing fonts, navigation and controls. */
body.theme-two.content-page, body.theme-two.content-page::before { background:#fff; }
.public-shell { width:min(1280px,calc(100% - 64px)); margin:0 auto; padding-bottom:76px; }
.public-breadcrumb { display:flex; flex-wrap:wrap; gap:12px; font-size:14px; color:var(--ink-soft); margin:22px 0 30px; }
.public-breadcrumb a:hover { text-decoration:underline; }
.content-page h1,.content-page h2,.content-page h3 { color:var(--ink); }
.content-page em { font-family:var(--script); font-style:normal; font-weight:700; color:var(--ink); }
.content-page .section-kicker { color:#08758b; }
.content-page .mobile-dock svg { width:24px; height:24px; }
.owners-hero { display:grid; grid-template-columns:1fr 1fr; gap:54px; align-items:center; padding:8px 0 65px; }
.owners-hero h1 { font-size:clamp(40px,4.25vw,62px); line-height:1.12; letter-spacing:-.035em; margin:18px 0 22px; }
.owners-hero h1 em { display:block; font-size:1.1em; color:#08758b; line-height:1.25; }
.owners-hero__copy > p { font-size:18px; max-width:46ch; color:var(--ink-soft); margin-bottom:28px; }
.owners-hero .button { margin-bottom:18px; }
.owners-hero .button--primary { background:var(--yellow); color:var(--ink); border-color:var(--yellow); box-shadow:0 5px 0 #d8ac00; }
.owners-hero .button--primary:hover { background:#ffdc45; }
.owners-hero__secondary { display:block; width:fit-content; font-weight:700; padding:8px 0; }
.owners-hero__secondary span { padding-left:10px; }
.owners-locations { display:flex; align-items:center; gap:8px; font-size:14px; margin-top:22px; color:var(--ink-soft); }
.owners-locations svg { width:20px; height:20px; }
.owners-hero__image { margin:0; min-width:0; background:var(--turquoise-soft); border-radius:32px; overflow:hidden; border:1px solid #daeff0; }
.owners-hero__image img { width:100%; height:425px; object-fit:cover; object-position:50% 65%; }
.owners-hero__image figcaption { padding:22px 26px; font-family:var(--heading); font-size:18px; font-weight:700; }
.owners-hero__image figcaption small { display:block; margin-top:6px; font-family:var(--body); font-weight:400; font-size:12px; color:var(--ink-soft); }
.owners-hero__image figcaption a { text-decoration:underline; text-underline-offset:3px; }
.owners-section-heading { max-width:700px; }
.owners-section-heading h2,.owners-options h2,.owners-contact h2 { font-size:clamp(30px,3vw,43px); line-height:1.2; letter-spacing:-.025em; margin:12px 0 18px; }
.owners-section-heading > p { color:var(--ink-soft); font-size:17px; }
.owners-benefits { padding:38px 0 65px; border-top:1px solid var(--line); }
.owners-benefit-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin-top:32px; }
.owners-benefit-grid article { border:1px solid #dcebed; border-radius:24px; padding:28px; }
.owners-benefit-grid h3 { font-size:21px; margin:22px 0 12px; }
.owners-benefit-grid p { color:var(--ink-soft); margin:0; }
.owners-icon { display:grid; place-items:center; width:64px; height:64px; border-radius:20px; background:var(--turquoise-soft); color:#08758b; }
.owners-icon svg { width:34px; height:34px; }
.owners-icon--yellow { background:var(--yellow-soft); color:var(--ink); }
.owners-icon--coral { background:var(--coral-soft); color:#9a3329; }
.owners-options { padding:42px; background:var(--yellow-soft); border-radius:32px; display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center; }
.owners-options p { max-width:45ch; color:var(--ink-soft); margin-bottom:0; }
.owners-option-cards { display:grid; gap:16px; }
.owners-option-cards article { display:flex; align-items:center; gap:20px; background:#fff; padding:24px; border-radius:20px; }
.owners-option-cards article > span { flex-shrink:0; color:#08758b; }
.owners-option-cards svg { width:32px; height:32px; }
.owners-option-cards h3 { font-size:22px; margin:0 0 6px; }
.owners-process { padding:70px 0; }
.owners-process ol { list-style:none; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:38px; margin:32px 0 0; }
.owners-process li { padding-top:22px; border-top:2px solid #c9ebef; }
.owners-process li > span { color:#08758b; font-size:28px; font-weight:900; }
.owners-process h3 { font-size:21px; margin:10px 0; }
.owners-process p { color:var(--ink-soft); margin-bottom:0; }
.owners-contact { border-radius:32px; background:#e9f9fb; padding:42px; display:grid; grid-template-columns:1.1fr 1fr; gap:50px; align-items:center; }
.owners-contact__copy > p { color:var(--ink-soft); font-size:18px; max-width:43ch; margin-bottom:24px; }
.owners-contact__alternatives { display:grid; gap:10px; margin-top:24px; }
.owners-contact__alternatives a { display:flex; align-items:center; gap:10px; padding:4px 0; width:fit-content; }
.owners-contact__alternatives svg { width:20px; height:20px; }
.owners-contact__form-card { background:#fff; padding:30px; border-radius:24px; box-shadow:0 12px 32px #07324a0a; min-width:0; }
.owners-contact__form-card h3 { font-size:24px; margin-bottom:6px; }
.owners-contact__form-card > p { color:var(--ink-soft); }
.owners-form fieldset { border:0; padding:0; margin:0; min-width:0; }
.owners-form fieldset[hidden] { display:none; }
.content-page .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.owners-form label { display:block; font-size:14px; font-weight:700; margin:16px 0 7px; }
.owners-form input:not([type=hidden]),.owners-form select { display:block; width:100%; min-width:0; min-height:48px; border:1px solid #b9cdd4; border-radius:12px; background:#fff; padding:12px; color:var(--ink); font-size:16px; }
.owners-form input::placeholder { color:#607681; }
.owners-form__note,.owners-form__privacy { font-size:13px; color:var(--ink-soft); margin:18px 0; }
.owners-form__privacy { margin-bottom:0; }
.owners-form__privacy a { text-decoration:underline; text-underline-offset:3px; font-weight:700; }
.content-page .button--whatsapp { background:#087f45; border-color:#087f45; color:#fff; box-shadow:0 4px 0 #065f34; }
.content-page .button--whatsapp:hover { background:#076f3d; }
.privacy-heading { text-align:center; padding:24px 0 38px; border-bottom:1px solid var(--line); }
.privacy-heading h1 { font-size:clamp(38px,4.5vw,60px); letter-spacing:-.03em; margin:14px 0 10px; line-height:1.18; }
.privacy-heading h1 em { color:#08758b; }
.privacy-heading > p { font-size:18px; color:var(--ink-soft); }
.privacy-heading__meta { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:14px 24px; font-size:13px; }
.privacy-heading__meta > span { background:var(--turquoise-soft); padding:10px 16px; border-radius:30px; }
.privacy-heading__meta a { padding:10px 0; color:#08758b; font-weight:700; text-decoration:underline; text-underline-offset:4px; }
.privacy-heading__meta small { font-weight:400; white-space:nowrap; padding-left:6px; }
.privacy-layout { display:grid; grid-template-columns:265px minmax(0,1fr); gap:60px; align-items:start; padding-top:38px; }
.privacy-aside { position:sticky; top:112px; }
.privacy-index { border:1px solid #dcebed; border-radius:18px; padding:18px; font-size:14px; }
.privacy-index summary { font-weight:800; cursor:pointer; padding:2px 0; list-style:none; display:flex; justify-content:space-between; gap:10px; }
.privacy-index summary::-webkit-details-marker { display:none; }
.privacy-index ol { margin:14px 0 0; padding-left:24px; max-height:calc(100svh - 340px); overflow-y:auto; scrollbar-width:thin; }
.privacy-index li { padding-left:2px; color:var(--ink-soft); }
.privacy-index a { display:block; padding:7px 2px; line-height:1.4; }
.privacy-index a:hover { color:#08758b; text-decoration:underline; }
.privacy-help { margin-top:18px; background:var(--turquoise-soft); border-radius:18px; padding:20px; font-size:14px; }
.privacy-help > span { display:block; width:24px; height:24px; margin-bottom:12px; }
.privacy-help strong { display:block; }
.privacy-help p { margin:8px 0; color:var(--ink-soft); }
.privacy-help a { text-decoration:underline; font-weight:700; }
.privacy-document { min-width:0; max-width:850px; font-size:17px; line-height:1.75; }
.privacy-section { padding-bottom:32px; margin-bottom:32px; border-bottom:1px solid var(--line); overflow-wrap:break-word; }
.privacy-section h2 { font-size:26px; line-height:1.3; display:flex; align-items:baseline; gap:14px; margin-bottom:22px; letter-spacing:-.015em; }
.privacy-section h2 > span { font-size:15px; color:#08758b; font-weight:700; flex-shrink:0; }
.privacy-section h3 { font-size:21px; margin:26px 0 12px; }
.privacy-section p { color:#304e5d; margin:0 0 17px; }
.privacy-section strong { color:var(--ink); }
.privacy-section a { color:#08758b; text-decoration:underline; text-underline-offset:3px; }
.privacy-section ul { padding-left:23px; margin:16px 0 22px; color:#304e5d; }
.privacy-section li { padding-left:4px; margin:10px 0; }
.privacy-section li::marker { color:#08758b; }
.privacy-table { border-collapse:separate; border-spacing:0; width:100%; margin:24px 0 30px; font-size:14px; line-height:1.6; border:1px solid #dcebed; border-radius:16px; overflow:hidden; text-align:left; }
.privacy-table caption { text-align:left; padding-bottom:12px; font-size:15px; font-weight:700; }
.privacy-table th,.privacy-table td { padding:16px; vertical-align:top; border-bottom:1px solid #dcebed; }
.privacy-table thead th { background:var(--ink); color:white; font-size:13px; }
.privacy-table tbody th { width:25%; color:var(--ink); background:#f1fafb; font-weight:700; }
.privacy-table tbody td { width:37.5%; color:#304e5d; }
.privacy-table tr:last-child > * { border-bottom:0; }
.privacy-cell-label { display:none; }
.privacy-top { display:inline-flex; gap:16px; padding:12px 0; font-weight:700; color:#08758b; }
@media (max-width:1100px) {
  .owners-hero { gap:28px; }
  .owners-hero__image img { height:390px; }
  .owners-contact { gap:26px; padding:30px; }
  .privacy-layout { gap:32px; grid-template-columns:225px minmax(0,1fr); }
  .privacy-table th,.privacy-table td { padding:12px; }
}
@media (max-width:900px) {
  .public-shell { width:calc(100% - 40px); }
  .owners-hero { grid-template-columns:1fr; padding-bottom:38px; gap:26px; }
  .owners-hero__copy > p { max-width:55ch; }
  .owners-hero h1 { font-size:50px; }
  .owners-hero__image img { height:350px; object-position:center 65%; }
  .owners-benefit-grid { gap:14px; }
  .owners-benefit-grid article { padding:22px; }
  .owners-options { padding:30px; gap:26px; }
  .owners-contact { grid-template-columns:1fr; }
  .owners-contact__copy > p { max-width:60ch; }
  .privacy-layout { grid-template-columns:minmax(0,1fr); gap:30px; padding-top:24px; }
  .privacy-aside { position:static; }
  .privacy-index ol { max-height:none; }
  .privacy-help { display:none; }
  .privacy-document { max-width:none; }
}
@media (max-width:620px) {
  .public-shell { width:calc(100% - 32px); padding-bottom:42px; }
  .public-breadcrumb { margin:18px 0 22px; font-size:13px; }
  .owners-hero h1 { font-size:clamp(36px,10.5vw,48px); }
  .owners-hero__copy > p { font-size:16px; }
  .owners-hero .button { width:100%; font-size:15px; padding:16px 12px; }
  .owners-locations { font-size:12px; }
  .owners-hero__image { border-radius:24px; }
  .owners-hero__image img { height:auto; aspect-ratio:1.5; }
  .owners-hero__image figcaption { padding:18px; font-size:16px; }
  .owners-benefits { padding:28px 0 38px; }
  .owners-benefit-grid { grid-template-columns:1fr; margin-top:24px; }
  .owners-benefit-grid article { display:grid; grid-template-columns:52px minmax(0,1fr); column-gap:16px; padding:22px; }
  .owners-icon { width:52px; height:52px; border-radius:16px; grid-row:1 / 3; }
  .owners-icon svg { width:28px; height:28px; }
  .owners-benefit-grid h3 { margin:0 0 8px; font-size:19px; }
  .owners-benefit-grid p { font-size:15px; }
  .owners-options { grid-template-columns:1fr; padding:24px; gap:24px; border-radius:24px; }
  .owners-option-cards article { padding:18px; gap:14px; }
  .owners-option-cards h3 { font-size:19px; }
  .owners-option-cards p { font-size:15px; }
  .owners-process { padding:42px 0; }
  .owners-process ol { grid-template-columns:1fr; gap:22px; margin-top:24px; }
  .owners-process li { display:grid; grid-template-columns:40px minmax(0,1fr); column-gap:16px; padding-top:20px; }
  .owners-process li > span { grid-row:1 / 3; font-size:25px; }
  .owners-process h3 { margin:0 0 8px; font-size:19px; }
  .owners-process p { font-size:15px; }
  .owners-contact { padding:24px 18px; border-radius:24px; }
  .owners-contact h2 { font-size:29px; }
  .owners-contact__copy > p { font-size:16px; }
  .owners-contact .button { font-size:14px; padding:15px 10px; gap:8px; }
  .owners-contact__form-card { padding:22px 16px; border-radius:18px; }
  .owners-contact__alternatives { font-size:15px; }
  .privacy-heading { padding:12px 0 26px; }
  .privacy-heading h1 { font-size:39px; }
  .privacy-heading > p { font-size:16px; }
  .privacy-heading__meta { gap:8px; }
  .privacy-document { font-size:16px; line-height:1.75; }
  .privacy-section { margin-bottom:26px; padding-bottom:24px; }
  .privacy-section h2 { font-size:23px; gap:10px; }
  .privacy-section h3 { font-size:20px; }
  .privacy-table { display:block; border:0; overflow:visible; }
  .privacy-table caption { display:block; }
  .privacy-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  .privacy-table tbody { display:block; }
  .privacy-table tbody tr { display:block; border:1px solid #dcebed; border-radius:14px; overflow:hidden; margin-bottom:16px; }
  .privacy-table tbody th,.privacy-table tbody td { display:block; width:100%; padding:14px 16px; }
  .privacy-table tbody td { border:0; }
  .privacy-table tbody td:last-child { padding-top:0; }
  .privacy-cell-label { display:block; font-size:12px; font-weight:800; color:#08758b; margin-bottom:4px; }
}
@media print {
  .content-page .site-header,.content-page .site-footer,.content-page .mobile-dock,.privacy-aside,.privacy-top,.public-breadcrumb,.privacy-heading__meta a { display:none !important; }
  .public-shell { width:100%; padding:0; }
  .privacy-layout { display:block; }
  .privacy-document { max-width:none; font-size:11pt; }
  .privacy-section h2 { break-after:avoid; }
  .privacy-table tr { break-inside:avoid; }
}

/* Footer links live within their existing navigation columns. */
.theme-two .site-footer--refined { grid-template-columns:1.1fr .9fr 1.05fr 1.2fr; gap:24px 32px; padding:40px max(24px,calc((100vw - 1280px) / 2)) 24px; font-size:14px; }
.theme-two .site-footer--refined.site-footer--compact { grid-template-columns:1.15fr 1fr 1fr; }
.site-footer--refined > div { min-width:0; }
.site-footer--refined > div:not(.site-footer__brand) { gap:6px; }
.site-footer--refined a { width:fit-content; max-width:100%; overflow-wrap:anywhere; padding:3px 0; line-height:1.5; }
.site-footer--refined a:focus-visible { outline:2px solid var(--yellow); outline-offset:4px; border-radius:3px; }
.site-footer--refined .site-footer__brand img { width:90px; height:72px; }
.site-footer--refined .site-footer__contact p { margin:0 0 4px; }
.site-footer--refined .site-footer__legal { margin:0; padding-top:14px; font-size:12px; color:#c5d9df; }
body.error-page { background:#fff; padding:0; }
.error-header { width:min(1080px,calc(100% - 40px)); margin:16px auto; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.error-header img { width:92px; height:86px; object-fit:contain; }
.error-header > a:last-child { color:#08758b; font-weight:700; font-size:14px; }
.error-content { width:min(800px,calc(100% - 40px)); margin:24px auto 64px; text-align:center; }
.error-content__sign { display:flex; align-items:center; justify-content:center; gap:12px; color:#08758b; }
.error-content__sign > span { font:900 clamp(80px,12vw,130px)/1.1 var(--heading); letter-spacing:-.06em; }
.error-content__sign svg { width:92px; height:92px; padding:16px; border-radius:50%; background:var(--yellow); fill:var(--ink); transform:rotate(8deg); }
.error-content > .section-kicker { display:block; margin:28px 0 14px; color:#08758b; }
.error-content h1 { font-size:clamp(30px,4vw,46px); line-height:1.14; letter-spacing:-.03em; margin:0 0 20px; }
.error-content > p { max-width:52ch; margin:0 auto 28px; color:var(--ink-soft); }
.error-content__actions { display:flex; flex-wrap:wrap; justify-content:center; gap:14px; }
.error-content__actions .button--primary { background:var(--yellow); border-color:var(--yellow); color:var(--ink); box-shadow:0 4px 0 #d8ac00; }
.error-content__actions .button--outline { color:#08758b; border-color:#08758b; }
.error-content__actions .button--outline:hover { background:#e9f9fb; color:var(--ink); }
@media(max-width:900px) {
 .theme-two .site-footer--refined { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .theme-two .site-footer--refined.site-footer--compact { grid-template-columns:1.15fr 1fr 1fr; }
}
@media(max-width:620px) {
 .theme-two .site-footer--refined,.theme-two .site-footer--refined.site-footer--compact { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 18px; padding:30px 20px 28px; font-size:13px; }
 .site-footer--refined .site-footer__brand { grid-column:1 / -1; display:flex; align-items:center; gap:16px; }
 .site-footer--refined .site-footer__brand img { width:72px; height:60px; flex-shrink:0; }
 .site-footer--refined .site-footer__brand p { margin:0; max-width:20ch; }
 .site-footer--refined .site-footer__contact { grid-column:1 / -1; }
 .error-content { margin-bottom:44px; }
 .error-content__sign svg { width:72px; height:72px; }
 .error-content__actions { flex-direction:column; }
}
