/* Fewer Steps — design pass. The original review CSS remains intact underneath. */
:root{--polish-ease:cubic-bezier(.22,1,.36,1);--polish-line:#d5c7b8}
html{scroll-padding-top:88px}
:where(a,button,input,textarea):focus-visible{outline:3px solid #b67548;outline-offset:4px}
.site-head{box-shadow:0 1px 0 #2b313816}
.site-head .brand img{transition:opacity .25s ease}
.site-head .brand:hover img{opacity:.78}
.btn{transition:transform .28s var(--polish-ease),box-shadow .28s var(--polish-ease),background-color .28s ease}
.text-link,.rung-link{transition:color .2s ease,border-color .2s ease}

/* Home: a real work route takes the place of a second oversized logo. */
.fog-visual{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:40px}
.fog-map{display:block;position:relative;overflow:hidden;padding:23px 24px 17px;min-height:0;background:#f4eee6;border-color:#d7c7b6}
.fog-map::before{content:"";position:absolute;inset:-25% auto auto -20%;width:78%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#dbab7a27,transparent 68%);pointer-events:none}
.fog-map-head,.fog-map-foot{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px}
.fog-map-head{font:700 11px/1.4 var(--sans);text-transform:uppercase;letter-spacing:.1em;color:#6f503c}
.fog-map-head span:last-child{color:#866b5b}
.fog-map-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:11px;white-space:nowrap}
.fog-map-drawing{position:relative;display:block;width:100%;height:auto;margin:21px 0 10px;filter:drop-shadow(0 7px 8px #8f663520)}
.fog-map-legend{position:relative;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px 22px;margin:2px 0 15px;color:#565c5d;font:600 11px/1.25 var(--sans)}
.fog-map-legend span{display:inline-flex;align-items:center;gap:8px}
.fog-map-legend i{display:inline-block;width:29px;height:0;border-top:4px solid #ae6d43;border-radius:6px}
.fog-map-legend .fog-key-loop{border-top:4px dashed #9da3a1}
.fog-map-foot{padding-top:15px;border-top:1px solid #cdbba7}
.fog-map-foot span{font:700 11px/1.3 var(--sans);text-transform:uppercase;letter-spacing:.06em;color:#8d4e2a;text-align:center}
.fog-map-foot span:first-child{text-align:left}.fog-map-foot span:last-child{text-align:right}
.fog-map .fog-route{stroke-dasharray:600;stroke-dashoffset:0}

/* The two routes have distinct graphic signatures without adding paragraphs. */
.path-card{isolation:isolate;overflow:hidden;box-shadow:0 10px 30px #2b31380b;transition:transform .38s var(--polish-ease),box-shadow .38s var(--polish-ease)}
.path-top{margin-bottom:13px}
.path-mini{height:113px;margin:0 0 17px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;border-bottom:1px solid #d6c8b9}
.path-mini svg{width:100%;height:76px;max-width:450px;overflow:visible}
.path-mini svg path{fill:none;stroke-linecap:round;stroke-linejoin:round}
.path-mini-muted{stroke:#bdc1be;stroke-width:5;stroke-dasharray:7 10}
.path-mini-active{stroke:#b67548;stroke-width:5}
.path-mini-business circle{fill:#a6643b}
.path-mini-business circle:first-of-type{fill:#2b3138}
.path-mini span{font:700 10px/1.35 var(--sans);letter-spacing:.09em;text-transform:uppercase;color:#8e5433;padding-bottom:10px}
.path-mini b{color:#2b3138;padding:0 5px}
.path-mini-personal{justify-content:flex-end;background:radial-gradient(circle at 72% 70%,#e7d2bc60,transparent 46%)}
.mini-stairs{display:flex;align-items:end;gap:7px;height:72px;width:80%;margin-left:3px}
.mini-stairs i{display:block;flex:1;height:23%;background:linear-gradient(145deg,#ddba98,#a9643d);box-shadow:5px 5px 0 #2b31381c}
.mini-stairs i:nth-child(2){height:42%}.mini-stairs i:nth-child(3){height:64%}.mini-stairs i:nth-child(4){height:88%}

/* Show the price as part of each learning step, with planned offers still marked as interest lists. */
.class-grid>div:first-child p.class-price{display:inline-flex;align-items:baseline;gap:6px;margin:0 0 16px;padding:9px 13px;background:#f3e9df;border-left:3px solid #b67548;color:#644933;font:600 13px/1.4 var(--sans)}
.class-price strong{font:700 21px/1.1 var(--serif);color:#8d4e2a}
.learning-rung .rung-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 9px;margin:12px 0 9px;color:#755036}
.rung-price b{font:700 21px/1.1 var(--serif);color:#8d4e2a;white-space:nowrap}
.rung-price span{font:600 11px/1.35 var(--sans);color:#687074}
.rung-monthly .rung-price b{color:#efb887}.rung-monthly .rung-price span{color:#d9d7d3}

/* Business assessment: an editorial introductory rate, without a sale badge. */
.assessment-heading .assessment-price{min-width:210px;text-align:right;border-top:2px solid #b67548;padding-top:13px}
.assessment-price .assessment-price-label{display:block;margin-bottom:5px;color:#8d4e2a;font:700 11px/1.35 var(--sans);letter-spacing:.11em;text-transform:uppercase}
.assessment-price b{font:700 clamp(58px,6vw,76px)/1 var(--serif);color:#8d4e2a}
.assessment-price .assessment-price-standard,.assessment-price .assessment-price-unit{display:block;margin-top:7px;color:#65696b;font:500 13px/1.4 var(--sans);letter-spacing:0;text-transform:none}
.assessment-price .assessment-price-unit{margin-top:2px;font-size:11px}
@media(max-width:800px){.assessment-heading .assessment-price{display:inline-block;text-align:left;margin:18px 0 4px}}

/* Business: show the shape of the paid deliverable instead of repeating the mark. */
.assessment-visual.report-preview{display:block;position:relative;overflow:hidden;min-height:0;margin:38px 0 42px;padding:38px 38px 30px;background:radial-gradient(circle at 85% 15%,#b8794a24,transparent 42%),#eae1d5;border:1px solid #d7c7b5}
.report-preview::before{content:"";position:absolute;inset:0;background-image:linear-gradient(#a2775430 1px,transparent 1px),linear-gradient(90deg,#a2775430 1px,transparent 1px);background-size:26px 26px;opacity:.28;pointer-events:none}
.report-stack{position:relative;width:min(100%,720px);margin:0 auto 22px;padding:0 20px 16px 0}
.report-sheet-back{position:absolute;inset:15px 0 0 22px;background:#dfcbb8;border:1px solid #c8b29d;transform:rotate(2deg);box-shadow:0 22px 36px #342c2540}
.report-sheet{position:relative;background:#fffdfa;padding:27px 30px 29px;border-top:5px solid #b67548;box-shadow:0 10px 25px #342c2525;transform:rotate(-1deg)}
.report-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:13px;border-bottom:1px solid #d7c9bd;color:#865330;font:700 10px/1.3 var(--sans);letter-spacing:.11em}
.report-sheet-head b{white-space:nowrap}
.report-kicker{margin:23px 0 5px!important;color:#865330!important;font:700 10px/1.3 var(--sans)!important;letter-spacing:.11em;text-transform:uppercase}
.report-sheet h3{font-size:clamp(27px,3vw,37px);line-height:1.12;margin:0 0 23px;max-width:18ch}
.report-workflow{display:flex;align-items:center;gap:10px;margin-bottom:24px}
.report-workflow span{display:block;flex:1;background:#f4eee6;border:1px solid #d9cbbc;padding:11px 8px;text-align:center;color:#4e5251;font:700 11px/1.3 var(--sans)}
.report-workflow span:nth-of-type(2){background:#f2ddc8;border-color:#b67548;color:#7d492a}
.report-workflow i{width:20px;height:2px;background:#a8653b;position:relative;flex-shrink:0}
.report-workflow i::after{content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;border-top:2px solid #a8653b;border-right:2px solid #a8653b;transform:rotate(45deg)}
.report-opportunities{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.report-opportunities div{display:flex;align-items:center;gap:8px;padding-top:11px;border-top:2px solid #b67548;color:#4f5659;font:600 11px/1.35 var(--sans)}
.report-opportunities b{font:700 20px/1 var(--serif);color:#a8653b}
.report-preview-caption{position:relative;display:flex;justify-content:center;gap:0;flex-wrap:wrap;text-align:center}
.report-preview-caption span{padding:4px 16px;color:#4a4d4c;font:600 12px/1.4 var(--sans)}
.report-preview-caption span+span{border-left:1px solid #b8a590}
.report-preview-caption b{font-weight:700;color:#8e5030}
.report-preview-caption{gap:8px}
.report-preview-caption span,.report-preview-caption span+span{flex:1 1 0;min-width:0;padding:10px 6px;border:1px solid #d2c2b0;background:#fffaf4}
.report-preview-caption b{display:block;margin-bottom:3px;font:600 19px/1.1 var(--serif)}

/* Personal class: papers on a working table make the exercise tangible. */
.class-practice{padding:0;overflow:hidden;background:#eae1d5;border-color:#d3c3b2}
.class-practice-head{padding:22px 27px 18px;background:#2b3138;color:#fff}
.class-practice-head span,.class-practice-outcome span{display:block;margin-bottom:8px;color:#e4a873;font:700 10px/1.4 var(--sans);letter-spacing:.12em}
.class-practice-head strong{font:600 24px/1.2 var(--serif)}
.class-practice-board{position:relative;height:365px;background:radial-gradient(circle at 42% 50%,#f3e8dc,transparent 63%),repeating-linear-gradient(90deg,transparent 0 23px,#c1b29f25 24px 25px),#e9dfd2}
.practice-note{position:absolute;width:51%;min-height:185px;background:#fffdfa;border:1px solid #d3c5b8;border-top:4px solid #2b3138;padding:17px 17px 20px;box-shadow:0 14px 22px #2b313829;transform:rotate(-5deg)}
.practice-note span{display:block;color:#9b5a34;font:700 9px/1.3 var(--sans);letter-spacing:.1em;margin-bottom:12px}
.practice-note b{display:block;font:600 20px/1.15 var(--serif);color:#2b3138;max-width:14ch}
.practice-note i{display:block;height:5px;background:#d8d2ca;margin-top:16px;width:82%}
.practice-note i+i{width:57%;margin-top:8px}
.practice-note-one{left:7%;top:27px;z-index:1}
.practice-note-two{left:37%;top:72px;z-index:2;border-top-color:#b67548;transform:rotate(4deg)}
.practice-note-two i{background:#e3bf9c}
.practice-note-three{left:16%;top:199px;z-index:3;border-top-color:#b67548;transform:rotate(-2deg);min-height:145px;background:#fbf4e9}
.practice-check{position:absolute;right:15px;bottom:14px;display:grid;place-items:center;width:37px;height:37px;background:#b67548;color:#fff;border-radius:50%;font:700 22px var(--sans)}
.class-practice-outcome{background:#fffdfa;padding:20px 27px 24px;border-top:1px solid #d3c3b2}
.class-practice-outcome span{color:#8e5030;margin-bottom:4px}
.class-practice-outcome strong{font:600 22px/1.2 var(--serif);color:#2b3138}

/* Review controls let visitors see an intentional motion graphic again in context. */
.visual-replay{appearance:none;position:relative;z-index:5;border:1px solid #ad704b;background:#fffaf4;color:#894b2a;padding:5px 8px;font:700 10px/1.1 var(--sans);letter-spacing:0;text-transform:none;white-space:nowrap;cursor:pointer;transition:background-color .2s ease,color .2s ease}
.visual-replay:hover{background:#a8653b;color:#fff}
.visual-replay:focus-visible{outline:3px solid #2b3138;outline-offset:3px}
.report-replay{position:absolute;top:9px;right:11px}
.class-replay{position:absolute;top:14px;right:14px}

/* Small interface refinements, including the signup journey. */
.learning-rung{transition:box-shadow .35s var(--polish-ease),border-color .35s ease}
.jp-offer,.jp-plan{transition:transform .22s var(--polish-ease),box-shadow .22s var(--polish-ease),border-color .22s ease}
.jp-hero-path span{position:relative}
.jp-hero-path span:not(:last-child)::after{content:"";position:absolute;left:10px;top:26px;height:18px;width:1px;background:#b67548}
.jp-result-action{box-shadow:0 8px 24px #2b313813}
.polish-guide{border-left:4px solid #b67548}

@media (hover:hover) and (prefers-reduced-motion:no-preference){
  .btn:hover{transform:translateY(-2px);box-shadow:0 9px 20px #151b2140}
  .path-card:hover,.polish-motion .path-card.is-visible:hover{transform:translateY(-5px);box-shadow:0 22px 48px #2b313822}
  .learning-rung:hover{box-shadow:0 17px 32px #2b313821;border-color:#bc8c66}
  .jp-offer:hover,.jp-plan:hover{transform:translateY(-2px);box-shadow:0 7px 18px #2b31381a}
}

/* Motion only reinforces entry and the path through a section. No looping motion. */
@media (prefers-reduced-motion:no-preference){
  .polish-motion .polish-reveal{opacity:.7;transform:translateY(8px);transition:opacity .45s var(--polish-ease),transform .45s var(--polish-ease);transition-delay:var(--reveal-delay,0ms)}
  .polish-motion .polish-reveal.is-visible{opacity:1;transform:translateY(0)}
  .polish-motion .fog-map .fog-route{stroke-dashoffset:600}
  .polish-motion .fog-map.is-visible .fog-route{stroke-dashoffset:0;transition:stroke-dashoffset 1.15s var(--polish-ease) .25s}
  .polish-motion .fog-map.motion-active .fog-map-foot span{animation:motion-label-in .46s var(--polish-ease) both}
  .polish-motion .fog-map.motion-active .fog-map-foot span:nth-child(1){animation-delay:.44s}
  .polish-motion .fog-map.motion-active .fog-map-foot span:nth-child(2){animation-delay:.67s}
  .polish-motion .fog-map.motion-active .fog-map-foot span:nth-child(3){animation-delay:.9s}
  .polish-motion .hero-card-stack .workflow-stage:not(.after) .workflow-steps span{animation:motion-chip-in .34s var(--polish-ease) both}
  .polish-motion .hero-card-stack .workflow-stage:not(.after) .workflow-steps span:nth-child(1){animation-delay:.59s}
  .polish-motion .hero-card-stack .workflow-stage:not(.after) .workflow-steps span:nth-child(2){animation-delay:.67s}
  .polish-motion .hero-card-stack .workflow-stage:not(.after) .workflow-steps span:nth-child(3){animation-delay:.75s}
  .polish-motion .hero-card-stack .workflow-stage:not(.after) .workflow-steps span:nth-child(4){animation-delay:.83s}
  .polish-motion .hero-card-stack .workflow-stage:not(.after) .workflow-steps span:nth-child(5){animation-delay:.91s}
  .polish-motion .hero-card-stack .workflow-arrow{animation:motion-chip-in .38s var(--polish-ease) 1.02s both}
  .polish-motion .hero-card-stack .workflow-stage.after .workflow-steps span{animation:motion-chip-in .38s var(--polish-ease) both}
  .polish-motion .hero-card-stack .workflow-stage.after .workflow-steps span:nth-child(1){animation-delay:1.15s}
  .polish-motion .hero-card-stack .workflow-stage.after .workflow-steps span:nth-child(2){animation-delay:1.28s}
  .polish-motion .hero-card-stack .workflow-stage.after .workflow-steps span:nth-child(3){animation-delay:1.41s}
  .polish-motion .hero-card-stack .workflow-foot{animation:motion-chip-in .4s var(--polish-ease) 1.56s both}
  .polish-motion .path-mini-active{stroke-dasharray:500;stroke-dashoffset:500}
  .polish-motion .path-card.is-visible .path-mini-active{stroke-dashoffset:0;transition:stroke-dashoffset 1.05s var(--polish-ease) .18s}
  .polish-motion .path-card.is-visible .mini-stairs i{animation:motion-step-up .55s var(--polish-ease) both}
  .polish-motion .path-card.is-visible .mini-stairs i:nth-child(2){animation-delay:.13s}
  .polish-motion .path-card.is-visible .mini-stairs i:nth-child(3){animation-delay:.26s}
  .polish-motion .path-card.is-visible .mini-stairs i:nth-child(4){animation-delay:.39s}
  .polish-motion .report-preview.motion-active .report-sheet{animation:motion-report-in .75s var(--polish-ease) both}
  .polish-motion .report-preview.motion-active .report-workflow span{animation:motion-label-in .48s var(--polish-ease) both}
  .polish-motion .report-preview.motion-active .report-workflow span:nth-of-type(1){animation-delay:.46s}
  .polish-motion .report-preview.motion-active .report-workflow span:nth-of-type(2){animation-delay:.63s}
  .polish-motion .report-preview.motion-active .report-workflow span:nth-of-type(3){animation-delay:.8s}
  .polish-motion .report-preview.motion-active .report-opportunities div{animation:motion-label-in .45s var(--polish-ease) both}
  .polish-motion .report-preview.motion-active .report-opportunities div:nth-child(1){animation-delay:.95s}
  .polish-motion .report-preview.motion-active .report-opportunities div:nth-child(2){animation-delay:1.08s}
  .polish-motion .report-preview.motion-active .report-opportunities div:nth-child(3){animation-delay:1.21s}
  .polish-motion .report-preview.motion-active .report-preview-caption span{animation:motion-label-in .4s var(--polish-ease) both}
  .polish-motion .report-preview.motion-active .report-preview-caption span:nth-child(1){animation-delay:1.25s}
  .polish-motion .report-preview.motion-active .report-preview-caption span:nth-child(2){animation-delay:1.36s}
  .polish-motion .report-preview.motion-active .report-preview-caption span:nth-child(3){animation-delay:1.47s}
  .polish-motion .class-practice.motion-active .practice-note{animation:motion-note-one .7s var(--polish-ease) both}
  .polish-motion .class-practice.motion-active .practice-note-two{animation-name:motion-note-two;animation-delay:.28s}
  .polish-motion .class-practice.motion-active .practice-note-three{animation-name:motion-note-three;animation-delay:.58s}
  .polish-motion .class-practice.motion-active .practice-check{animation:motion-check-in .42s var(--polish-ease) .97s both}
  .polish-motion .stack-brand-card{animation:brand-card-enter .85s var(--polish-ease) both}
  .polish-motion .hero-card-stack .workflow-card{animation:workflow-card-enter .9s var(--polish-ease) .15s both}
  .polish-motion .hero-ladder li{animation:ladder-step-enter .65s var(--polish-ease) both}
  .polish-motion .hero-ladder li:nth-child(4){animation-delay:.12s}.polish-motion .hero-ladder li:nth-child(3){animation-delay:.23s}.polish-motion .hero-ladder li:nth-child(2){animation-delay:.34s}.polish-motion .hero-ladder li:nth-child(1){animation-delay:.45s}
  .jp-result:not([hidden]){animation:result-enter .45s var(--polish-ease) both}
  @keyframes brand-card-enter{from{opacity:0;transform:translate(18px,-11px) rotate(6deg)}to{opacity:1;transform:rotate(3deg)}}
  @keyframes workflow-card-enter{from{opacity:0;transform:translate(-18px,15px) rotate(-5deg)}to{opacity:1;transform:rotate(-2deg)}}
  @keyframes ladder-step-enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
  @keyframes result-enter{from{opacity:.5;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
  @keyframes motion-label-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
  @keyframes motion-step-up{from{opacity:0;transform:scaleY(.18)}to{opacity:1;transform:scaleY(1)}}
  @keyframes motion-report-in{from{opacity:0;transform:translateY(28px) rotate(3deg)}to{opacity:1;transform:translateY(0) rotate(-1deg)}}
  @keyframes motion-note-one{from{opacity:0;transform:translate(-35px,18px) rotate(-13deg)}to{opacity:1;transform:rotate(-5deg)}}
  @keyframes motion-note-two{from{opacity:0;transform:translate(38px,20px) rotate(13deg)}to{opacity:1;transform:rotate(4deg)}}
  @keyframes motion-note-three{from{opacity:0;transform:translate(-12px,38px) rotate(-8deg)}to{opacity:1;transform:rotate(-2deg)}}
  @keyframes motion-check-in{from{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}
  @keyframes motion-chip-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .polish-reveal{opacity:1!important;transform:none!important}
  .fog-map .fog-route{stroke-dashoffset:0!important}
  .visual-replay{display:none!important}
}

@media(max-width:800px){
  .fog-visual{grid-template-columns:1fr}
  .assessment-visual.report-preview{padding:28px 20px 23px}
  .class-practice-board{height:350px}
  .path-mini{height:107px}
}
@media(max-width:600px){
  .fog-map{padding:17px 14px 14px}.fog-map-head{font-size:8px;flex-wrap:wrap}.fog-map-foot span{font-size:8px}.fog-map-legend{font-size:9px;gap:8px 13px}.fog-map-legend i{width:22px}
  .path-mini{margin-bottom:12px}.path-mini svg{height:65px}
  .report-stack{padding-right:11px}.report-sheet{padding:18px 16px 20px}.report-sheet-head{font-size:7px}.report-sheet h3{font-size:27px}
  .report-workflow{gap:5px}.report-workflow span{font-size:9px;padding:8px 4px}.report-workflow i{width:10px}.report-opportunities{grid-template-columns:1fr;gap:0}.report-opportunities div{display:flex;gap:10px;padding:7px 0;font-size:11px;border-top:1px solid #d1bea9}.report-opportunities b{display:block;margin:0;font-size:17px}
  .report-preview-caption span{font-size:9px;padding:9px 4px}.report-preview-caption b{font-size:15px}
  .class-practice-board{height:315px}.practice-note{padding:13px;min-height:152px;width:57%}.practice-note b{font-size:16px}.practice-note-one{left:5%;top:18px}.practice-note-two{left:38%;top:55px}.practice-note-three{left:15%;top:181px;min-height:128px}
  .class-practice-head strong{font-size:21px}.class-practice-outcome strong{font-size:19px}
  .polish-motion .hero-card-stack .workflow-card{animation:none}
}

.first-step .intake-actions{margin-top:24px}.first-step .intake-actions .text-link{color:#fff}
.first-step .booking-fallback{margin:14px 0 0;font-size:14px;color:#e7dfd7}.first-step .booking-fallback a{color:#fff;text-underline-offset:3px}

