/* Périnée Coach — "cadence" sheet: contract / release / rest tempo */
:root{
  --blush:#F4E8E4; --petal:#FBF3F0; --rose:#E9C7C1; --terra:#C4776A; --terra-deep:#A3503B;
  --sage:#7BA08C; --sage-pale:#E4EEE7; --plum:#2A1A1E; --plum-soft:#6F585B;
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
  --round:ui-rounded,"SF Pro Rounded","Nunito","Segoe UI",system-ui,sans-serif;
}
*{box-sizing:border-box}
html{background:var(--blush)}
body{margin:0;color:var(--plum);font:16.5px/1.68 var(--round);
  background:
    radial-gradient(900px 420px at 110% -10%,rgba(196,119,106,.18),transparent 70%),
    radial-gradient(700px 380px at -20% 30%,rgba(123,160,140,.14),transparent 70%),
    linear-gradient(180deg,#F6ECE8 0%,var(--blush) 40%,#EFD5CE 100%);
  min-height:100vh}
a{color:var(--terra-deep);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--plum)}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:var(--plum);color:#fff;padding:6px 10px;border-radius:8px;z-index:9}

/* masthead */
.mast{max-width:980px;margin:0 auto;padding:30px 22px 8px;display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center}
.breath{width:74px;height:74px;position:relative;display:grid;place-items:center}
.breath::before,.breath::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--terra);opacity:.55;animation:inhale 8s ease-in-out infinite}
.breath::after{inset:12px;border-color:var(--sage);animation-delay:-4s}
.breath svg{width:38px;height:38px;position:relative}
@keyframes inhale{0%,100%{transform:scale(.82);opacity:.35}45%,55%{transform:scale(1.04);opacity:.8}}
@media (prefers-reduced-motion:reduce){.breath::before,.breath::after{animation:none}}
.brand b{display:block;font:700 27px/1.1 var(--serif);letter-spacing:.2px;color:var(--terra-deep)}
.brand span{font-size:13.5px;color:var(--plum-soft)}
.lang{display:flex;border:1.5px solid var(--terra);border-radius:999px;overflow:hidden;font-size:13px;font-weight:700}
.lang a,.lang span{padding:5px 12px;text-decoration:none}
.lang span{background:var(--terra);color:#fff}
.lang a{color:var(--terra-deep)}

/* tempo nav: bar heights echo contract / release / rest */
.tempo{max-width:980px;margin:6px auto 0;padding:0 22px;display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}
.tempo a{flex:1 1 150px;text-decoration:none;color:var(--plum);border-radius:16px 16px 6px 6px;padding:10px 14px 9px;background:rgba(255,255,255,.55);border:1px solid rgba(196,119,106,.22);display:flex;flex-direction:column;gap:2px;min-height:62px;justify-content:flex-end;transition:transform .2s}
.tempo a small{font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:var(--plum-soft)}
.tempo a strong{font:600 16px/1.2 var(--serif)}
.tempo a:nth-child(1){min-height:62px}
.tempo a:nth-child(2){min-height:84px;border-top:5px solid var(--terra)}
.tempo a:nth-child(3){min-height:72px;border-top:5px solid var(--rose)}
.tempo a:nth-child(4){min-height:56px;border-top:5px solid var(--sage)}
.tempo a:hover{transform:translateY(-2px)}
.tempo a[aria-current]{background:var(--plum);color:var(--petal);border-color:var(--plum)}
.tempo a[aria-current] small{color:var(--rose)}

/* page */
main{max-width:980px;margin:0 auto;padding:22px 22px 40px}
.hero{background:var(--petal);border-radius:28px;padding:30px 30px 26px;box-shadow:0 18px 40px -26px rgba(163,80,59,.55);position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;right:-40px;bottom:-60px;width:220px;height:220px;border-radius:50%;border:26px solid rgba(123,160,140,.16)}
.hero h1{font:700 clamp(28px,4.4vw,40px)/1.15 var(--serif);margin:0 0 10px;color:var(--plum);position:relative;z-index:1}
.hero p{margin:0;max-width:640px;color:var(--plum-soft);position:relative;z-index:1}
.stamp{display:inline-block;margin-top:14px;font-size:12.5px;font-weight:700;color:var(--terra-deep);background:#F6DDD6;border-radius:999px;padding:4px 12px;position:relative;z-index:1}

.disclaimer{margin:22px 0 4px;background:var(--sage-pale);border:1.5px solid rgba(123,160,140,.55);border-radius:20px;padding:16px 20px 16px 62px;position:relative}
.disclaimer::before{content:"";position:absolute;left:20px;top:18px;width:26px;height:26px;border-radius:50%;background:var(--sage);box-shadow:inset 0 0 0 7px var(--sage-pale),inset 0 0 0 9px var(--sage)}
.disclaimer strong{display:block;font:700 16px var(--serif);color:#3D6450;margin-bottom:2px}
.disclaimer p{margin:0;font-size:15px}

/* sections on a breathing rail */
.flow{margin-top:26px;position:relative;padding-left:44px}
.flow::before{content:"";position:absolute;left:15px;top:8px;bottom:8px;width:3px;border-radius:3px;background:repeating-linear-gradient(180deg,var(--terra) 0 46px,var(--rose) 46px 80px,var(--sage) 80px 104px)}
.flow section{position:relative;margin:0 0 20px;background:rgba(255,250,248,.82);border-radius:22px;padding:20px 24px 14px;border:1px solid rgba(196,119,106,.16)}
.flow section::before{content:attr(data-n);position:absolute;left:-44px;top:18px;width:33px;height:33px;border-radius:50%;background:var(--petal);border:2.5px solid var(--terra);display:grid;place-items:center;font:700 13px var(--round);color:var(--terra-deep)}
.flow section:nth-of-type(3n+2)::before{border-color:var(--rose)}
.flow section:nth-of-type(3n)::before{border-color:var(--sage);color:#3D6450}
.flow h2{font:700 21px/1.25 var(--serif);margin:0 0 8px;color:var(--terra-deep)}
.flow h3{font:700 16px var(--round);margin:14px 0 4px}
.flow ul{padding-left:20px;margin:6px 0 10px}
.flow li{margin:3px 0}
.flow li::marker{color:var(--terra)}
.flow p{margin:6px 0 10px}

table.carry{width:100%;border-collapse:separate;border-spacing:0;margin:8px 0 12px;font-size:14.5px;border-radius:14px;overflow:hidden;border:1px solid var(--rose)}
table.carry th{background:var(--terra);color:#fff;text-align:left;padding:8px 12px;font-weight:700}
table.carry td{padding:8px 12px;border-top:1px solid #F0D9D3;vertical-align:top;background:#FFFBFA}
table.carry tr:nth-child(even) td{background:#FBF0EC}
.pill{display:inline-block;font-size:12px;font-weight:700;border-radius:999px;padding:1px 9px;white-space:nowrap}
.pill.on{background:#F6DDD6;color:var(--terra-deep)}
.pill.out{background:#E7D3E0;color:#6B2D55}
.pill.no{background:var(--sage-pale);color:#3D6450}

/* home cards */
.doors{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:24px}
.doors a{display:block;text-decoration:none;color:var(--plum);background:var(--petal);border-radius:24px;padding:22px;border:1px solid rgba(196,119,106,.2);box-shadow:0 12px 26px -20px rgba(42,26,30,.5)}
.doors a b{display:block;font:700 20px var(--serif);color:var(--terra-deep);margin-bottom:4px}
.doors a span{font-size:14.5px;color:var(--plum-soft)}
.doors a i{display:block;height:6px;width:46px;border-radius:6px;margin-bottom:14px;background:var(--terra)}
.doors a:nth-child(2) i{background:var(--rose);width:70px}
.doors a:nth-child(3) i{background:var(--sage);width:30px}

/* support */
.mailcard{display:flex;flex-wrap:wrap;gap:12px 22px;align-items:center;background:var(--plum);color:var(--petal);border-radius:22px;padding:20px 24px;margin:4px 0 16px}
.mailcard a{color:#fff;font:700 19px var(--serif)}
.mailcard small{color:var(--rose);display:block}
details{border-radius:16px;background:#FFF8F6;border:1px solid #F0D9D3;margin:8px 0;padding:0 16px}
details summary{cursor:pointer;font-weight:700;padding:12px 0;list-style:none}
details summary::-webkit-details-marker{display:none}
details summary::before{content:"";display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--terra);margin-right:10px;vertical-align:1px}
details[open] summary::before{background:var(--sage)}
details p{margin:0 0 12px}

footer{max-width:980px;margin:0 auto;padding:10px 22px 40px;font-size:13px;color:var(--plum-soft);display:flex;flex-wrap:wrap;gap:6px 18px;justify-content:space-between}
footer nav a{margin-right:12px}
@media (max-width:640px){
  .mast{grid-template-columns:auto 1fr;}
  .lang{grid-column:1/-1;justify-self:start}
  .hero{padding:24px 20px}
  .flow{padding-left:34px}.flow::before{left:10px}
  .flow section{padding:18px 16px 10px}
  .flow section::before{left:-36px;width:27px;height:27px;font-size:11.5px}
  table.carry{font-size:13.5px}
}
