.portal-heading{position:relative;z-index:1;max-width:820px;margin:0 auto;text-align:center}
.p-home #why-now.portal-section h2{font:400 clamp(34px,4vw,52px)/1.2 var(--f);letter-spacing:-.04em;margin:0 0 30px;text-align:center}
.portal-quote{max-width:690px;margin:0 auto}.portal-quote blockquote{font:350 clamp(21px,2.2vw,28px)/1.65 var(--f);letter-spacing:-.015em;margin:0}.portal-quote figcaption{font:400 11px/1.5 var(--f);letter-spacing:.2em;text-transform:uppercase;margin-top:18px}
.portal-invitation{position:relative;max-width:780px;margin:12px auto 0;padding:40px 0 0;text-align:center;background:none}.portal-invitation:before{content:'';display:block;width:110px;height:1px;background:#36585155;margin:0 auto 30px}.p-home .portal-invitation h3{font:400 clamp(27px,3vw,35px)/1.35 var(--f);letter-spacing:-.025em;margin:0 0 20px}.portal-invitation>p{max-width:625px;margin:0 auto;font:400 16px/1.8 var(--f)}.portal-links{display:flex;justify-content:center;align-items:center;gap:36px;margin-top:28px}.portal-book,.portal-write{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;font:400 13px/1.5 var(--f);text-decoration:none;transition:background .2s}.portal-book{background:var(--navy);color:#fff;padding:18px 25px;border:1px solid var(--navy)}.portal-book:hover{background:#254459}.portal-write{color:var(--navy);border-bottom:1px solid #0e2e4770;padding:12px 0}.portal-links a:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.p-home #why-now.portal-section h2{max-width:none;width:100%}
/* Ordinary document flow is the baseline, including when JavaScript is unavailable. */
body.p-home{overflow-x:clip}
.p-home #why-now.portal-section{position:relative;overflow:visible;background:var(--fln-ivory,#f6f2eb);padding:75px 0 70px;color:var(--navy)}
.portal-heading{padding:0 25px;margin-bottom:48px}
.portal-invitation{padding:40px 25px 0;margin:12px auto 0}
.canyon-track{position:relative;background:#10212c;overflow-anchor:none;color:#faf5eb}
.canyon-scene{position:relative;isolation:isolate;min-height:100svh;overflow:hidden;background:#10212c}
.canyon-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:53% 35%;transform-origin:53% 30%;z-index:-2}
.canyon-scene::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(6,22,35,.96),rgba(6,22,35,.72) 43%,rgba(6,22,35,.12) 85%)}
.canyon-copy{padding:160px 7% 80px;max-width:950px;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;gap:28px;box-sizing:border-box}
.canyon-copy p,.canyon-beat p{margin:0;font:400 clamp(22px,2.5vw,34px)/1.5 var(--f);letter-spacing:-.025em}
.canyon-copy .canyon-statement,.canyon-beat .canyon-statement{font-size:clamp(34px,4.5vw,64px);line-height:1.15;margin-bottom:20px}
.canyon-copy .canyon-after,.canyon-beat .canyon-after{font-size:clamp(19px,2vw,27px);line-height:1.5;max-width:650px}
.canyon-motion{position:absolute;top:max(24px,env(safe-area-inset-top));right:clamp(20px,4vw,64px);z-index:3;border:1px solid #fff8;border-radius:28px;background:#10212ce6;color:#faf5eb;padding:12px 20px;min-height:44px;font:400 12px/1.5 var(--f);cursor:pointer;touch-action:manipulation}
.canyon-motion[hidden]{display:none}.canyon-motion:focus-visible{outline:3px solid #fff;outline-offset:5px}
.canyon-beats,.canyon-progress{display:none}
.canyon-track[data-active]{height:300svh}
.canyon-track[data-active] .canyon-scene{position:sticky;top:0;height:100svh;min-height:0}
.canyon-track[data-active] .canyon-copy{position:absolute;width:1px;height:1px;min-height:0;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.canyon-track[data-active] .canyon-beats{position:absolute;display:grid;left:7%;right:7%;bottom:max(86px,calc(env(safe-area-inset-bottom) + 60px));max-width:880px}
.canyon-beat{grid-area:1/1;align-self:end;opacity:0;pointer-events:none}
.canyon-beat:first-child{opacity:1}
.canyon-track[data-active] .canyon-progress{position:absolute;display:flex;align-items:center;gap:14px;left:7%;bottom:max(26px,calc(env(safe-area-inset-bottom) + 16px));font:400 10px/1.5 var(--f);letter-spacing:.15em;text-transform:uppercase}
.canyon-progress-line{display:block;width:110px;height:2px;background:#ffffff45}.canyon-progress-line i{display:block;height:100%;background:#faf5eb;transform:scaleX(var(--canyon-progress,0));transform-origin:left}
@media(max-width:700px){
.p-home #why-now.portal-section{padding:50px 0 55px}.p-home #why-now.portal-section h2{font-size:34px;line-height:1.2;margin-bottom:25px}
.portal-heading{margin-bottom:32px}.portal-quote blockquote{font-size:22px;line-height:1.6}.portal-quote figcaption{margin-top:15px}
.portal-invitation{padding-top:28px}.portal-invitation>p{font-size:15px}.portal-links{gap:22px;flex-wrap:wrap;margin-top:24px}.portal-book{padding:16px 22px;gap:25px}.p-home .portal-invitation h3{font-size:28px}
.canyon-track[data-active]{height:250svh}.canyon-image{object-position:53% 32%}.canyon-copy{padding:130px 25px 70px;gap:26px}.canyon-copy p,.canyon-beat p{font-size:clamp(21px,5.5vw,27px)}
.canyon-track[data-active] .canyon-beats{left:25px;right:25px}.canyon-copy .canyon-statement,.canyon-beat .canyon-statement{font-size:clamp(32px,8.5vw,44px)}.canyon-copy .canyon-after,.canyon-beat .canyon-after{font-size:19px}
.canyon-track[data-active] .canyon-progress{left:25px}
}
/* The controller removes pinning when OS motion preferences change. */
@media(prefers-reduced-motion:reduce){.canyon-image{transform:none!important}.canyon-motion{display:none!important}}

/* The title and quote now open the same journey, directly over the canyon. */
.p-home #why-now.portal-section{padding-top:0}
.p-home #why-now.portal-section .canyon-opening h2{font:400 clamp(36px,4.5vw,64px)/1.18 var(--f);letter-spacing:-.035em;color:#faf5eb;text-align:left;max-width:none;margin:0 0 26px}
.canyon-quote{margin:0;max-width:620px}.canyon-quote blockquote{margin:0;font:400 clamp(20px,2vw,27px)/1.55 var(--f);letter-spacing:-.015em}.canyon-quote figcaption{font:400 10px/1.5 var(--f);letter-spacing:.18em;text-transform:uppercase;margin-top:18px}
.canyon-copy .canyon-opening{margin-bottom:28px}
@media(max-width:700px){.p-home #why-now.portal-section .canyon-opening h2{font-size:36px;max-width:330px;margin-bottom:22px}.canyon-quote blockquote{font-size:21px}}

/* Each sentence begins on its own line, with natural wrapping on phones. */
.canyon-poem>span{display:block}.canyon-poem>span+span{margin-top:.4em}

/* Invitation links share the site's restrained editorial CTA styling. */
.p-home .portal-links{gap:36px;flex-wrap:wrap}
.p-home .portal-links a{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:space-between;min-height:44px;min-width:0;width:auto;padding:0 0 8px;gap:12px;border:0;border-bottom:1px solid rgba(14,46,71,.3);border-radius:0;background:transparent;color:var(--navy);box-shadow:none;font:400 10px/normal var(--f);letter-spacing:.15em;text-transform:uppercase;transition:border-color .3s}
.p-home .portal-links a:hover{background:transparent;border-bottom-color:var(--navy)}
.portal-links .invitation-mini{width:52px;height:52px;object-fit:contain;flex:none}
@media(max-width:480px){.p-home .portal-links{flex-direction:column;gap:22px}.p-home .portal-links a{max-width:100%}}
@media(prefers-reduced-motion:reduce){.p-home .portal-links a{transition:none}}

/* Miniature-object interactions: one gesture per hover or keyboard focus. */
.mini-scene{position:relative;display:block;width:64px;height:52px;flex:none;perspective:180px}
.calendar-scene>.invitation-mini{margin-left:6px}
.calendar-leaf{position:absolute;left:18px;top:15px;width:32px;height:30px;border-radius:4px 5px 6px 4px;background:linear-gradient(120deg,#fffaf0,#e4d9c5);border:1px solid #d3c3a3;box-shadow:0 2px 3px #392b2933;transform-origin:50% 0;transform:rotate(-8deg);opacity:0}
.calendar-leaf svg{width:100%;height:100%;fill:none;stroke:#b09562;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.pen-scene{width:80px}
.pen-ink{position:absolute;inset:0;width:80px;height:52px;fill:none;stroke:#91754e;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.pen-ink path{stroke-dasharray:1;stroke-dashoffset:1;opacity:0}
.pen-scene>.invitation-mini{position:absolute;left:24px;top:0}
.portal-links a:hover .mini-scene>.invitation-mini{transform:none}
.portal-book:is(:hover,:focus-visible) .calendar-leaf{animation:calendar-turn 1.1s ease-in-out both}
.portal-write:is(:hover,:focus-visible) .pen-scene>.invitation-mini{left:0;top:0;offset-path:path('M6 43 C10 33 12 47 17 40 S21 46 26 39 S30 46 35 40 L42 40');offset-anchor:8% 92%;offset-rotate:0deg;animation:pen-write 1.5s linear both}
.portal-write:is(:hover,:focus-visible) .pen-ink path{animation:ink-write 1.5s linear both}
@keyframes calendar-turn{0%{opacity:1;transform:rotate(-8deg) rotateX(0)}35%{opacity:1;transform:rotate(-8deg) rotateX(65deg)}75%{opacity:.9;transform:rotate(-8deg) rotateX(160deg)}100%{opacity:0;transform:rotate(-8deg) rotateX(180deg)}}
@keyframes pen-write{from{offset-distance:0%}to{offset-distance:100%}}
@keyframes ink-write{0%{opacity:1;stroke-dashoffset:1}100%{opacity:1;stroke-dashoffset:0}}
html[data-motion="paused"] .portal-links .calendar-leaf,html[data-motion="paused"] .portal-links .pen-ink path{animation:none;opacity:0}
html[data-motion="paused"] .portal-links .pen-scene>.invitation-mini{animation:none;offset-path:none;left:24px;top:0}
@media(prefers-reduced-motion:reduce){.portal-links .calendar-leaf,.portal-links .pen-ink path{animation:none!important;opacity:0!important}.portal-links .pen-scene>.invitation-mini{animation:none!important;offset-path:none!important;left:24px!important;top:0!important}}

/* Scale the whole object stage so the ink and paper remain aligned. */
.portal-links .mini-scene{transform:scale(.65);transform-origin:right center;margin-left:-22px;margin-top:-9px;margin-bottom:-9px}
.portal-links .pen-scene{margin-left:-28px}

/* The reserve link reuses the site's fine arrow and four-pixel movement. */
.portal-book.go:focus-visible i{transform:translateX(4px)}
html[data-motion="paused"] .portal-book.go i{transform:none;transition:none}
@media(prefers-reduced-motion:reduce){.portal-book.go i{transform:none!important;transition:none}}

/* One shallow water channel joins the two invitations. */
.p-home #ascend.water-connection{position:relative;isolation:isolate;display:grid;grid-template-columns:1.4fr 1fr;grid-template-rows:auto auto;column-gap:16%;row-gap:130px;min-height:56vw;box-sizing:border-box;padding:7% 8% 7% 11.3%;overflow:hidden;color:var(--navy);background:#f6f2eb}
.connection-water{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1;pointer-events:none}
.p-home #ascend .ascend-head{grid-column:1;grid-row:1;margin:0;text-align:left;max-width:none}
.p-home #ascend .ascend-head h2{text-align:left!important;font:400 clamp(46px,4.2vw,72px)/1.15 var(--f);letter-spacing:-.045em;margin:0 0 22px;text-transform:none}
.p-home #ascend .ascend-head>p{font:400 clamp(17px,1.4vw,24px)/1.5 var(--f);margin:0;max-width:550px;text-wrap:pretty}
.p-home #ascend .ascend-head .go{margin-top:24px;font-size:10px;letter-spacing:.15em}
.ascend-reflection{position:absolute;left:11.3%;top:40%;font:400 clamp(46px,4.2vw,72px)/1.15 var(--f);letter-spacing:-.045em;transform:scaleY(-1);color:#0e2e4724;filter:blur(1px);mask-image:linear-gradient(transparent,#000 80%);pointer-events:none}
.p-home #ascend .portal-invitation{grid-column:2;grid-row:2;margin:0;padding:0;text-align:left;max-width:none}
.p-home #ascend .portal-invitation::before{display:none}
.p-home #ascend .portal-invitation h3{text-align:left!important;font:400 clamp(30px,3.1vw,52px)/1.2 var(--f);letter-spacing:-.04em;text-transform:none;margin:0 0 24px}
.p-home #ascend .portal-invitation>p{font:400 clamp(16px,1.25vw,21px)/1.6 var(--f);margin:0;max-width:470px}
.p-home #ascend .portal-links{justify-content:flex-start;gap:30px;margin-top:26px}
@media(min-width:1800px){.p-home #ascend.water-connection{row-gap:170px}}
@media(max-width:1000px) and (min-width:701px){.p-home #ascend.water-connection{column-gap:9%;padding:8%;row-gap:100px}.ascend-reflection{left:8%;top:42%}.p-home #ascend .portal-links{gap:12px}}
@media(max-width:700px){
.p-home #ascend.water-connection{display:block;padding:64px 28px 64px;min-height:0;background:#f6f2eb}
.connection-water{height:420px;top:170px;object-position:48% center;mask-image:linear-gradient(transparent,#000 24%,#000 65%,transparent)}
.p-home #ascend .ascend-head{max-width:440px}.p-home #ascend .ascend-head h2{font-size:46px;margin-bottom:20px}.p-home #ascend .ascend-head>p{font-size:17px}
.ascend-reflection{left:28px;top:310px;font-size:46px}
.p-home #ascend .portal-invitation{margin:240px 0 0 auto;max-width:420px}.p-home #ascend .portal-invitation h3{font-size:34px;margin-bottom:22px}.p-home #ascend .portal-invitation>p{font-size:16px}
.p-home #ascend .portal-links{flex-direction:row;align-items:center;gap:24px}.p-home #ascend .portal-links a{font-size:9px}
}

/* The Higgsfield sandstone film connects the invitations through a moving landscape. */
.p-home #ascend.water-connection{row-gap:260px}
.connection-film{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;mask-image:linear-gradient(transparent 7%,#000 32%,#000 68%,transparent 94%)}
.connection-film::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 74% 64% at 8% 5%,#f6f2eb 35%,transparent 85%),radial-gradient(ellipse 65% 70% at 98% 100%,#f6f2eb 35%,transparent 90%)}
.connection-film .connection-water{z-index:auto;object-position:center}
.p-home #ascend .ascend-reflection{display:none}
@media(max-width:700px){.p-home #ascend.water-connection{row-gap:0}.connection-film{top:250px;height:290px;bottom:auto;mask-image:linear-gradient(transparent,#000 22%,#000 78%,transparent)}.connection-film::after{display:none}.connection-film .connection-water{top:0;height:100%;mask-image:none;object-position:52% center}.p-home #ascend .portal-invitation{margin-top:290px}}


/* Two coaching paths share the sandstone landscape and discovery invitation. */
.p-home #ascend.two-paths{display:block;min-height:0;padding:80px 8% 80px 11.3%}
.p-home #ascend.two-paths .ascend-head{max-width:1120px}
.p-home #ascend.two-paths .ascend-head h2{font-size:clamp(38px,4.2vw,64px);max-width:900px}
.p-home #ascend.two-paths .paths-introduction{font:400 clamp(18px,1.5vw,23px)/1.6 var(--f);max-width:680px;margin:0;color:var(--navy)}
.coaching-paths{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-top:48px}
.p-home #ascend.two-paths .coaching-path h3{font:400 clamp(25px,2.4vw,36px)/1.25 var(--f);letter-spacing:-.025em;margin:0 0 20px;color:var(--navy);text-align:left;text-transform:none}
.p-home #ascend.two-paths .coaching-path p{font:400 clamp(17px,1.4vw,21px)/1.65 var(--f);margin:0;max-width:500px}
.p-home #ascend.two-paths .connection-film{position:relative;inset:auto;z-index:0;height:clamp(300px,32vw,470px);margin:24px -10% 12px -14%;mask-image:linear-gradient(transparent,#000 22%,#000 78%,transparent)}
.p-home #ascend.two-paths .connection-film::after{display:none}
.p-home #ascend.two-paths .connection-water{inset:0;height:100%;mask-image:none;object-position:52% center}
.p-home #ascend.two-paths .portal-invitation{max-width:590px;margin:0 0 0 auto}
.p-home #ascend.two-paths .portal-invitation>p{max-width:560px}
.p-home #ascend.two-paths .portal-links{flex-wrap:wrap}
@media(max-width:700px){
  .p-home #ascend.two-paths{padding:64px 28px}
  .p-home #ascend.two-paths .ascend-head h2{font-size:38px}
  .coaching-paths{grid-template-columns:1fr;gap:36px;margin-top:36px}
  .p-home #ascend.two-paths .connection-film{height:290px;margin:20px -28px 12px}
  .p-home #ascend.two-paths .portal-invitation{margin:0;max-width:none}
  .p-home #ascend.two-paths .portal-links{align-items:flex-start;flex-direction:column;gap:20px}
}
