/* ===== full home page: sections after the approved hero ===== */
.skip{position:fixed;top:-60px;right:16px;z-index:300;background:var(--rose-d);color:#fff;padding:10px 18px;border-radius:30px;font-size:15px;transition:top .3s}
.skip:focus{top:14px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
section{scroll-margin-top:20px}
.h2{font-family:var(--f-display);font-weight:var(--w-display2);letter-spacing:var(--ls-display);font-size:clamp(40px,4.4vw,66px);line-height:1.08;color:var(--ink);text-wrap:balance}
.h2 em{color:var(--rose-d)}
.h2--sm{font-size:clamp(32px,3vw,46px)}
.arrow-link{display:inline-flex;align-items:center;gap:12px;font-size:16px;font-weight:500;color:var(--rose-d)}
.arrow-link span{background:linear-gradient(currentColor,currentColor) no-repeat 0 100%/100% 1px;padding-bottom:3px;transition:background-size .5s var(--ease)}
.arrow-link:hover span{background-size:0 1px}
.arrow-link b{font-weight:400;transition:transform .5s var(--ease)}
.arrow-link:hover b{transform:translateX(-8px)}
.uline{background:linear-gradient(currentColor,currentColor) no-repeat 100% 100%/0 1px;transition:background-size .5s var(--ease)}
.uline:hover{background-size:100% 1px;background-position:0 100%}
.blobby{animation:morph 26s ease-in-out infinite alternate both, drift 34s ease-in-out infinite alternate both}
.topic.reveal:nth-child(4){transition-delay:.24s}

/* ---- about ---- */
.about{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);grid-template-areas:"head media" "body media" "facts facts";gap:0 6vw;padding:150px 8.5vw 120px;overflow:clip}
.about__blob{position:absolute;width:52vw;height:52vw;left:-14vw;top:4vw;background:radial-gradient(circle at 55% 45%,#FBE1E6 0%,#FDEFF1 52%,rgba(253,239,241,0) 72%);animation:morph 28s ease-in-out infinite alternate both, drift 36s ease-in-out infinite alternate both;pointer-events:none}
.about__head{grid-area:head;position:relative;z-index:3;align-self:end}
.about__title{font-family:var(--f-display);font-weight:var(--w-display);letter-spacing:var(--ls-display);line-height:.95;color:var(--rose-d);margin-top:10px}
.about__pre{display:block;font-size:clamp(28px,2.6vw,40px);color:var(--ink);margin-bottom:8px}
.about__name{display:block;font-size:clamp(64px,9vw,138px);white-space:nowrap;margin-left:-14vw;position:relative;z-index:4}
.about__media{grid-area:media;position:relative;z-index:2;align-self:start;justify-self:start;width:min(34vw,500px);margin-top:-30px}
.arch{position:relative;width:100%;aspect-ratio:3/4.1;border-radius:999px 999px 0 0;overflow:hidden}
.arch__bg{position:absolute;inset:0;background:linear-gradient(170deg,var(--mint-l) 0%,#EAF7F2 45%,var(--rose-xl) 100%)}
.arch img{position:absolute;left:50%;bottom:-18%;width:96%;height:auto;transform:translateX(-50%) scale(1.08);transform-origin:50% 100%;transition:transform 1.6s var(--ease)}
.about__media.in .arch img{transform:translateX(-50%) scale(1)}
.about__ring{position:absolute;inset:-22px -22px auto auto;width:calc(100% + 44px);height:auto;overflow:visible;pointer-events:none}
.about__ring path{fill:none;stroke:var(--rose);stroke-width:.7;opacity:.55;stroke-dasharray:900;stroke-dashoffset:900;transition:stroke-dashoffset 2.4s var(--ease) .3s}
.about__media.in .about__ring path{stroke-dashoffset:0}
.about__body{grid-area:body;position:relative;z-index:3;max-width:560px;padding-top:38px}
.about__body p{font-size:17px;line-height:1.75;color:var(--ink2);margin-bottom:18px;text-wrap:pretty}
.about__body .about__lead{font-family:var(--f-sub);font-size:clamp(22px,1.8vw,27px);line-height:1.5;color:var(--ink)}
.about__creds{border-top:1px solid #EFD9DD;padding-top:20px;margin-top:8px;font-size:15.5px!important}
.about__creds strong{display:block;font-family:var(--f-display);font-weight:500;font-size:21px;color:var(--ink);margin-bottom:2px}
.facts{grid-area:facts;list-style:none;display:flex;flex-wrap:wrap;align-items:baseline;gap:22px 5vw;margin-top:90px;padding-top:34px;border-top:1px solid #EFD9DD;position:relative;z-index:3}
.fact{display:flex;flex-direction:column;gap:6px}
.fact__k{font-family:var(--f-display);font-weight:var(--w-display);font-size:clamp(22px,1.9vw,28px);color:var(--ink)}
.fact__v{font-size:15.5px;color:var(--ink2)}
.fact:last-child{margin-inline-start:auto}

/* ---- quote ---- */
.quote{position:relative;padding:150px 8.5vw 170px;overflow:clip;text-align:center}
.quote__blob{position:absolute;width:44vw;height:44vw;left:50%;top:50%;margin:-22vw 0 0 -22vw;background:radial-gradient(circle at 50% 50%,var(--mint-l) 0%,#EEF8F4 50%,rgba(238,248,244,0) 72%);animation:morph 24s ease-in-out infinite alternate both;pointer-events:none}
.quote blockquote{position:relative;max-width:1180px;margin:0 auto}
.quote__text{font-family:var(--f-display);font-weight:var(--w-display);letter-spacing:var(--ls-display);font-size:clamp(34px,3.9vw,60px);line-height:1.3;color:var(--ink);text-wrap:balance}
.quote__text .qw{opacity:.16;transition:opacity .35s linear,color .35s}
.quote__text .qw.on{opacity:1}
.quote__text .qw.hl{color:var(--rose-d)}
.quote__by{margin-top:38px;font-size:15px;letter-spacing:.06em;color:var(--ink2)}


/* ---- process (horizontal) ---- */
.process{position:relative;height:340vh;background:linear-gradient(180deg,#FFFDFB,var(--rose-xl) 50%,#FFFDFB)}
.process__sticky{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;align-items:center}
.process__track{display:flex;gap:0;height:100%;align-items:center;will-change:transform;position:relative;z-index:2}
.pp{flex:none;width:44vw;height:72vh;padding:0 4vw;display:flex;flex-direction:column;justify-content:center;position:relative;border-inline-start:1px solid #EBCFD5}
.pp--intro{width:56vw;padding-right:8.5vw;border:0}
.process__title{font-family:var(--f-display);font-weight:var(--w-display2);letter-spacing:var(--ls-display);font-size:clamp(44px,5.2vw,82px);line-height:1.06;color:var(--ink);margin-top:14px}
.process__title span{color:var(--rose-d)}
.pp__hint{display:flex;align-items:center;gap:14px;margin-top:44px;font-size:15px;color:var(--ink2)}
.pp__hint b{font-weight:400;color:var(--rose-d);font-size:24px;animation:nudge 2.4s var(--ease) infinite}
@keyframes nudge{50%{transform:translateX(-10px)}}
.pp__n{font-family:var(--f-display);font-weight:400;font-size:clamp(150px,17vw,260px);line-height:.8;color:transparent;-webkit-text-stroke:1.4px var(--rose);margin-bottom:28px;display:block}
.pp__n{transition:color .8s var(--soft),-webkit-text-stroke-color .8s}
.pp.act .pp__n{color:var(--rose-l);-webkit-text-stroke-color:var(--rose-l)}
.pp--end{width:40vw;align-items:flex-start;gap:26px;padding-left:8.5vw}
.pp__end{font-family:var(--f-display);font-weight:var(--w-display);font-size:clamp(26px,2.3vw,36px);line-height:1.35;color:var(--ink);max-width:460px;text-wrap:balance}
.pp__t{font-family:var(--f-display);font-weight:var(--w-display);font-size:clamp(30px,2.7vw,42px);color:var(--ink);margin-bottom:16px}
.pp__d{font-size:17px;line-height:1.7;color:var(--ink2);max-width:430px;text-wrap:pretty}
.process__wave{position:absolute;left:0;right:0;bottom:12vh;width:100%;height:120px;z-index:1;pointer-events:none}
.process__wave path{fill:none;stroke:var(--mint);stroke-width:1.6;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1}
.process__bar{position:absolute;top:auto;bottom:7vh;right:8.5vw;left:8.5vw;height:2px;background:#F1DCE0;z-index:3;border-radius:2px;overflow:hidden}
.process__bar i{display:block;height:100%;width:100%;background:var(--rose-d);transform:scaleX(0);transform-origin:right}

/* ---- services + before ---- */
.services{position:relative;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:0 7vw;padding:150px 8.5vw 120px}
.services__media{position:relative}
.services__sticky{position:sticky;top:12vh;height:76vh;display:flex;align-items:flex-end;justify-content:center}
.services__disc{position:absolute;width:min(30vw,440px);aspect-ratio:1;bottom:6%;left:50%;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle at 35% 30%,#FDF0F2 0%,var(--rose-l) 60%,#F2C6CF 100%);animation:morph 22s ease-in-out infinite alternate both}
.services__sticky img{position:relative;height:100%;width:auto;max-width:100%;object-fit:contain;object-position:bottom;filter:drop-shadow(0 18px 30px rgba(184,67,95,.10))}
.svc{list-style:none;margin:48px 0 110px;border-top:1px solid #EFD9DD}
.svc__i{display:grid;grid-template-columns:90px 1fr;gap:8px 20px;padding:34px 0;border-bottom:1px solid #EFD9DD}
.svc__n{grid-row:span 2;font-family:var(--f-display);font-size:44px;line-height:1;color:var(--rose)}
.svc__t{font-family:var(--f-display);font-weight:var(--w-display);font-size:clamp(26px,2.3vw,36px);color:var(--ink)}
.svc__d{font-size:16.5px;line-height:1.7;color:var(--ink2);max-width:560px;text-wrap:pretty}
.before__list{margin-top:40px}
.before__i{display:grid;grid-template-columns:minmax(150px,.6fr) 1.4fr;gap:20px;padding:26px 0;border-top:1px solid #EFD9DD}
.before__i dt{font-family:var(--f-display);font-weight:500;font-size:22px;color:var(--rose-d)}
.before__i dd{font-size:16.5px;line-height:1.7;color:var(--ink2);text-wrap:pretty}

/* ---- reviews ---- */
.reviews{position:relative;padding:140px 0 120px;overflow:clip;background:linear-gradient(180deg,#FFFDFB,#F6FBF9 40%,#FFFDFB)}
.reviews__blob{position:absolute;width:40vw;height:40vw;right:-12vw;top:-6vw;background:radial-gradient(circle,var(--mint-l) 0%,rgba(216,241,233,0) 70%);animation:morph 26s ease-in-out infinite alternate both,drift 30s ease-in-out infinite alternate both;pointer-events:none}
.reviews__head{position:relative;display:grid;grid-template-columns:1fr minmax(0,420px);align-items:end;gap:16px 6vw;padding:0 8.5vw;margin-bottom:60px}
.reviews__head .eyebrow{grid-column:1/-1;margin:0}
.reviews__head .h2{font-size:clamp(48px,5.4vw,84px)}
.reviews__note{font-size:15px;line-height:1.65;color:var(--ink2)}
.slider{position:relative}
.rv{flex:none;width:min(62vw,880px);scroll-snap-align:start;position:relative;padding-top:70px}
.rv::before{content:"״";position:absolute;top:-30px;right:-6px;font-family:var(--f-display);font-size:170px;line-height:1;color:var(--rose-l)}
.rv__q{position:relative;font-family:var(--f-display);font-weight:400;font-size:clamp(26px,2.5vw,38px);line-height:1.45;color:var(--ink);text-wrap:pretty}
.rv__by{margin-top:26px;font-size:15px;color:var(--ink2)}
.rv__by strong{color:var(--rose-d);font-weight:600;font-size:17px}
.reviews__src{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;padding:40px 8.5vw 0;font-size:15px;color:var(--ink2)}

/* ---- beyond (teaching + organisations) ---- */
.beyond{display:grid;grid-template-columns:1fr 1fr;gap:6vw;padding:130px 8.5vw;align-items:start}
.beyond__d{font-size:17px;line-height:1.7;color:var(--ink2);margin:20px 0 34px}
.inst{list-style:none;border-top:1px solid #EFD9DD}
.inst a{display:block;padding:20px 0;border-bottom:1px solid #EFD9DD;font-family:var(--f-display);font-weight:var(--w-display);font-size:clamp(22px,1.8vw,28px);color:var(--ink);transition:color .4s,padding .5s var(--ease)}
.inst a:hover{color:var(--rose-d);padding-right:14px}
.org{position:relative;display:flex;flex-direction:column;gap:18px;padding:56px 0 56px 0;margin-top:30px;isolation:isolate}
.org::before{content:"";position:absolute;inset:0 -3vw;border-radius:50% 50% 46% 54%/56% 44% 56% 44%;background:radial-gradient(circle at 60% 40%,var(--rose-xl),rgba(252,235,238,0) 72%);z-index:-1;transform:scale(.92);transition:transform 1s var(--ease)}
.org:hover::before{transform:scale(1.04)}
.org__k{font-size:13px;font-weight:500;letter-spacing:.08em;color:var(--ink2)}
.org__t{font-family:var(--f-display);font-weight:var(--w-display2);font-size:clamp(34px,3.4vw,52px);line-height:1.12;color:var(--ink);text-wrap:balance}
.org__d{font-size:17px;line-height:1.7;color:var(--ink2);max-width:520px}
.org__cta{font-size:16px;font-weight:500;color:var(--rose-d)}
.org__cta b{display:inline-block;font-weight:400;transition:transform .5s var(--ease)}
.org:hover .org__cta b{transform:translateX(-10px)}

/* ---- guides ---- */
.guides{position:relative;padding:140px 8.5vw 120px;background:linear-gradient(180deg,#FFFDFB,var(--cream))}
.guides__head{display:grid;grid-template-columns:1.2fr .8fr;align-items:end;gap:24px 6vw;margin-bottom:60px}
.guides__title{font-family:var(--f-display);font-weight:var(--w-display);letter-spacing:var(--ls-display);font-size:clamp(56px,7vw,112px);line-height:.98;color:var(--ink)}
.guides__title span{display:block}
.guides__title2{color:var(--rose-d);padding-right:8vw}
.guides__intro{font-size:17px;line-height:1.7;color:var(--ink2);text-wrap:pretty}
.arts{list-style:none;border-top:1px solid #EFD9DD}
.art a{display:grid;grid-template-columns:110px 1fr 50px;align-items:center;gap:20px;padding:26px 0;border-bottom:1px solid #EFD9DD;transition:padding .6s var(--ease)}
.art a:hover{padding-right:18px}
.art__n{font-family:var(--f-display);font-size:30px;color:var(--rose)}
.art--new .art__n{font-family:var(--f-body);font-size:13px;font-weight:600;letter-spacing:.1em;color:var(--rose-d)}
.art__t{font-family:var(--f-display);font-weight:var(--w-display);font-size:clamp(22px,2.1vw,32px);color:var(--ink);transition:color .4s}
.art a:hover .art__t{color:var(--rose-d)}
.art b{font-weight:400;font-size:24px;color:var(--rose-d);transition:transform .5s var(--ease)}
.art a:hover b{transform:translateX(-10px)}
.art.reveal:nth-child(2){transition-delay:.05s}.art.reveal:nth-child(3){transition-delay:.1s}.art.reveal:nth-child(4){transition-delay:.15s}.art.reveal:nth-child(5){transition-delay:.2s}.art.reveal:nth-child(6){transition-delay:.25s}
.index{display:grid;grid-template-columns:260px 1fr;gap:20px 4vw;margin-top:80px}
.index__k{font-size:14px;font-weight:500;letter-spacing:.06em;color:var(--ink2);padding-top:10px}
.index__links{font-family:var(--f-display);font-weight:400;font-size:clamp(20px,1.75vw,27px);line-height:1.85;color:var(--ink)}
.index__links a{background:linear-gradient(var(--rose-d),var(--rose-d)) no-repeat 100% 92%/0 1px;transition:background-size .5s var(--ease),color .3s}
.index__links a:hover{color:var(--rose-d);background-size:100% 1px;background-position:0 92%}
.index__links a{white-space:nowrap}
.index__links i{font-style:normal;color:var(--mint);margin:0 .45em}

/* ---- share bar (aliennews style) ---- */
.share{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.share--guides{margin-top:70px;padding-top:30px;border-top:1px solid #EFD9DD}
.share__lbl{font-size:15px;color:var(--ink2);margin-inline-end:8px}
.share__native{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 18px;border-radius:30px;border:0;background:var(--rose-d);color:#fff;font:500 15px var(--f-body);cursor:pointer;transition:transform .3s var(--soft)}
.share__native svg{width:18px;height:18px}
.share__b{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1px solid #E6C3CB;background:#fff;color:var(--rose-d);cursor:pointer;transition:background .35s,color .35s,transform .35s var(--soft)}
.share__b svg{width:18px;height:18px}
.share__b:hover,.share__native:hover{transform:translateY(-2px)}
.share__b:hover{background:var(--rose-d);color:#fff;border-color:var(--rose-d)}
.share.copied [data-s="copy"]{background:var(--mint);border-color:var(--mint);color:var(--ink)}

/* ---- faq ---- */
.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:6vw;padding:130px 8.5vw}
.faq__head{position:sticky;top:120px;align-self:start}
.faq__head .h2{font-size:clamp(48px,5vw,76px)}
.qa{border-top:1px solid #EFD9DD}
.qa:last-child{border-bottom:1px solid #EFD9DD}
.qa summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px 0;cursor:pointer;font-family:var(--f-display);font-weight:var(--w-display);font-size:clamp(21px,1.8vw,27px);color:var(--ink);transition:color .3s}
.qa summary::-webkit-details-marker{display:none}
.qa summary:hover{color:var(--rose-d)}
.qa summary i{position:relative;flex:none;width:38px;height:38px;border-radius:50%;border:1px solid #E6C3CB;transition:transform .5s var(--ease),background .3s}
.qa summary i::before,.qa summary i::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:1.5px;margin:-.75px 0 0 -7px;background:var(--rose-d)}
.qa summary i::after{transform:rotate(90deg);transition:transform .5s var(--ease)}
.qa[open] summary i{transform:rotate(180deg);background:var(--rose-xl)}
.qa[open] summary i::after{transform:rotate(0)}
.qa p{font-size:17px;line-height:1.75;color:var(--ink2);padding:0 0 30px;max-width:640px;animation:qaIn .6s var(--soft)}
@keyframes qaIn{from{opacity:0;transform:translateY(-8px)}}

/* ---- contact ---- */
.contact{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:6vw;padding:150px 8.5vw 150px;overflow:clip}
.contact__blob{position:absolute;width:62vw;height:62vw;right:-16vw;top:-10vw;background:radial-gradient(circle at 50% 50%,#FBE1E6 0%,#FDEEF1 50%,rgba(253,238,241,0) 72%);animation:morph 24s ease-in-out infinite alternate both,drift 32s ease-in-out infinite alternate both;pointer-events:none}
.contact__head,.form{position:relative}
.contact__title{font-family:var(--f-display);font-weight:var(--w-display);letter-spacing:var(--ls-display);font-size:clamp(54px,6.4vw,104px);line-height:1;color:var(--rose-d);margin:14px 0 26px;text-wrap:balance}
.contact__lead{font-size:18px;line-height:1.7;color:var(--ink);margin-bottom:34px}
.contact__alt{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px}
.btn--ghost{background:transparent;color:var(--rose-d);box-shadow:inset 0 0 0 1.5px var(--rose-d);transition:color .4s}
.btn--ghost::before{background:var(--rose-d)}
.btn--ghost:hover{color:#fff}
.form{align-self:end;display:flex;flex-direction:column;gap:22px;padding-top:20px}
.field{display:flex;flex-direction:column;gap:6px}
.field span{font-size:14px;font-weight:500;color:var(--ink2)}
.field input{font:400 22px var(--f-body);color:var(--ink);background:transparent;border:0;border-bottom:1.5px solid #D9AFB9;padding:8px 0 10px;border-radius:0;transition:border-color .3s}
.field input[dir="ltr"]{text-align:right}
.field input:focus{outline:none;border-color:var(--rose-d)}
.field input:focus-visible{outline:2px solid var(--rose-d);outline-offset:6px}
.consent{display:flex;gap:12px;align-items:flex-start;font-size:15px;line-height:1.6;color:var(--ink2)}
.consent input{flex:none;width:20px;height:20px;margin-top:3px;accent-color:var(--rose-d)}
.consent a{color:var(--rose-d);text-decoration:underline;text-underline-offset:3px}
.form__note{font-size:15px;line-height:1.65;color:var(--ink2)}
.form .btn{align-self:flex-start;height:56px;padding:0 40px;border:0;cursor:pointer;font-family:var(--f-body)}
.form__small{font-size:13.5px;color:var(--ink2)}
.form__status{font-size:15px;color:var(--rose-d);min-height:1em}

/* ---- footer ---- */
.footer{position:relative;padding:110px 8.5vw 40px;background:linear-gradient(180deg,var(--cream),var(--rose-xl));overflow:clip}
.footer::before{content:"";position:absolute;top:0;right:8.5vw;left:8.5vw;height:1px;background:linear-gradient(90deg,rgba(196,83,110,0),var(--rose-l),rgba(196,83,110,0))}
.footer__grid{display:grid;grid-template-columns:1.25fr .9fr 1fr 1.6fr;gap:40px 4vw}
.fcol p{font-size:15.5px;line-height:1.8;color:var(--ink2)}
.fcol .fcol__k{font-family:var(--f-display);font-weight:500;font-size:19px;color:var(--ink);margin-bottom:10px}
.fcol a{color:var(--ink)}
.social a{margin-inline-end:14px}
.wordmark{margin:70px 0 0;padding:.12em 0 .16em;font-family:var(--f-display);font-weight:var(--w-display);letter-spacing:-.03em;line-height:1;color:var(--rose);font-size:clamp(60px,16.5vw,320px);white-space:nowrap;text-align:center;overflow:visible;max-width:100%}
.wordmark span{display:inline-block;transform:translateY(40%);opacity:0;transition:transform 1.4s var(--ease),opacity 1s}
.wordmark.in span{transform:none;opacity:1}
.footer .share{flex-wrap:nowrap}
.footer__legal{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 30px;margin-top:26px;padding-top:22px;border-top:1px solid #EBCBD2;font-size:14px;color:var(--ink2)}
.footer__legal nav{display:flex;gap:24px;flex-wrap:wrap}
.footer__legal a{color:var(--ink)}

/* ---- mobile menu ---- */
.menu{position:fixed;inset:0;z-index:120;background:var(--cream);display:flex;flex-direction:column;justify-content:center;padding:0 8vw;clip-path:circle(0% at 90% 4%);transition:clip-path .9s var(--ease);visibility:hidden}
.menu.open{clip-path:circle(150% at 90% 4%);visibility:visible}
.menu__blob{position:absolute;width:110vw;height:110vw;left:-40vw;bottom:-30vw;background:radial-gradient(circle,#FBE1E6 0%,rgba(251,225,230,0) 70%);animation:morph 20s ease-in-out infinite alternate both}
.menu__nav{position:relative;display:flex;flex-direction:column;gap:6px}
.menu__nav a{font-family:var(--f-display);font-weight:var(--w-display);font-size:40px;line-height:1.35;color:var(--ink);opacity:0;transform:translateX(-30px);transition:opacity .5s,transform .7s var(--ease)}
.menu.open .menu__nav a{opacity:1;transform:none}
.menu.open .menu__nav a:nth-child(2){transition-delay:.05s}.menu.open .menu__nav a:nth-child(3){transition-delay:.1s}.menu.open .menu__nav a:nth-child(4){transition-delay:.15s}.menu.open .menu__nav a:nth-child(5){transition-delay:.2s}.menu.open .menu__nav a:nth-child(6){transition-delay:.25s}
.menu__foot{position:relative;margin-top:40px;font-size:17px;color:var(--rose-d)}
.menu-btn{position:relative;z-index:130}
.menu-btn span{transition:transform .5s var(--ease)}
body.menu-open .menu-btn span:first-child{transform:translateY(4.25px) rotate(45deg)}
body.menu-open .menu-btn span:last-child{transform:translateY(-4.25px) rotate(-45deg)}
body.menu-open .header{position:fixed}

/* ---- mobile ---- */
@media (max-width:820px){
  .h2{font-size:clamp(34px,9.4vw,42px)}
  .about{grid-template-columns:1fr;grid-template-areas:"head" "media" "body" "facts";padding:90px 6vw 80px}
  .about__name{margin-left:0;font-size:clamp(50px,14.4vw,62px)}
  .about__media{width:78vw;justify-self:center;margin:22px 0 0}
  .about__blob{width:120vw;height:120vw;left:-50vw;top:40vw}
  .about__body{padding-top:34px}
  .facts{flex-direction:column;gap:22px;margin-top:50px}
  .fact:last-child{margin:0}
  .quote{padding:100px 6vw 110px}
  .quote__blob{width:110vw;height:110vw;margin:-55vw 0 0 -55vw}
  .quote__text{font-size:clamp(27px,7.4vw,32px);line-height:1.38}
  .process{height:auto;background:linear-gradient(180deg,#FFFDFB,var(--rose-xl) 50%,#FFFDFB)}
  .process__sticky{position:relative;height:auto;overflow:visible;display:block;padding:90px 6vw 90px}
  .process__track{display:block;transform:none!important}
  .pp,.pp--intro{width:auto;height:auto;padding:0;border:0}
  .pp{padding:34px 0 34px 0;padding-right:58px;position:relative}
  .pp::before{content:"";position:absolute;right:18px;top:0;bottom:0;width:1.5px;background:#EED3D9}
  .pp::after{content:"";position:absolute;right:18px;top:0;width:1.5px;height:calc(var(--p,0)*100%);background:var(--rose-d)}
  .pp__n{position:absolute;right:0;top:34px;width:38px;height:38px;border-radius:50%;background:var(--cream);box-shadow:inset 0 0 0 1.5px var(--rose);display:grid;place-items:center;font-size:14px;line-height:1;-webkit-text-stroke:0;color:var(--rose-d);margin:0;z-index:1;font-family:var(--f-body);font-weight:600}
  .pp__t{font-size:28px;margin-bottom:10px}
  .pp__hint,.process__wave,.process__bar{display:none}
  .pp--intro{margin-bottom:20px}
  .pp--end{padding:34px 0 0;gap:20px}
  .pp--end::before,.pp--end::after{display:none}
  .pp--end .btn{align-self:stretch;justify-content:center}

  .process__title{font-size:clamp(36px,10vw,44px)}
  .services{grid-template-columns:1fr;padding:90px 6vw 80px}
  .services__sticky{position:relative;top:auto;height:auto;padding-top:10px}
  .services__sticky img{height:auto;width:62vw}
  .services__disc{width:74vw}
  .services__media{order:2;margin:40px 0 10px}
  .services__body{display:contents}
  .services__body>.eyebrow{order:0}.services__body>.h2{order:1}.svc{order:3}.before{order:4}
  .svc{margin:30px 0 80px}
  .svc__i{grid-template-columns:54px 1fr;padding:26px 0}
  .svc__n{font-size:32px}
  .before__i{grid-template-columns:1fr;gap:6px}
  .reviews{padding:90px 0 80px}
  .reviews__head{grid-template-columns:1fr;padding:0 6vw;margin-bottom:30px}
  .reviews__head .h2{font-size:clamp(40px,11vw,46px)}
  .rv{width:82vw;padding-top:54px}
  .rv::before{font-size:120px;top:-20px}
  .rv__q{font-size:23px}
  .reviews__src{padding:30px 6vw 0}
  .beyond{grid-template-columns:1fr;padding:90px 6vw;gap:30px}
  .org{padding:40px 0}
  .guides{padding:90px 6vw 90px}
  .guides__head{grid-template-columns:1fr;margin-bottom:36px}
  .guides__title{font-size:clamp(46px,13vw,56px)}
  .guides__title2{padding-right:0}
  .art a{grid-template-columns:56px 1fr 22px;gap:12px;padding:22px 0}
  .art__n{font-size:24px}
  .art--new .art__n{font-size:12px}
  .art__t{font-size:21px;line-height:1.35}
  .art b{font-size:20px}
  .index{grid-template-columns:1fr;margin-top:56px}
  .index__links{font-size:20px;line-height:1.5}
  .index__links i{display:none}
  .footer .share{flex-wrap:wrap}
  .index__links a{display:block;padding:9px 0;border-bottom:1px solid #F0DDE1;background:none}
  .share__b{width:38px;height:38px}.share{gap:8px}.share__native{height:38px;padding:0 14px}
  .faq{grid-template-columns:1fr;padding:90px 6vw;gap:30px}
  .faq__head{position:relative;top:auto}
  .qa summary{font-size:21px;padding:24px 0}
  .contact{grid-template-columns:1fr;padding:100px 6vw 110px;gap:40px}
  .contact__title{font-size:clamp(46px,12.6vw,54px)}
  .contact__blob{width:140vw;height:140vw;right:-60vw}
  .form .btn{align-self:stretch;justify-content:center}
  .footer{padding:80px 6vw 110px}
  .footer__grid{grid-template-columns:1fr;gap:30px}
  .wordmark{margin:44px 0 0;font-size:clamp(54px,17.5vw,150px)}
  .footer__legal{flex-direction:column;align-items:flex-start}
}
@media (min-width:821px){.menu{display:none}}
@media (prefers-reduced-motion:reduce){
  .process{height:auto}
  .process__sticky{position:relative;height:auto;overflow:visible;display:block;padding:110px 8.5vw}
  .process__track{flex-wrap:wrap;transform:none!important}
  .pp{width:33%;height:auto;padding:30px 3vw}
  .pp--intro{width:100%;padding:0 0 40px}
  .process__wave,.process__bar,.pp__hint{display:none}
  .quote__text .qw{opacity:1!important}
  .wordmark span,.arch img{opacity:1!important;transform:none!important}
  .arch img{transform:translateX(-50%)!important}
  .about__ring path{stroke-dashoffset:0!important}
  .menu{transition:none}
  .title .w{transform:translateZ(70px)!important}
  @media (max-width:820px){.pp{width:100%;padding:24px 0}.process__sticky{padding:80px 6vw}}
}
.social{white-space:nowrap}
.menu__close{position:absolute;top:26px;left:5vw;width:48px;height:48px;border-radius:50%;border:1px solid #EBCBD2;background:#fff;display:grid;place-items:center;cursor:pointer}
.menu__close span{grid-area:1/1;width:20px;height:1.5px;background:var(--ink);transform:rotate(45deg)}
.menu__close span+span{transform:rotate(-45deg)}
.menu__close:focus-visible{outline:2px solid var(--rose-d);outline-offset:3px}

/* =====================================================================
   CALM PASS: delicacy + "Season Form" & "Exhale"
   eases: --e-io slow in-out, --e-out soft out
   ===================================================================== */
:root{--e-io:cubic-bezier(.76,0,.24,1);--e-out:cubic-bezier(.15,.9,.34,.95)}
body{background:var(--cream)}
.season{position:fixed;inset:0;width:100vw;height:100vh;z-index:0;pointer-events:none;opacity:0;transition:opacity 2.4s var(--e-out)}
.season.on{opacity:1}
main>section:not(.hero),.footer{position:relative;z-index:1}
.next,.about,.quote,.process,.services,.reviews,.beyond,.guides,.faq,.contact{background:transparent!important}
.footer{background:linear-gradient(180deg,rgba(255,249,245,0),rgba(252,235,238,.7))}

/* reveals: soft (no skew), with a breath of blur */
main .reveal:not(.hero *){transform:translate3d(0,26px,0);filter:blur(3px);transition:transform 1.2s var(--e-io),opacity 1.1s var(--e-out),filter 1.2s var(--e-out)}
main .reveal.in:not(.hero *){transform:none;filter:none}

/* Exhale headings: words settle like a breath out */
.ex.reveal,.ex.reveal.in{opacity:1!important;transform:none!important;filter:none!important}
.ex .xw{display:inline-block;opacity:0;filter:blur(6px);transform:translate3d(0,.18em,0);transition:opacity 1.4s var(--e-out),filter 1.4s var(--e-out),transform 1.4s var(--e-io);transition-delay:calc(var(--i,0)*80ms)}
.ex.in .xw{opacity:1;filter:none;transform:none}

/* quote words: slower, softer lighting */
.quote__text .qw{opacity:.22;transition:opacity 1.2s var(--e-out),color 1.2s}

/* process: no bar, no number fill, no nudging hint */
@media (min-width:821px){.pp.act .pp__n{color:transparent;-webkit-text-stroke-color:var(--rose)}}
.process__wave path{stroke-width:1.2;opacity:.8}

/* still backdrops (only the Season Form moves) */
.services__disc,.menu__blob{animation:none!important}

/* arch photo: full head with headroom, fills to the bottom, soft organic mask reveal */
@property --mr{syntax:"<percentage>";inherits:false;initial-value:0%}
.arch img{top:9%;bottom:auto;width:88%;transform:translateX(-50%) scale(1.04);transform-origin:50% 0;
  -webkit-mask-image:radial-gradient(ellipse 70% 62% at 50% 38%,#000 var(--mr),transparent calc(var(--mr) + 22%));mask-image:radial-gradient(ellipse 70% 62% at 50% 38%,#000 var(--mr),transparent calc(var(--mr) + 22%));
  transition:transform 1.8s var(--e-io),--mr 2s var(--e-out)}
.about__media.in .arch img{transform:translateX(-50%) scale(1);--mr:170%}
.arch{aspect-ratio:3/4.4}
.about__ring{inset:-14px;width:calc(100% + 28px);height:calc(100% + 28px)}
.about__ring path{vector-effect:non-scaling-stroke;stroke-width:1}
.services__sticky img{-webkit-mask-image:radial-gradient(ellipse 60% 70% at 50% 60%,#000 var(--mr),transparent calc(var(--mr) + 24%));mask-image:radial-gradient(ellipse 60% 70% at 50% 60%,#000 var(--mr),transparent calc(var(--mr) + 24%));transition:--mr 2.2s var(--e-out)}
.services.in .services__sticky img{--mr:170%}

/* institutions: real logos, calm strip */
.logos{list-style:none;display:flex;flex-wrap:wrap;align-items:flex-end;gap:28px 0;margin-top:6px;border-top:1px solid #EFD9DD;padding-top:34px}
.logo{flex:1 1 220px}
.logo+.logo{border-inline-start:1px solid #EFD9DD;padding-inline-start:5vw}
.logo a{display:flex;flex-direction:column;align-items:flex-start;gap:16px;color:var(--ink)}
.logo__img{display:flex;align-items:center;height:84px}
.logo__img img{height:100%;width:auto;mix-blend-mode:multiply;transition:transform .6s var(--e-out)}
.logo a:hover .logo__img img{transform:translateY(-3px)}
.logo__name{font-size:15.5px;line-height:1.5;color:var(--ink2);transition:color .4s var(--e-out)}
.logo a:hover .logo__name{color:var(--rose-d)}
.org::before{transition:transform 1.2s var(--e-io)}

/* testimonials: one voice at a time, a slow breath */
.breath{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px 7vw;align-items:center;padding:0 8.5vw}
.br__stage{display:grid;min-height:15em}
.br__q{grid-area:1/1;align-self:center;opacity:0;filter:blur(5px);transform:translate3d(0,14px,0);transition:opacity 1.4s var(--e-out),filter 1.4s var(--e-out),transform 1.6s var(--e-io);pointer-events:none}
.br__q.on{opacity:1;filter:none;transform:none;pointer-events:auto;transition-delay:.5s}
.br__q blockquote p{font-family:var(--f-display);font-weight:var(--w-display);font-size:clamp(30px,3.3vw,52px);line-height:1.38;color:var(--ink);text-wrap:balance;max-width:20em}
.br__q figcaption{margin-top:28px;font-size:15px;color:var(--ink2)}
.br__q figcaption strong{color:var(--rose-d);font-weight:600;font-size:17px}
.br__names{display:flex;flex-direction:column;gap:6px;border-inline-start:1px solid #EFD9DD;padding-inline-start:30px}
.br__n{position:relative;background:none;border:0;padding:10px 0;font:400 17px var(--f-body);color:var(--ink2);text-align:start;cursor:pointer;transition:color .5s var(--e-out)}
.br__n::before{content:"";position:absolute;inset-inline-start:-31px;top:50%;width:1px;height:0;background:var(--rose-d);transform:translateY(-50%);transition:height .9s var(--e-io)}
.br__n[aria-selected="true"]{color:var(--rose-d)}
.br__n[aria-selected="true"]::before{height:70%}
.br__n:hover{color:var(--ink)}
.br__n:focus-visible{outline:2px solid var(--rose-d);outline-offset:4px;border-radius:4px}

/* magnetic CTAs (desktop, fine pointer) */
.mag{transition:translate .9s var(--e-out)}

@media (max-width:820px){
  .logos{gap:26px 0}
  .logo{flex:1 1 40%}
  .logo+.logo{padding-inline-start:6vw}
  .logo__img{height:64px}
  .breath{grid-template-columns:1fr;padding:0 6vw;gap:26px}
  .br__stage{min-height:0}
  .br__names{flex-direction:row;flex-wrap:wrap;gap:4px 22px;border:0;border-top:1px solid #EFD9DD;padding:14px 0 0;order:-1}
  .br__n::before{inset-inline-start:0;top:auto;bottom:2px;width:0;height:1px;transform:none;transition:width .9s var(--e-io)}
  .br__n[aria-selected="true"]::before{width:100%;height:1px}
  .br__q blockquote p{font-size:27px}
}
@media (prefers-reduced-motion:reduce){
  .ex .xw,.br__q{filter:none!important;transform:none!important;transition:none!important}
  .ex .xw{opacity:1!important}
  .arch img,.services__sticky img{--mr:130%!important;-webkit-mask-image:none;mask-image:none}
  .season{transition:none}
}
.about__ring path{stroke-dasharray:1;stroke-dashoffset:1}
.about__media.in .about__ring path{stroke-dashoffset:0}

/* =====================================================================
   REFINEMENT PASS: rhythm, readable labels, balanced institutions
   ===================================================================== */
/* readable eyebrow / kicker labels everywhere */
.eyebrow{font-size:17px;font-weight:500;letter-spacing:.02em;color:var(--ink2);gap:12px;margin-bottom:18px}
.eyebrow i{flex:none;width:9px;height:9px}
.scroll-cue__txt{font-size:15px;letter-spacing:.06em}
.art--new .art__n{font-size:15px;letter-spacing:.04em}
.index__k{font-size:16px;letter-spacing:.02em}
.field span{font-size:16px}
.form__small{font-size:15px;line-height:1.6}
.footer__legal{font-size:15px}
.footer__legal p,.footer__legal small{font-size:15px}

/* institutions: head beside an intentional logo pair, organisations as a full-width band */
.beyond{display:block;padding:140px 8.5vw 130px}
.beyond__a{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 7vw;align-items:center}
.beyond__head .beyond__d{margin:22px 0 0;max-width:30em}
.logos{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;gap:0;margin:0;padding:0;border:0}
.logo{flex:none}
.logo+.logo{border-inline-start:1px solid #EFD9DD;padding-inline-start:0}
.logo a{height:100%;align-items:center;justify-content:space-between;text-align:center;gap:22px;padding:18px 3vw}
.logo__img{height:128px;width:100%;justify-content:center}
.logo__img img{height:100%;width:auto;max-width:100%;object-fit:contain}
.logo:first-child .logo__img img{height:84%}         /* wide wordmark: optically equal to the round emblem */
.logo__name{font-size:16px;max-width:15em;text-wrap:balance}
.org{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px 7vw;align-items:end;margin-top:110px;padding:56px 0 0;border-top:1px solid #EFD9DD}
.org::before{inset:-10px -4vw -40px;opacity:.7}
.org__lead,.org__body{display:flex;flex-direction:column;gap:14px}
.org__k{margin:0}
.org__body{gap:18px;padding-bottom:6px}
@media (max-width:820px){
  .eyebrow{font-size:15.5px;margin-bottom:14px}
  .beyond{padding:90px 6vw}
  .beyond__a{grid-template-columns:1fr;gap:38px}
  .logo a{padding:6px 4vw}
  .logo__img{height:96px}
  .logo__name{font-size:15px}
  .org{grid-template-columns:1fr;margin-top:70px;padding-top:40px;gap:18px}
  .art--new .art__n{font-size:15px}
}
@media (max-width:820px){.pp__n{font-size:15px!important}}
/* reviews: heading and its note read as one block; quote + names below */
.reviews__head{grid-template-columns:minmax(0,1fr);gap:0;margin-bottom:70px}
.reviews__note{max-width:34em;margin-top:22px;font-size:16px}
.reviews__src{padding-top:56px}
@media (max-width:820px){.reviews__head{margin-bottom:40px}.reviews__note{font-size:15px}}
@media (min-width:821px){.breath{grid-template-columns:minmax(0,900px) auto;justify-content:start;gap:40px 6vw}}

/* ---- privacy notice (live) ---- */
.consent-ui{position:fixed;left:5vw;bottom:24px;z-index:70;font-family:var(--f-body)}
.cnote{max-width:340px;background:rgba(255,250,246,.96);backdrop-filter:blur(8px);border:1px solid #EFD9DD;border-radius:22px;padding:18px 20px;box-shadow:0 18px 40px -24px rgba(120,60,75,.35);color:#3d2a2f;font-size:15px;line-height:1.55;animation:cnIn 1s cubic-bezier(.15,.9,.34,.95) both}
.cnote p{margin:0 0 12px}
.cnote__b{display:flex;gap:10px;flex-wrap:wrap}
.cnote__b button{font:inherit;font-weight:500;font-size:15px;min-height:44px;padding:0 20px;border-radius:40px;border:1px solid #9E3550;background:#9E3550;color:#fff;cursor:pointer}
.cnote__b .cnote__no{background:transparent;color:#9E3550}
.cnote__b button:focus-visible,.privacy-btn:focus-visible{outline:2px solid #9E3550;outline-offset:3px}
.privacy-btn{font:inherit;font-size:15px;min-height:40px;padding:0 16px;border-radius:40px;border:1px solid #EFD9DD;background:rgba(255,250,246,.9);color:#6b4a52;cursor:pointer}
@keyframes cnIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (max-width:820px){.consent-ui{left:auto;right:16px;bottom:22px}.consent-ui:has(.cnote){left:16px;bottom:88px}.cnote{max-width:none}}
@media (prefers-reduced-motion:reduce){.cnote{animation:none}}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
#info{display:block;position:relative;top:-20px}

/* scroll cue: hairline + delicate chevron (replaces the word) */
.scroll-cue{gap:6px;padding:8px 10px;color:var(--rose)}
.scroll-cue__line{height:34px;animation:none;transform:none;background:linear-gradient(rgba(196,83,110,0),rgba(196,83,110,.55))}
.scroll-cue__chev{display:block;width:18px;height:10px;color:var(--rose);opacity:.85;animation:cueBob 2.5s cubic-bezier(.45,0,.55,1) infinite}
@keyframes cueBob{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}
.scroll-cue:focus-visible{outline:1px solid var(--rose);outline-offset:4px;border-radius:12px}
@media (prefers-reduced-motion:reduce){.scroll-cue__chev{animation:none!important;transform:none!important}}
/* mobile: the privacy-settings pill sits in the page flow after the footer, so it never covers content/CTAs */
@media (max-width:820px){
  .consent-ui:not(:has(.cnote)){position:static;display:flex;justify-content:center;padding:18px 16px calc(92px + env(safe-area-inset-bottom));background:transparent}
}

/* phones: floating CTA fades out while it would cover interactive content */
@media (max-width:820px){
  .book{transition:opacity .45s var(--e-out),transform .45s var(--e-out),width .6s var(--soft) .1s}
  .book.book--aside{opacity:0!important;pointer-events:none}
}
