/* Shared page design */

/* Features: the thought, the record, the review. */
.fp-hero{grid-template-columns:1fr 1fr;gap:64px;padding-block:58px 65px}.features-page h1{font-size:clamp(52px,5.7vw,86px);letter-spacing:-.055em;line-height:1.035;overflow-wrap:normal}.fp-lead{max-width:480px;font-size:18px}.fp-hero .fp-small{font-size:14px}.product-stage{min-width:0;position:relative}.stage-top{display:flex;justify-content:space-between;gap:16px;align-items:center}.stage-scene{position:relative;height:520px;isolation:isolate;display:flex;align-items:center;justify-content:center}.stage-orbit{position:absolute;width:95%;aspect-ratio:1;border:1px solid #26374380;border-radius:50%;background:radial-gradient(ellipse,#16374680,transparent 67%);z-index:-1}.stage-orbit:before,.stage-orbit:after{content:"";position:absolute;inset:13%;border:1px solid #26374360;border-radius:50%}.stage-orbit:after{inset:26%}.stage-phone{height:440px;width:auto;max-width:52%;object-fit:contain;transform:translateX(52px) rotate(6deg);border-radius:20px;box-shadow:12px 30px 75px #0009;transition:transform .6s cubic-bezier(.2,.7,.2,1)}.stage-note{position:absolute;left:0;bottom:45px;width:min(330px,72%);padding:24px;border:1px solid #64dbf44d;border-radius:14px;background:#0d1c26f5;backdrop-filter:blur(12px);box-shadow:0 20px 55px #0006}.stage-note p{font-size:22px;line-height:1.4;letter-spacing:-.025em;margin:15px 0}.stage-meta{font-size:13px;color:var(--muted);display:block}.voice-wave{display:flex;height:40px;align-items:center;gap:4px;margin:16px 0 8px}.voice-wave i{height:calc(var(--h)*.65);width:3px;background:var(--cyan);border-radius:4px;transform-origin:center;animation:wave-in 900ms both;animation-delay:var(--delay)}@keyframes wave-in{from{transform:scaleY(.15);opacity:.3}to{transform:scaleY(1);opacity:1}}.stage-scene[data-scene=organise] .stage-phone{transform:translateX(65px) rotate(0deg)}.stage-scene[data-scene=review] .stage-phone{transform:translateX(45px) rotate(-5deg)}.stage-scene[data-scene=organise] .voice-wave i{height:4px;width:10px}.stage-scene[data-scene=review] .voice-wave i{border-radius:2px;width:8px}.stage-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.features-page .stage-controls button{border:0;border-top:1px solid var(--border);border-radius:0;background:transparent;text-align:left;padding:16px 4px;font-size:16px;color:var(--muted)}.features-page .stage-controls button[aria-pressed=true]{border-color:var(--cyan);color:var(--text)}.stage-controls span{font:12px var(--mono);margin-right:10px;color:var(--cyan)}.stage-footnote{text-align:center;font-size:12px;color:var(--muted);margin-top:6px}
.feature-jump{position:sticky;top:89px;z-index:15;background:#070e14f5;backdrop-filter:blur(16px);padding:0;gap:0}.feature-jump a{padding:20px 0;display:flex;align-items:center;gap:18px;border-bottom:2px solid transparent;transition:color .2s,border-color .2s}.feature-jump a span{font:12px var(--mono);color:#7796a8}.feature-jump a[aria-current=true]{border-bottom-color:var(--cyan);color:var(--cyan)}.fp-section{scroll-margin-top:170px}.fp-heading{margin-bottom:60px}.fp-heading h2{font-size:clamp(35px,3.7vw,54px)}.capture-grid{align-items:start;grid-template-columns:.9fr 1.1fr;gap:80px}.capture-copy article{border-left:1px solid var(--border);padding-left:24px}.capture-copy article:first-child{border-color:var(--cyan)}.capture-copy article:first-child h3{font-size:clamp(32px,3.4vw,48px)}.capture-copy p{max-width:370px}.demo-pad{background:linear-gradient(145deg,#132732,#0b171f);padding:32px;box-shadow:0 24px 80px #0003}.note-icon{font-size:60px;color:#64dbf460;font-family:Georgia,serif;line-height:.7;margin-top:15px}.sample-note{padding-block:16px 26px}.sample-note .tiny-label{display:none}.sample-note p{font-size:24px}.structured-label{font:12px var(--mono);color:var(--cyan);display:flex;gap:12px;flex-wrap:wrap;justify-content:space-between;border-top:1px solid var(--border);padding-top:24px;margin-top:24px}.structured-label span{color:var(--muted);font:13px var(--font)}#sample-fields:not([hidden]){animation:field-in .3s both}@keyframes field-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.chart-feature{grid-template-columns:.85fr 1.3fr;padding:40px;background:#0b171f;border:1px solid var(--border);border-radius:20px;gap:45px}.chart-feature figure{transition:transform .35s}.chart-feature:has(.annotation-toggle[aria-pressed=true]) figure{transform:translateY(-8px)}.chart-feature figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}.chart-feature figcaption span{color:var(--cyan);font:12px var(--mono)}.chart-context{font-size:14px;line-height:1.8}.analytics-feature{gap:70px}.analytics-demo{background:linear-gradient(150deg,#142630,#0a151d);box-shadow:0 18px 60px #0002}.analytics-demo .stat-grid{gap:12px}.stat-grid strong{font-size:clamp(27px,3vw,42px)}.bar-chart{height:200px;background:repeating-linear-gradient(to top,transparent 0,transparent 39px,#26374360 40px);gap:28px;padding-inline:15px}.bar-chart i{background:linear-gradient(to top,color-mix(in srgb,var(--bar-color),transparent 75%),var(--bar-color));border-top:2px solid var(--bar-color)}.bar-chart span{text-align:center;width:100%}.bar-value{display:block;font:12px var(--mono);text-align:center;line-height:1.5;margin-bottom:6px;color:var(--muted);font-weight:400}.calendar-key{font-size:12px;display:flex;gap:14px;flex-wrap:wrap;margin-top:12px}.calendar-key span:first-child{color:var(--cyan)}.calendar-key span:nth-child(2){color:#dc8e95}.day-detail{min-height:105px}.feature-panel{padding:32px;transition:border-color .25s}.feature-panel:hover{border-color:#446779}.trade-timeline details{position:relative;padding:22px 0}.trade-timeline details[open] summary{color:var(--cyan)}.check-progress{height:3px;background:var(--border);border-radius:5px;overflow:hidden}.check-progress i{display:block;height:100%;width:50%;background:var(--cyan);transition:width .3s}.playbook input:checked+span{color:var(--cyan)}.daily-review{margin-top:30px;padding:40px;background:radial-gradient(ellipse at 80% 50%,#12364655,transparent 65%);border-block:1px solid var(--border)}.daily-review .review-prompt>p{font-size:clamp(25px,2.7vw,38px);line-height:1.3;letter-spacing:-.03em}.review-prompt .next-prompt{margin-right:20px}.features-page .text-link{background:transparent;border:0;border-radius:0;padding-left:0;color:var(--cyan)}.mood-note{min-height:78px}.utility-grid .feature-panel{padding:27px}.mobile-feature{overflow:hidden}.features-page .mobile-feature img{display:block;width:min(300px,100%);height:auto;max-width:100%;margin:26px auto 20px;transform:none;filter:none;box-shadow:none;border-radius:0;image-rendering:auto}.fp-closing{background:radial-gradient(ellipse at 50% 100%,#173d4b70,transparent 65%)}
@media(max-width:1000px){.fp-hero{gap:30px}.stage-note{padding:20px}.stage-note p{font-size:20px}.capture-grid{gap:35px}.chart-feature{padding:28px;gap:30px}.feature-jump a{gap:10px}.stage-top{flex-wrap:wrap}.stage-scene{height:470px}.stage-phone{height:390px}.bar-chart{gap:16px}}
@media(max-width:760px){.fp-hero{grid-template-columns:1fr;padding-block:38px 32px;gap:34px}.features-page h1{font-size:clamp(46px,12vw,64px);margin-top:18px}.fp-hero .fp-actions{gap:16px}.stage-top{gap:8px}.stage-top .tiny-label{font-size:12px;letter-spacing:.03em}.stage-scene{height:415px}.stage-phone{height:360px;max-width:56%;transform:translateX(40px) rotate(6deg)}.stage-note{bottom:20px;max-width:255px;width:74%;padding:19px}.stage-note p{font-size:21px}.stage-note .tiny-label{font-size:12px;letter-spacing:.02em}.stage-meta{font-size:12px}.stage-orbit{width:100%}.stage-controls span{margin-right:6px}.features-page .stage-controls button{font-size:14px;padding-block:14px}.stage-footnote{font-size:12px}.feature-jump{top:calc(64px + env(safe-area-inset-top,0px));grid-template-columns:repeat(4,1fr);width:100%;padding-inline:20px;border-inline:0}.feature-jump a{display:flex;flex-direction:column;gap:2px;font-size:12px;padding:11px 2px;align-items:center}.feature-jump a span{font-size:12px}.fp-section{scroll-margin-top:146px}.fp-heading{margin-bottom:35px}.capture-grid,.chart-feature,.analytics-feature{grid-template-columns:1fr;gap:30px}.capture-copy article:first-child h3{font-size:36px}.capture-copy{gap:28px}.demo-pad,.feature-panel{padding:22px}.sample-note p{font-size:21px}.chart-feature{padding:24px 20px;margin-top:45px}.chart-feature h3{font-size:30px}.bar-chart{height:170px;gap:12px;padding-inline:4px}.bar-value{font-size:12px}.stat-grid strong{font-size:25px}.daily-review{padding:28px 0;margin-top:0}.review-prompt>p{min-height:125px}.utility-grid .feature-panel{padding:24px}.day-detail{min-height:116px}.fp-closing h2{font-size:37px}.features-page .mini-calendar button{min-height:36px}.mood-note{min-height:74px}}
@media(prefers-reduced-motion:reduce){.stage-phone,.chart-feature figure,.check-progress i,.feature-panel,.feature-jump a{transition:none}.voice-wave i,#sample-fields:not([hidden]){animation:none}}
@media(max-width:760px){.stat-grid>div>span{min-height:38px}.stage-controls button:focus-visible{outline-offset:2px}}

/* Two compact utility cards beside the full-height mobile showcase. */
@media(min-width:761px){
  .features-page .utility-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:24px;align-items:start;}
  .features-page .utility-grid>.feature-panel:first-child{grid-column:1;grid-row:1;}
  .features-page .utility-grid>.mobile-feature{grid-column:2;grid-row:1 / 3;align-self:stretch;}
  .features-page .utility-grid>.feature-panel:last-child{grid-column:1;grid-row:2;}
}
/* Let the mobile mockup fill its card, with the caption at the foot. */
.features-page .mobile-feature{display:flex;flex-direction:column;}
.features-page .mobile-feature img{width:min(390px,100%);flex:0 0 auto;}
.features-page .mobile-feature>.fp-small{display:block;margin-top:auto;padding-top:8px;}
/* The phone fills available space without determining desktop row height. */
@media(min-width:761px){
  .features-page .utility-grid>.mobile-feature{position:relative;min-height:0;height:100%;}
  .features-page .mobile-feature img{position:absolute;inset:0;width:100%;height:100%;max-width:100%;margin:0;object-fit:contain;}
  .features-page .mobile-phone-space{position:relative;flex:1 1 0;min-height:0;margin:24px 0 16px;}
}
