/* Family Integrity practice architecture — v154. Additive only. */
.fip-hero{padding:clamp(4.2rem,8vw,7rem) 0 3.5rem;border-bottom:1px solid var(--line);background:linear-gradient(180deg,rgba(217,119,87,.08),transparent 70%)}
.fip-hero__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.88fr);gap:clamp(2rem,4vw,4.5rem);align-items:center}.fip-hero h1{font-family:var(--font-serif);font-size:clamp(2.5rem,4.6vw,4.65rem);line-height:1;max-width:13ch;margin:.55rem 0 1.1rem}.fip-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.5rem}.fip-hero__visual{margin:0;border:1px solid var(--line);background:var(--paper);overflow:hidden}.fip-hero__visual img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center 42%}.fip-hero__visual figcaption{padding:1.15rem 1.25rem 1.25rem;display:grid;gap:.5rem}.fip-principle__label,.fip-module__type{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--terracotta)}.fip-hero__visual strong{font-size:1.08rem}.fip-hero__visual p{margin:0;color:var(--ink-soft);line-height:1.55}
.fip-section{padding:clamp(3.7rem,7vw,6.5rem) 0}.fip-section--tint{background:var(--paper-soft,#f4f0e8);border-block:1px solid var(--line)}.fip-section h2{font-family:var(--font-serif);font-size:clamp(2.1rem,4.7vw,4rem);line-height:1.03;max-width:15ch;margin:.5rem 0 1rem}.fip-section__lede{max-width:760px;color:var(--ink-soft);line-height:1.7;font-size:1.05rem;margin:0 0 2.2rem}
.fip-module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.fip-module{border:1px solid var(--line);background:var(--paper);padding:clamp(1.1rem,2.3vw,1.6rem);display:grid;align-content:start;gap:1rem}.fip-module--intro,.fip-module--asana{grid-column:1/-1}.fip-module__head{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:start}.fip-module__n{font-family:var(--font-mono);font-size:.78rem;border:1px solid var(--line);min-width:2.3rem;height:2.3rem;display:grid;place-items:center;border-radius:999px}.fip-module h3{font-family:var(--font-serif);font-size:clamp(1.45rem,2.6vw,2.2rem);margin:.18rem 0 0;line-height:1.06}.fip-module>p{margin:0;color:var(--ink-soft);line-height:1.62;max-width:68ch}.fip-slots{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.fip-slot{border-top:1px solid var(--line);padding-top:.72rem;display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;font-size:.9rem}.fip-slot span{color:var(--ink-soft)}.fip-slot b{font-family:var(--font-mono);font-size:.68rem;white-space:nowrap;text-transform:uppercase;color:var(--green,#4a7c6f)}.fip-asana-layout{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;border-top:1px solid var(--line);padding-top:1.2rem}.fip-asana-layout h4{margin:0 0 .8rem;font-size:1rem}.fip-tags{display:flex;flex-wrap:wrap;gap:.55rem;list-style:none;padding:0;margin:0}.fip-tags li{border:1px solid var(--line);padding:.55rem .7rem;font-size:.88rem;background:rgba(255,255,255,.42)}
.fip-path-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.fip-path-grid article{border-top:2px solid var(--ink);padding:1rem 0}.fip-path-grid article>span{font-family:var(--font-mono);color:var(--terracotta);font-size:.8rem}.fip-path-grid h3{font-size:1rem;margin:.55rem 0}.fip-path-grid p{margin:0;color:var(--ink-soft);line-height:1.58;font-size:.94rem}.fip-path--capacity{border-top-color:var(--terracotta)!important}.fip-rule{margin-top:2rem;display:grid;grid-template-columns:minmax(160px,.3fr) 1fr;gap:1.5rem;border:1px solid var(--line);padding:1.1rem 1.2rem;background:var(--paper)}.fip-rule strong{font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}.fip-rule p{margin:0;line-height:1.6}
.fip-support{display:grid;grid-template-columns:1.4fr .6fr;gap:2rem;align-items:end}.fip-support h2{max-width:18ch}.fip-support p{max-width:66ch;color:var(--ink-soft);line-height:1.65}.fip-support__note{border-left:2px solid var(--terracotta);padding-left:1rem;display:grid;gap:.35rem}.fip-support__note span{font-family:var(--font-mono);font-size:.72rem;text-transform:uppercase;color:var(--ink-soft)}.fip-status{padding:2.7rem 0;background:var(--ink);color:var(--paper)}.fip-status__grid{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:center}.fip-status h2{font-family:var(--font-serif);font-size:clamp(2rem,4vw,3.4rem);margin:.4rem 0 .5rem}.fip-status p{margin:0;max-width:760px;color:rgba(255,255,255,.72);line-height:1.6}.fip-status .btn{background:var(--paper);color:var(--ink)}
@media(max-width:800px){.fip-hero__grid,.fip-support,.fip-status__grid{grid-template-columns:1fr}.fip-module-grid{grid-template-columns:1fr}.fip-module--intro,.fip-module--asana{grid-column:auto}.fip-slots,.fip-asana-layout{grid-template-columns:1fr}.fip-path-grid{grid-template-columns:1fr 1fr}.fip-status__grid{align-items:start}.fip-hero{padding-top:3.2rem}}
@media(max-width:520px){.fip-path-grid{grid-template-columns:1fr}.fip-rule{grid-template-columns:1fr}.fip-slot{display:grid;grid-template-columns:1fr}.fip-actions .btn{width:100%;text-align:center}}

.fip-slot--active{text-decoration:none;color:inherit;border:1px solid var(--line);padding:.8rem;background:rgba(217,119,87,.06);transition:transform .15s ease,border-color .15s ease}.fip-slot--active:hover{transform:translateY(-2px);border-color:var(--terracotta)}

/* v163 */
.fip-slots--three{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:900px){.fip-slots--three{grid-template-columns:1fr}}

/* v174: on-site public previews */
.fip-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.fip-preview{display:grid;align-content:start;gap:.55rem;padding:1rem;border:1px solid var(--line);background:var(--paper)}.fip-preview--featured{border-color:var(--terracotta);box-shadow:0 12px 30px rgba(64,40,28,.08)}.fip-preview__frame{position:relative;overflow:hidden;aspect-ratio:16/9;background:#171712}.fip-preview__frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.fip-preview strong{font-size:1.02rem}.fip-preview small{color:var(--ink-soft);line-height:1.45}@media(max-width:900px){.fip-preview-grid{grid-template-columns:1fr 1fr}.fip-preview--featured{grid-column:1/-1}}@media(max-width:620px){.fip-preview-grid{grid-template-columns:1fr}.fip-preview--featured{grid-column:auto}.fip-hero__grid{grid-template-columns:1fr}.fip-hero h1{font-size:clamp(2.35rem,12vw,3.4rem)}}

/* v178: protected asana and pranayama onboarding */
.family-onboarding__videos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.family-onboarding__videos article,.family-onboarding__single{padding:1rem;border:1px solid var(--line);background:var(--paper)}.family-onboarding__videos h3,.family-onboarding__single h3{margin:1rem 0 .3rem;font-family:var(--font-serif);font-size:1.45rem}.family-onboarding__single{width:min(100%,960px)}.family-onboarding__resources{display:flex;align-items:center;gap:1.5rem;margin-top:1.5rem;padding:1.15rem;border:1px solid rgba(74,124,111,.3);background:rgba(74,124,111,.06)}.family-onboarding__resources p{margin:0;max-width:68ch;line-height:1.55}@media(max-width:760px){.family-onboarding__videos{grid-template-columns:1fr}.family-onboarding__resources{align-items:stretch;flex-direction:column}.family-onboarding__resources .btn{text-align:center}}

/* v175: one calm, prominent public introduction */
.fip-preview-focus{display:grid;gap:2rem}.fip-preview-focus__intro{max-width:800px}.fip-preview-focus__intro h2{max-width:18ch}.fip-preview--single{width:min(100%,1050px);margin:0 auto;padding:clamp(.75rem,1.5vw,1.15rem);gap:0;border-color:rgba(74,124,111,.4);box-shadow:0 22px 55px rgba(34,38,31,.1)}.fip-preview--single .fip-preview__frame{width:100%;aspect-ratio:16/9}.fip-preview__caption{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;padding:1.15rem .35rem .15rem}.fip-preview__caption>div{display:grid;gap:.3rem}.fip-preview__caption strong{font-family:var(--font-serif);font-size:clamp(1.35rem,2.2vw,1.8rem)}.fip-preview__caption>span{flex:0 0 auto;padding:.65rem .9rem;border-radius:999px;background:var(--teal,#4a7c6f);color:#fff;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase}@media(max-width:620px){.fip-preview__caption{align-items:flex-start;flex-direction:column}.fip-preview__caption>span{display:none}}
