:root{--p-ink:#1f2a26;--p-ink-soft:#55625c;--p-ink-mute:#8b978f;--p-bone:#fbfaf8;--p-shell:#f2efe9;--p-line:#e2ded5;--p-green:#2f5d4f;--p-green-deep:#23473c;--p-green-tint:#e6efea;--p-sand:#cdb89a;--p-red:#a6432f;--p-red-tint:#f6e4df;--p-radius:12px;--p-radius-sm:8px;--p-shadow:0 1px 3px #1f2a2612;--p-shadow-lift:0 12px 30px #1f2a261f;--p-brand:"Jost", "Century Gothic", sans-serif;--p-ui:"Inter", system-ui, sans-serif}*{box-sizing:border-box}body{background:var(--p-shell);color:var(--p-ink);font-family:var(--p-ui);margin:0;font-size:15px;line-height:1.55}button,input{font-family:inherit;font-size:inherit;color:inherit}button{cursor:pointer}.booting{text-align:center;color:var(--p-ink-mute);padding:4rem}.brand{font-family:var(--p-brand);letter-spacing:.04em;font-size:1.3rem;font-weight:400}.brand span{letter-spacing:.3em;text-transform:lowercase;color:var(--p-sand);margin-left:.35rem;font-size:.68rem;font-weight:300}.signin{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:100vh;display:grid}.signin-panel{background:var(--p-bone);place-items:center end;padding:3rem 3rem 3rem clamp(2rem,6vw,5rem);display:grid}.signin-inner{flex-direction:column;gap:1.4rem;width:100%;max-width:22rem;display:flex}.signin form{flex-direction:column;gap:1rem;display:flex}.signin label{letter-spacing:.06em;text-transform:uppercase;color:var(--p-ink-mute);flex-direction:column;gap:.35rem;font-size:.78rem;font-weight:600;display:flex}.signin label span{text-align:right}.signin input{border:1px solid var(--p-line);border-radius:var(--p-radius-sm);letter-spacing:normal;text-transform:none;color:var(--p-ink);background:#fff;padding:.7rem .85rem;font-size:1rem}.signin input:focus{border-color:var(--p-green);outline:none}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.signin-error{border-radius:var(--p-radius-sm);background:var(--p-red-tint);color:var(--p-red);margin:0;padding:.6rem .8rem;font-size:.88rem}.signin-art{background:linear-gradient(150deg, var(--p-green-deep), var(--p-green));color:#fff;align-items:center;padding:3rem clamp(2rem,5vw,4rem);display:flex}.signin-art-inner{max-width:26rem}.signin-art-eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--p-sand);margin:0 0 .6rem;font-size:.72rem;font-weight:600}.signin-art h1{font-family:var(--p-brand);letter-spacing:.01em;margin:0 0 1rem;font-size:clamp(2rem,4vw,3rem);font-weight:300}.signin-art p{color:#ffffffd1;margin:0}@media (width<=880px){.signin{grid-template-columns:1fr}.signin-panel{place-items:center start;padding:2.5rem 2rem}.signin-art{order:-1;padding:2.5rem 2rem}}.portal-header{background:var(--p-bone);border-bottom:1px solid var(--p-line);align-items:center;gap:2rem;padding:1rem clamp(1rem,4vw,3rem);display:flex}.portal-header nav{gap:.3rem;margin-right:auto;display:flex}.portal-header nav button{color:var(--p-ink-soft);background:0 0;border:none;border-radius:999px;padding:.45rem .9rem;font-size:.92rem}.portal-header nav button:hover{background:var(--p-shell)}.portal-header nav button.active{background:var(--p-green-tint);color:var(--p-green-deep);font-weight:600}.portal-who{color:var(--p-ink-soft);align-items:center;gap:.9rem;font-size:.88rem;display:flex}.portal-who button{border:1px solid var(--p-line);color:var(--p-ink-soft);background:0 0;border-radius:999px;padding:.35rem .7rem;font-size:.82rem}.portal-who button:hover{border-color:var(--p-ink-mute);color:var(--p-ink)}@media (width<=700px){.portal-header{flex-wrap:wrap;gap:.8rem 1rem;padding:.85rem 1rem}.portal-header nav{order:3;justify-content:space-between;width:100%;margin-right:0}.portal-who{gap:.6rem;margin-left:auto}.portal-who span{text-overflow:ellipsis;white-space:nowrap;max-width:9rem;overflow:hidden}}main{max-width:1180px;margin:0 auto;padding:2rem clamp(1rem,4vw,3rem) 4rem}.portal-note{text-align:center;color:var(--p-ink-mute);padding:2.5rem 0}.portal-error{border-radius:var(--p-radius-sm);background:var(--p-red-tint);color:var(--p-red);margin:.6rem 0;padding:.6rem .8rem;font-size:.88rem}.home>section,.training>section{margin-bottom:5rem}.reveal{opacity:0;transition:opacity .5s,transform .5s cubic-bezier(.22,1,.36,1);transform:translateY(14px)}.reveal-in{opacity:1;transform:none}.hero{--px:.5;--py:.5;border-radius:var(--p-radius);background:linear-gradient(140deg, var(--p-green-deep), var(--p-green));color:#fff;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;gap:2rem;min-height:26rem;padding:3.5rem clamp(1.5rem,4vw,3.5rem);display:grid;position:relative;overflow:hidden}.hero:before{content:"";background:radial-gradient(38rem 38rem at calc(var(--px) * 100%) calc(var(--py) * 100%), #cdb89a38, #cdb89a00 60%);pointer-events:none;transition:background .2s ease-out;position:absolute;inset:0}.hero-copy,.hero-art{position:relative}.hero-eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--p-sand);margin:0 0 .7rem;font-size:.72rem;font-weight:600}.hero h1{font-family:var(--p-brand);margin:0 0 .6rem;font-size:clamp(1.9rem,4vw,3rem);font-weight:300;line-height:1.1}.hero-lead{color:#ffffffd9;max-width:30rem;margin:0 0 1.8rem}.hero-art{transform:translate3d(calc((var(--px) - .5) * -22px), calc((var(--py) - .5) * -14px), 0);justify-content:center;transition:transform .3s cubic-bezier(.22,1,.36,1);display:flex}.hero-art img{object-fit:contain;border-radius:var(--p-radius);background:#fff;width:100%;max-width:13.5rem;height:19rem;padding:1.25rem;box-shadow:0 20px 40px #00000042}.hero-action{background:var(--p-sand);color:var(--p-green-deep);border:none;border-radius:999px;padding:.8rem 1.7rem;font-weight:600;transition:background .14s,transform .14s}.hero-action:hover{background:#ddc9ad;transform:translateY(-1px)}.statement{text-align:center;padding:1rem 0}.statement p{max-width:34rem;font-family:var(--p-brand);color:var(--p-ink);margin:0 auto;font-size:clamp(1.3rem,2.6vw,1.9rem);font-weight:300;line-height:1.35}.ranges h2,.shelf h2,.courses h2,.closer h2{font-family:var(--p-brand);margin:0 0 1.6rem;font-size:1.5rem;font-weight:400}.range-grid{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1.2rem;display:grid}.range-card{border:1px solid var(--p-line);border-radius:var(--p-radius);background:var(--p-bone);flex-direction:column;transition:transform .2s cubic-bezier(.22,1,.36,1),box-shadow .2s,opacity .5s;display:flex;overflow:hidden}.range-card:hover{box-shadow:var(--p-shadow-lift);transform:translateY(-4px)}.range-photo{border-bottom:1px solid var(--p-line);background:#fff;height:11rem;padding:1.2rem;overflow:hidden}.range-photo img{object-fit:contain;width:100%;height:100%;transition:transform .32s cubic-bezier(.22,1,.36,1)}.range-card:hover .range-photo img{transform:scale(1.06)}.range-body{padding:1.1rem 1.2rem 1.3rem}.range-line{letter-spacing:.12em;text-transform:uppercase;color:var(--p-sand);margin:0 0 .3rem;font-size:.7rem;font-weight:600}.range-body h3{font-family:var(--p-brand);margin:0 0 .5rem;font-size:1.2rem;font-weight:400}.range-body p{color:var(--p-ink-soft);margin:0;font-size:.9rem}.shelf-strip{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:1rem;display:grid}.shelf-item{border-radius:var(--p-radius);text-align:center;flex-direction:column;align-items:center;gap:.6rem;padding:1rem .75rem;transition:background .18s,transform .18s cubic-bezier(.22,1,.36,1),opacity .5s;display:flex}.shelf-item:hover{background:var(--p-bone);transform:translateY(-3px)}.shelf-item img{object-fit:contain;border-radius:var(--p-radius-sm);background:#fff;width:100%;height:7rem;padding:.5rem}.shelf-item span{color:var(--p-ink-soft);font-size:.82rem;line-height:1.35}.shelf-more{text-align:center;margin-top:1.6rem}.text-action{color:var(--p-green);text-underline-offset:.3em;background:0 0;border:none;padding:.4rem 0;font-size:.95rem;font-weight:600;text-decoration:underline;text-decoration-thickness:1px}.text-action:hover{color:var(--p-green-deep)}.assurance{border-top:1px solid var(--p-line);grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1.8rem;padding-top:2rem;display:grid}.assurance h3{margin:0 0 .3rem;font-size:.95rem}.assurance p{color:var(--p-ink-soft);margin:0;font-size:.88rem}.closer{text-align:center;padding:3rem 1.5rem 1rem}.closer h2{margin-bottom:1.3rem;font-size:clamp(1.5rem,3vw,2.1rem)}@media (width<=780px){.hero{text-align:center;grid-template-columns:1fr;min-height:0}.hero-lead{margin-inline:auto}.hero-art{order:-1;transform:none}.home>section{margin-bottom:3.5rem}}@media (prefers-reduced-motion:reduce){.reveal,.reveal-in{opacity:1;transition:none;transform:none}.hero:before,.hero-art,.hero-action,.range-card,.range-photo img,.shelf-item{transition:none}.hero-art,.hero-action:hover,.range-card:hover,.shelf-item:hover,.range-card:hover .range-photo img{transform:none}}.hero-pill{letter-spacing:.12em;color:#ffffffb8;border:1px solid #cdb89a8c;border-radius:999px;margin-left:.55rem;padding:.2em .65em;font-size:.62rem;display:inline-block}.hero.training-hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.hero-art.training-stack{align-items:center;gap:.85rem;transform:none}.hero-art.training-stack img{width:100%;max-width:9rem;height:13rem;transform:translate3d(calc((var(--px) - .5) * var(--depth) * -1px), calc((var(--py) - .5) * var(--depth) * -.6px), 0) translateY(calc(var(--lift) * -1));padding:1rem;transition:transform .3s cubic-bezier(.22,1,.36,1);box-shadow:0 18px 36px #0000003d}.course-grid{grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:1.2rem;display:grid}.course-card{border:1px solid var(--p-line);border-radius:var(--p-radius);background:var(--p-bone);flex-direction:column;transition:transform .2s cubic-bezier(.22,1,.36,1),box-shadow .2s,opacity .5s;display:flex;overflow:hidden}.course-card:hover{box-shadow:var(--p-shadow-lift);transform:translateY(-4px)}.course-photo{border-bottom:1px solid var(--p-line);background:#fff;height:11rem;padding:1.2rem;position:relative;overflow:hidden}.course-photo img{object-fit:contain;width:100%;height:100%;transition:transform .32s cubic-bezier(.22,1,.36,1)}.course-card:hover .course-photo img{transform:scale(1.06)}.course-tag{background:var(--p-shell);color:var(--p-ink-mute);border-radius:999px;padding:.22em .65em;font-size:.66rem;font-weight:600;position:absolute;top:.7rem;right:.7rem}.course-tag.required{background:var(--p-green-tint);color:var(--p-green-deep)}.course-body{padding:1.1rem 1.2rem 1.3rem}.course-line{letter-spacing:.12em;text-transform:uppercase;color:var(--p-sand);margin:0 0 .3rem;font-size:.7rem;font-weight:600}.course-body h3{font-family:var(--p-brand);margin:0 0 .5rem;font-size:1.2rem;font-weight:400}.course-blurb{color:var(--p-ink-soft);margin:0;font-size:.9rem}.course-meta{border-top:1px solid var(--p-line);grid-template-columns:auto minmax(0,1fr);gap:.25rem .8rem;margin:1rem 0 0;padding-top:.85rem;display:grid}.course-meta dt{letter-spacing:.1em;text-transform:uppercase;color:var(--p-ink-mute);padding-top:.15rem;font-size:.62rem;font-weight:600}.course-meta dd{color:var(--p-ink-soft);margin:0;font-size:.82rem}.spotlight{border:1px solid var(--p-line);border-radius:var(--p-radius);background:var(--p-bone);grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);align-items:center;gap:clamp(1.5rem,4vw,3.5rem);padding:clamp(1.8rem,3vw,2.8rem);display:grid}.spotlight-art img{object-fit:contain;width:100%;max-width:15rem;height:16rem;margin:0 auto;animation:5s ease-in-out infinite alternate spotlight-float;display:block}@keyframes spotlight-float{0%{transform:translateY(-6px)}to{transform:translateY(6px)}}.spotlight h2{font-family:var(--p-brand);margin:0 0 .5rem;font-size:clamp(1.6rem,3vw,2.2rem);font-weight:400}.spotlight-lead{color:var(--p-ink-soft);margin:0 0 1.3rem}.spotlight-modules{counter-reset:module;margin:0;padding:0;list-style:none}.spotlight-modules li{counter-increment:module;border-top:1px solid var(--p-line);color:var(--p-ink-soft);padding:.6rem 0 .6rem 2.2rem;font-size:.9rem;position:relative}.spotlight-modules li:before{content:counter(module);text-align:center;width:1.4rem;color:var(--p-sand);font-size:.72rem;font-weight:600;position:absolute;top:.6rem;left:0}.path{border-top:1px solid var(--p-line);grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1.8rem;padding-top:2rem;display:grid}.path-number{font-family:var(--p-brand);color:var(--p-sand);margin-bottom:.4rem;font-size:1.4rem;font-weight:300;display:block}.path h3{margin:0 0 .3rem;font-size:.95rem}.path p{color:var(--p-ink-soft);margin:0;font-size:.88rem}.closer-note{color:var(--p-ink-soft);margin:0}@media (width<=780px){.hero.training-hero{grid-template-columns:1fr}.hero-art.training-stack img{max-width:6.5rem;height:9.5rem;transform:none}.spotlight{grid-template-columns:1fr}.spotlight-art{order:-1}.training>section{margin-bottom:3.5rem}}@media (prefers-reduced-motion:reduce){.hero-art.training-stack img,.course-card,.course-photo img{transition:none}.hero-art.training-stack img{transform:translateY(calc(var(--lift) * -1))}.course-card:hover,.course-card:hover .course-photo img{transform:none}.spotlight-art img{animation:none}}.shop{grid-template-columns:minmax(0,1fr) 19rem;align-items:start;gap:2rem;display:grid}.shop-head{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.shop-head h2{margin:0}.shop-search{border:1px solid var(--p-line);background:#fff;border-radius:999px;width:min(18rem,50%);padding:.5rem .85rem}.shop-search:focus{border-color:var(--p-green);outline:none}.shop-grid{grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:1rem;display:grid}.shop-card{border:1px solid var(--p-line);border-radius:var(--p-radius);box-shadow:var(--p-shadow);background:#fff;flex-direction:column;padding:.9rem;transition:box-shadow .14s,border-color .14s;display:flex}.shop-card:hover{box-shadow:var(--p-shadow-lift)}.shop-card.in-cart{border-color:var(--p-green)}.shop-card.out{opacity:.55}.shop-card img,.shop-card-noimage{object-fit:contain;width:100%;height:8rem;margin-bottom:.7rem}.shop-card-noimage{border-radius:var(--p-radius-sm);background:var(--p-shell)}.shop-card h3{margin:0 0 .35rem;font-size:.9rem;font-weight:600;line-height:1.35}.shop-card-price{font-variant-numeric:tabular-nums;color:var(--p-green-deep);margin:0 0 .7rem;font-size:1rem;font-weight:600}.shop-card-price small{color:var(--p-ink-mute);font-size:.7rem;font-weight:500}.shop-card-out{color:var(--p-ink-mute);margin:0;font-size:.8rem}.shop-stepper{align-items:center;gap:.6rem;margin-top:auto;display:flex}.shop-stepper button{border:1px solid var(--p-line);width:1.9rem;height:1.9rem;color:var(--p-green-deep);background:#fff;border-radius:50%;font-size:1.1rem;line-height:1}.shop-stepper button:hover:not(:disabled){border-color:var(--p-green);background:var(--p-green-tint)}.shop-stepper button:disabled{opacity:.35;cursor:not-allowed}.shop-stepper span{text-align:center;font-variant-numeric:tabular-nums;min-width:1.2rem}.basket{border:1px solid var(--p-line);border-radius:var(--p-radius);background:var(--p-bone);box-shadow:var(--p-shadow);flex-direction:column;gap:.9rem;padding:1.2rem;display:flex;position:sticky;top:1.5rem}.basket h3{font-family:var(--p-brand);margin:0;font-size:1.15rem;font-weight:400}.basket-empty{color:var(--p-ink-mute);margin:0;font-size:.88rem}.basket ul{max-height:40vh;margin:0;padding:0;list-style:none;overflow-y:auto}.basket li{border-bottom:1px solid var(--p-line);grid-template-columns:minmax(0,1fr) auto;gap:.15rem .6rem;padding:.6rem 0;font-size:.85rem;display:grid}.basket-name{grid-column:1/-1}.basket-qty{color:var(--p-ink-mute);font-variant-numeric:tabular-nums;align-items:center;gap:.45rem;display:flex}.basket-qty button{width:1.4rem;height:1.4rem;color:var(--p-ink-soft);background:0 0;border:none;border-radius:50%;font-size:1rem;line-height:1}.basket-qty button:hover:not(:disabled){background:var(--p-green-tint);color:var(--p-green-deep)}.basket-total{text-align:right;font-variant-numeric:tabular-nums}.basket-sum{text-transform:uppercase;letter-spacing:.06em;color:var(--p-ink-mute);justify-content:space-between;align-items:baseline;margin:0;padding-top:.6rem;font-size:.82rem;display:flex}.basket-sum strong{font-variant-numeric:tabular-nums;text-transform:none;letter-spacing:normal;color:var(--p-ink);font-size:1.15rem}.basket-sum small{color:var(--p-ink-mute);font-size:.7rem}.basket-place{border-radius:var(--p-radius-sm);background:var(--p-green);color:#fff;border:none;padding:.7rem 1rem;font-weight:600}.basket-place:hover:not(:disabled){background:var(--p-green-deep)}.basket-place:disabled{background:var(--p-ink-mute);cursor:not-allowed}.basket-note{color:var(--p-ink-mute);margin:0;font-size:.75rem}@media (width<=900px){.shop{grid-template-columns:1fr}.basket{position:static}}.order-list{flex-direction:column;gap:.9rem;margin:0;padding:0;list-style:none;display:flex}.order-card{border:1px solid var(--p-line);border-radius:var(--p-radius);background:var(--p-bone);border-left-width:3px;padding:1rem 1.2rem}.order-waiting{border-left-color:var(--p-sand)}.order-busy{border-left-color:var(--p-green)}.order-done{border-left-color:var(--p-green-deep)}.order-off{border-left-color:var(--p-line)}.order-card-head{align-items:baseline;gap:.7rem;margin-bottom:.6rem;display:flex}.order-status{border-radius:999px;padding:.12rem .6rem;font-size:.72rem;font-weight:600}.order-status-waiting{color:#6b5227;background:#f4ecdf}.order-status-busy,.order-status-done{background:var(--p-green-tint);color:var(--p-green-deep)}.order-status-off{background:var(--p-shell);color:var(--p-ink-mute)}.order-date{color:var(--p-ink-mute);margin-left:auto;font-size:.8rem}.order-lines{color:var(--p-ink-soft);margin:0 0 .7rem;padding:0;font-size:.85rem;list-style:none}.order-lines li{font-variant-numeric:tabular-nums;justify-content:space-between;gap:1rem;padding:.15rem 0;display:flex}.order-total{border-top:1px solid var(--p-line);text-transform:uppercase;letter-spacing:.06em;color:var(--p-ink-mute);justify-content:space-between;align-items:baseline;margin:0;padding-top:.6rem;font-size:.82rem;display:flex}.order-total strong{font-variant-numeric:tabular-nums;text-transform:none;letter-spacing:normal;color:var(--p-ink);font-size:1.05rem}.order-owing{color:#6b5227;margin:.6rem 0 0;font-size:.82rem}.portal-modal{z-index:40;background:#1f2a266b;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.portal-modal-card{border-radius:var(--p-radius);background:var(--p-bone);width:min(24rem,100%);box-shadow:var(--p-shadow-lift);text-align:center;padding:1.6rem}.portal-modal-card p{margin:0 0 1.2rem}.portal-modal-card div{justify-content:center;gap:.6rem;display:flex}.portal-modal-card button{border:1px solid var(--p-line);border-radius:var(--p-radius-sm);color:var(--p-ink-soft);background:#fff;padding:.55rem 1.2rem}.portal-modal-card button.primary{border-color:var(--p-green);background:var(--p-green);color:#fff;font-weight:600}.placed-tick{background:var(--p-green-tint);width:3rem;height:3rem;color:var(--p-green);border-radius:50%;justify-content:center;align-items:center;font-size:1.5rem;display:flex;margin:0 auto .9rem!important}
