@import url('/design-reference/variables.css');
:root{--canvas:#100904;--cream:#ffedd7;--bark:#382416;--line:#40372e;--muted:#ab9680;--orange:#dc5000;--ruby-red:#b32637;--ruby-red-hover:#c32938;--ruby-red-soft:rgba(179,38,55,.18);--space:clamp(22px,5.5vw,100px);--max:1540px;--font:Arial,Helvetica,system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--canvas);color:var(--cream);font-family:var(--font);-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--cream);outline-offset:5px}::selection{background:var(--cream);color:var(--canvas)}.container{max-width:var(--max);margin-inline:auto;padding-inline:var(--space)}.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.eyebrow,.micro,.topnav,.wordmark,.small-link,.text-action,.pill,.outline-pill,.section-index,.course-meta,.price-tag,.site-footer,.rail-label,.module-number,.tag-chip,.crumbs,.format-stamp{font-size:11px;font-weight:700;line-height:1.4;letter-spacing:.10em;text-transform:uppercase}.eyebrow{display:flex;align-items:center;gap:12px;color:var(--muted)}.eyebrow:before{content:'';display:block;width:22px;height:1px;background:var(--orange)}.accent{color:var(--orange)}.line{height:1px;border-top:1px dashed var(--line)}.section-index{color:var(--muted)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:48px}.section-head p{max-width:340px;margin:0;color:var(--muted);font-size:15px;line-height:1.55}.display{font-size:clamp(56px,9.7vw,158px);font-weight:500;letter-spacing:-.064em;line-height:.82;text-transform:uppercase;margin:0}.heading{font-size:clamp(44px,6.1vw,90px);font-weight:500;letter-spacing:-.045em;line-height:.94;text-transform:uppercase;margin:0}.heading-md{font-size:clamp(30px,4.1vw,61px);font-weight:500;letter-spacing:-.045em;line-height:.98;text-transform:uppercase;margin:0}.prose{font-size:clamp(18px,2.1vw,29px);line-height:1.34;letter-spacing:-.02em;font-weight:400}.small-copy{color:var(--muted);font-size:14px;line-height:1.65}.pill,.outline-pill{border-radius:36px;display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 25px;transition:background .2s,color .2s,transform .2s;border:1px solid var(--line)}.pill{background:var(--bark);color:var(--cream)}.outline-pill{border-color:var(--cream);background:transparent}.pill:hover,.outline-pill:hover{background:var(--cream);color:var(--canvas);transform:translateY(-2px)}.text-action{display:inline-flex;gap:18px;align-items:center;border-bottom:1px solid currentColor;padding-bottom:7px;white-space:nowrap}.text-action:hover{color:var(--orange)}.text-action span{font-size:17px;line-height:1}.section{padding-block:clamp(90px,12vw,185px);border-top:1px dashed var(--line)}
/* navigation */
.site-header{position:sticky;top:0;z-index:80;background:rgba(16,9,4,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.header-inner{height:79px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brandmark{font-size:24px;line-height:1;letter-spacing:-.06em;font-weight:700;text-transform:uppercase}.brandmark i{font-style:normal;color:var(--orange)}.topnav{display:flex;align-items:center;gap:clamp(17px,2.9vw,48px);letter-spacing:.08em}.topnav a,.header-action{transition:color .2s}.topnav a:hover,.topnav a[aria-current=page],.header-action:hover{color:var(--orange)}.header-action{font-size:11px;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--cream);border-radius:24px;padding:12px 17px;font-weight:700}.menu-toggle{display:none;border:1px solid var(--line);background:transparent;color:var(--cream);padding:9px 12px;border-radius:24px}
/* hero */
.hero{min-height:min(880px,calc(100svh - 79px));position:relative;overflow:hidden;display:flex;align-items:center}.hero:after{content:'';position:absolute;right:var(--space);top:24px;bottom:24px;border-right:1px dashed var(--line);opacity:.4;pointer-events:none}.hero-grid{width:100%;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;min-height:750px;position:relative}.hero-copy{position:relative;z-index:3;padding-block:75px 80px}.hero .eyebrow{margin-bottom:32px}.hero .display{position:relative;z-index:2;max-width:950px}.hero-description{font-size:clamp(18px,2vw,26px);max-width:440px;line-height:1.35;margin:38px 0 28px;color:#dbbf9e}.hero-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.hero-object{position:relative;align-self:stretch;min-height:600px;display:grid;place-items:center}.hero-object:before,.hero-object:after{content:'';width:80%;aspect-ratio:1;position:absolute;border:1px dashed var(--line);border-radius:50%;opacity:.65}.hero-object:after{width:96%;opacity:.2;transform:rotate(20deg)}.hero-object img{width:min(96%,630px);height:640px;object-fit:cover;object-position:center;position:relative;z-index:1;mix-blend-mode:lighten;filter:drop-shadow(0 20px 60px #000);animation:floatObj 7s ease-in-out infinite alternate}.hero-number{position:absolute;bottom:36px;right:26px;z-index:2;font-size:11px;letter-spacing:.14em;color:var(--muted)}.hero-rail{position:absolute;right:16px;top:36%;writing-mode:vertical-rl;letter-spacing:.23em;z-index:4;font-size:10px;color:var(--muted)}.hero-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px dashed var(--line);padding-block:25px;font-size:11px;text-transform:uppercase;letter-spacing:.10em;color:var(--muted)}@keyframes floatObj{to{transform:translate3d(0,-23px,0) rotate(2deg)}}
/* intro and banner */
.intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(40px,11vw,160px);align-items:end}.intro-grid .heading{max-width:850px}.intro-aside{padding-bottom:7px}.intro-aside .prose{margin:0 0 34px}.editorial-banner{min-height:600px;position:relative;isolation:isolate;display:flex;align-items:end;background:#1c100b;overflow:hidden}.editorial-banner>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%;z-index:-2;filter:brightness(.53)}.editorial-banner:after{content:'';position:absolute;inset:0;background:rgba(16,9,4,.25);z-index:-1}.editorial-banner .container{width:100%;padding-block:75px}.editorial-banner .heading{max-width:800px}.editorial-banner .banner-bottom{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-top:45px}.banner-bottom p{max-width:430px;font-size:16px;line-height:1.5;margin:0;color:#eddbcb}
/* catalog */
.catalog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:20px 0;border-top:1px dashed var(--line);border-bottom:1px dashed var(--line);margin-bottom:55px}.catalog-tabs{display:flex;gap:7px;flex-wrap:wrap}.catalog-tabs button{background:none;border:1px solid transparent;color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;padding:10px 17px;border-radius:22px}.catalog-tabs button.active{border-color:var(--cream);color:var(--cream)}.catalog-count{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.catalog-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(25px,5vw,84px);row-gap:90px}.course-tile:nth-child(even){transform:translateY(90px)}.course-visual{display:block;background:#1a100b;position:relative;overflow:hidden;aspect-ratio:1.12;outline:1px solid var(--line)}.course-tile:nth-child(4n+2) .course-visual,.course-tile:nth-child(4n+3) .course-visual{aspect-ratio:1/1.05}.course-visual img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease,filter .8s ease}.course-visual:hover img{transform:scale(1.075);filter:brightness(1.12)}.course-sequence{position:absolute;left:24px;top:20px;font-size:11px;font-weight:700;letter-spacing:.1em}.course-stage{position:absolute;right:24px;top:20px;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.course-data{padding-top:23px;display:flex;align-items:end;justify-content:space-between;gap:20px;border-bottom:1px dashed var(--line);padding-bottom:24px}.course-data h3{font-weight:500;letter-spacing:-.04em;font-size:clamp(28px,3vw,46px);margin:7px 0;text-transform:uppercase;line-height:1}.course-data p{max-width:360px;color:var(--muted);font-size:14px;line-height:1.5;margin:6px 0 0}.course-price{text-align:right;flex-shrink:0}.course-price strong{display:block;font-size:25px;font-weight:500;letter-spacing:-.04em}.course-arrow{font-size:28px;display:block;margin-top:13px}.catalog-end{margin-top:180px;display:flex;justify-content:space-between;align-items:center;border-top:1px dashed var(--line);padding-top:25px}
/* learning path and material */
.path-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px dashed var(--line);border-bottom:1px dashed var(--line);margin-top:55px}.path-stage{padding:36px 38px 42px 0;min-height:385px;display:flex;flex-direction:column}.path-stage+.path-stage{border-left:1px dashed var(--line);padding-left:38px}.path-numeric{font-size:80px;font-weight:400;letter-spacing:-.08em;line-height:1;color:var(--bark)}.path-stage h3{font-size:40px;font-weight:500;margin:15px 0 18px;text-transform:uppercase;letter-spacing:-.045em}.path-stage p{font-size:16px;line-height:1.5;color:var(--muted);max-width:300px;margin:0 0 26px}.path-products{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.path-products a{border:1px solid var(--line);border-radius:23px;padding:9px 12px;font-size:11px;letter-spacing:.02em}.path-products a:hover{border-color:var(--cream)}.material-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(45px,8vw,120px);align-items:center}.material-photo{margin:0;position:relative;min-height:640px;background:#28150e;overflow:hidden}.material-photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.material-photo:after{content:'FIG. 02 / THE WORKBENCH';font-size:10px;letter-spacing:.15em;position:absolute;bottom:20px;left:23px;color:var(--cream)}.material-content>p{margin:23px 0 38px;max-width:530px}.material-items{border-top:1px dashed var(--line)}.material-item{display:flex;gap:26px;align-items:baseline;border-bottom:1px dashed var(--line);padding:21px 0}.material-item span{color:var(--orange);font-size:11px;min-width:32px}.material-item h3{font-size:19px;line-height:1.2;font-weight:500;text-transform:uppercase;margin:0;flex:1}.material-item p{font-size:13px;color:var(--muted);line-height:1.45;margin:0;flex:1.3}
/* examples */
.example-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.example-item{padding:26px 0;border-top:1px dashed var(--line);display:flex;flex-direction:column;min-width:0}.example-item .micro{color:var(--muted)}.example-item h3{font-size:30px;line-height:1.05;letter-spacing:-.04em;font-weight:500;margin:24px 0 14px;text-transform:uppercase}.example-item p{font-size:15px;line-height:1.55;color:var(--muted);min-height:95px}.example-code{margin:12px 0 25px;white-space:pre;overflow:auto;background:#231409;border:1px solid var(--line);padding:18px;color:#f6dbbb;font:12px/1.6 'Courier New',monospace;min-height:140px}.example-item .text-action{align-self:start;margin-top:auto}
/* benefits + faq */
.benefit-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.benefit-list{list-style:none;margin:0;padding:0}.benefit-list li{padding:24px 0;border-top:1px dashed var(--line);display:grid;grid-template-columns:32px 1fr;gap:18px}.benefit-list b{font-weight:500;text-transform:uppercase;font-size:21px}.benefit-list p{margin:7px 0 0;color:var(--muted);font-size:15px;line-height:1.5}.faq-rows{max-width:1000px;margin:40px auto 0}.faq-rows details{border-top:1px dashed var(--line)}.faq-rows details:last-child{border-bottom:1px dashed var(--line)}.faq-rows summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:23px 0;font-size:clamp(17px,2vw,25px);letter-spacing:-.02em}.faq-rows summary::-webkit-details-marker{display:none}.faq-rows summary:after{content:'+';font-size:25px;color:var(--orange)}.faq-rows details[open] summary:after{content:'−'}.faq-rows details p{max-width:720px;margin:0 0 25px;color:var(--muted);font-size:16px;line-height:1.65}.faq-more{margin-top:38px;text-align:center}
/* footer */
.site-footer{border-top:1px dashed var(--line);padding:75px 0 25px;letter-spacing:.025em;text-transform:none;font-size:13px;line-height:1.7}.footer-brand{font-size:clamp(70px,13vw,205px);line-height:.8;letter-spacing:-.075em;text-transform:uppercase;margin:0 0 70px;font-weight:500;overflow-wrap:anywhere}.footer-grid{display:grid;grid-template-columns:1.45fr .8fr .85fr;gap:50px;border-top:1px dashed var(--line);padding:40px 0 72px}.footer-grid h2{font-size:11px;color:var(--muted);font-weight:700;letter-spacing:.13em;text-transform:uppercase;margin:0 0 27px}.footer-contact p{margin:0 0 12px;max-width:390px}.footer-contact strong{color:var(--cream);font-weight:600}.footer-links{display:grid;gap:10px;align-content:start}.footer-links a{font-size:14px}.footer-links a:hover,.footer-contact a:hover{color:var(--orange)}.footer-bottom{border-top:1px dashed var(--line);padding-top:20px;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}
/* pages */
.page-hero{padding:110px 0 90px;min-height:330px}.page-hero .eyebrow{margin-bottom:22px}.page-hero .heading{max-width:1080px}.page-subtitle{max-width:780px;margin:25px 0 0;color:var(--muted);font-size:clamp(17px,2vw,24px);line-height:1.45}.page-section{padding:75px 0 145px;border-top:1px dashed var(--line)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,9vw,140px)}.article-prose{font-size:18px;line-height:1.75;color:#e6d3bd;max-width:770px}.article-prose h2{font-size:clamp(25px,3vw,40px);text-transform:uppercase;line-height:1.08;letter-spacing:-.035em;font-weight:500;margin:48px 0 18px;color:var(--cream)}.article-prose h2:first-child{margin-top:0}.article-prose p{margin:0 0 20px}.article-prose ul,.article-prose ol{padding-left:25px}.article-prose li{margin:8px 0}.article-prose a{text-decoration:underline;text-underline-offset:4px}.legal-layout{display:grid;grid-template-columns:230px minmax(0,790px);gap:clamp(35px,8vw,135px)}.legal-aside{position:sticky;top:125px;align-self:start;color:var(--muted);font-size:12px;line-height:1.7}.legal-aside strong{display:block;color:var(--cream);font-weight:500;font-size:18px;margin-bottom:12px}.legal-content{font-size:15px;line-height:1.8;color:#d4bea6}.legal-content h2{font-weight:500;text-transform:uppercase;font-size:26px;line-height:1.1;letter-spacing:-.02em;margin:55px 0 18px;color:var(--cream)}.legal-content h2:first-child{margin-top:0}.legal-content p{margin:0 0 19px}.legal-content ul{padding-left:20px;margin:0 0 25px}.legal-content li{margin:8px 0}.legal-content a{text-decoration:underline}.policy-note{padding:22px 0;border-top:1px dashed var(--line);margin-top:42px;font-size:12px;color:var(--muted)}
/* product */
.crumbs{padding:26px 0;color:var(--muted)}.crumbs a:hover{color:var(--cream)}.product-top{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(30px,7vw,110px);padding-block:30px 130px}.product-image-wrap{position:relative;background:#23140b;border:1px solid var(--line);align-self:start}.product-image-wrap img{width:100%;aspect-ratio:1/1.02;object-fit:cover}.product-image-wrap .format-stamp{position:absolute;bottom:19px;left:20px}.product-detail{padding-top:30px}.product-detail .heading{margin:17px 0 25px}.product-detail .prose{font-size:clamp(19px,2vw,27px);color:#e0c7ad;max-width:540px;margin:0 0 30px}.product-specs{border-top:1px dashed var(--line);border-bottom:1px dashed var(--line);display:grid;grid-template-columns:repeat(2,1fr);gap:22px;padding:21px 0;margin-bottom:35px}.product-specs span{display:block;font-size:10px;color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px}.product-specs strong{font-size:17px;font-weight:500}.product-buy{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.product-buy .price-large{font-size:42px;font-weight:500;letter-spacing:-.06em}.product-buy .pill{padding-inline:35px}.product-tiny-note{font-size:12px;color:var(--muted);line-height:1.6;margin-top:25px;max-width:460px}.product-sections{border-top:1px dashed var(--line)}.product-info-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:90px}.product-info-grid .heading-md{max-width:440px}.module-list{border-top:1px dashed var(--line)}.module-row{display:grid;grid-template-columns:46px 1fr;gap:20px;align-items:start;padding:22px 0;border-bottom:1px dashed var(--line)}.module-number{color:var(--orange);padding-top:5px}.module-row h3{font-size:22px;font-weight:500;text-transform:uppercase;margin:0;letter-spacing:-.02em}.product-exercise{margin-top:45px;border-top:1px dashed var(--line);padding:28px 0}.product-exercise h3{font-size:25px;font-weight:500;text-transform:uppercase;margin:10px 0}.product-exercise pre{font-size:13px;white-space:pre;overflow:auto;line-height:1.6;color:#e6c5a2;padding:24px;background:#241509;border:1px solid var(--line)}.product-materials{margin:10px 0 0;padding-left:18px;line-height:1.8;font-size:17px}.outcome-list{padding-left:21px;font-size:17px;line-height:1.8;color:#e1cbb5}
/* FAQ page, curriculum, contact */
.faq-filter-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:42px}.faq-filter-row button{background:none;border:1px solid var(--line);border-radius:30px;padding:11px 17px;color:var(--cream);font-size:11px;text-transform:uppercase;letter-spacing:.09em}.faq-filter-row button.active{border-color:var(--cream);background:var(--bark)}.faq-group{margin-bottom:60px}.faq-group .eyebrow{margin:0}.curriculum-stage{display:grid;grid-template-columns:1fr 2fr;gap:70px;border-top:1px dashed var(--line);padding:45px 0}.curriculum-stage h2{font-size:clamp(33px,4.4vw,57px);font-weight:500;text-transform:uppercase;line-height:1;letter-spacing:-.05em;margin:12px 0}.curriculum-items{border-top:1px dashed var(--line)}.curriculum-item{border-bottom:1px dashed var(--line);padding:17px 0}.curriculum-item summary{list-style:none;display:flex;justify-content:space-between;gap:12px;cursor:pointer;font-size:22px}.curriculum-item summary::-webkit-details-marker{display:none}.curriculum-item summary:after{content:'+';color:var(--orange)}.curriculum-item[open] summary:after{content:'−'}.curriculum-item p{color:var(--muted);font-size:15px;line-height:1.65}.curriculum-item ul{padding-left:20px;color:#e3cbb5;line-height:1.7}.contact-facts{border-top:1px dashed var(--line)}.contact-facts p{border-bottom:1px dashed var(--line);padding:25px 0;margin:0;display:grid;grid-template-columns:140px 1fr;gap:30px;line-height:1.6}.contact-facts strong{text-transform:uppercase;font-size:11px;letter-spacing:.12em;color:var(--muted)}.contact-photo{height:660px;width:100%;object-fit:cover}.update-list{border-top:1px dashed var(--line)}.update-entry{display:grid;grid-template-columns:170px 1fr;gap:50px;padding:35px 0;border-bottom:1px dashed var(--line)}.update-entry h2{font-size:30px;margin:0 0 12px;text-transform:uppercase;font-weight:500;letter-spacing:-.03em}.update-entry p{font-size:16px;line-height:1.6;color:var(--muted);margin:0}
/* payment interstitial */
.loading-page{min-height:100svh;display:grid;place-items:center;padding:40px 25px;text-align:center}.loading-center{max-width:520px}.spinner{height:60px;width:60px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--cream);animation:spin .9s linear infinite;margin:0 auto 48px}.loading-center h1{font-size:clamp(32px,5vw,56px);line-height:1.02;text-transform:uppercase;letter-spacing:-.04em;font-weight:500;margin:0 0 18px}.loading-center p{font-size:16px;line-height:1.65;color:var(--muted)}.loading-center a{margin-top:28px}.loading-logo{position:absolute;top:28px;left:var(--space)}@keyframes spin{to{transform:rotate(360deg)}}
/* reveal */
.reveal{opacity:1;transform:none}@media(prefers-reduced-motion:no-preference){.js-enabled .reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}.js-enabled .reveal.in-view{opacity:1;transform:none}}
@media(max-width:1100px){.hero .display{font-size:clamp(62px,9.5vw,110px)}.hero-grid{min-height:640px}.hero-object img{height:530px}.material-photo{min-height:540px}.benefit-layout{gap:35px}.footer-brand{font-size:12vw}}
@media(max-width:800px){.header-inner{height:67px}.brandmark{font-size:20px}.menu-toggle{display:block}.topnav{display:none;position:absolute;top:67px;left:0;right:0;background:var(--canvas);border-bottom:1px solid var(--line);padding:25px var(--space) 32px;flex-direction:column;align-items:flex-start;gap:24px}.topnav.menu-open{display:flex}.header-action{margin-left:auto}.hero{min-height:unset}.hero-grid{grid-template-columns:1fr;min-height:unset}.hero-copy{padding:75px 0 5px}.hero .display{font-size:clamp(68px,13vw,115px)}.hero-description{max-width:560px}.hero-object{min-height:460px;max-width:620px;margin-inline:auto;width:100%}.hero-object img{height:470px;width:100%;object-fit:contain}.hero-rail{display:none}.intro-grid,.material-layout,.benefit-layout,.product-top,.product-info-grid,.two-col,.curriculum-stage,.legal-layout{grid-template-columns:1fr}.intro-grid{gap:40px}.editorial-banner{min-height:500px}.path-stage{padding:30px 20px 35px 0}.path-stage+.path-stage{padding-left:20px}.path-stage h3{font-size:33px}.path-numeric{font-size:55px}.path-stage p{font-size:14px}.material-photo{min-height:480px;order:2}.material-content{order:1}.example-grid{grid-template-columns:1fr 1fr}.example-item:last-child{grid-column:span 2}.catalog-grid{column-gap:25px;row-gap:60px}.course-tile:nth-child(even){transform:translateY(50px)}.catalog-end{margin-top:115px}.footer-grid{gap:35px;grid-template-columns:1.2fr 1fr 1fr}.page-hero{padding:80px 0}.product-top{padding-bottom:80px;gap:30px}.product-detail{padding-top:0}.product-image-wrap{max-width:720px}.product-info-grid{gap:40px}.legal-aside{position:static}}
@media(max-width:570px){.section{padding-block:75px}.display{font-size:55px}.heading{font-size:47px}.heading-md{font-size:39px}.header-action{display:none}.hero .display{font-size:clamp(63px,15vw,88px)}.hero-object{min-height:360px}.hero-object img{height:370px}.hero-bottom{display:none}.hero-copy{padding-top:65px}.hero-description{margin-top:30px}.hero-actions{align-items:stretch}.hero-actions a{min-width:130px}.intro-grid .heading{font-size:47px}.editorial-banner{min-height:430px}.editorial-banner .heading{font-size:46px}.editorial-banner .banner-bottom{align-items:start;flex-direction:column}.section-head{align-items:start;flex-direction:column;gap:16px;margin-bottom:30px}.catalog-toolbar{align-items:start;flex-direction:column}.catalog-grid{grid-template-columns:1fr;row-gap:55px}.course-tile:nth-child(even){transform:none}.course-visual,.course-tile:nth-child(4n+2) .course-visual,.course-tile:nth-child(4n+3) .course-visual{aspect-ratio:1.14}.course-data h3{font-size:33px}.catalog-end{margin-top:60px}.path-grid{grid-template-columns:1fr}.path-stage,.path-stage+.path-stage{min-height:unset;border-left:0;border-bottom:1px dashed var(--line);padding:32px 0}.path-stage:last-child{border-bottom:0}.path-numeric{font-size:67px}.path-products{margin-top:12px}.material-photo{min-height:420px}.material-item{display:grid;grid-template-columns:20px 1fr;column-gap:15px}.material-item p{grid-column:2}.example-grid{grid-template-columns:1fr}.example-item:last-child{grid-column:1}.example-item p{min-height:unset}.example-code{min-height:0}.benefit-layout{gap:30px}.site-footer{padding-top:65px}.footer-brand{font-size:clamp(44px,13.6vw,78px);margin-bottom:50px}.footer-grid{grid-template-columns:1fr 1fr;gap:45px 20px}.footer-contact{grid-column:1/-1}.footer-bottom{flex-direction:column}.contact-facts p{grid-template-columns:1fr;gap:8px}.contact-photo{height:440px}.update-entry{grid-template-columns:1fr;gap:12px}.product-specs{gap:12px}.product-buy{gap:18px}.legal-content h2{font-size:23px}.legal-content{font-size:15px}.faq-rows summary{font-size:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-object img,.spinner{animation:none!important}*{transition:none!important}}


/* Ruby-red action system | 2026-10 refresh
   Primary actions are solid ruby; secondary actions are ruby outlined.
   Editorial orange is retained for micro-type and artifact details only. */
.pill,
.header-action,
.contact-submit {
  color:var(--cream);
  background:var(--ruby-red);
  border:1px solid var(--ruby-red);
  box-shadow:none;
}
.pill:hover,
.header-action:hover,
.contact-submit:hover {
  color:var(--cream);
  background:var(--ruby-red-hover);
  border-color:var(--ruby-red-hover);
  transform:translateY(-2px);
}
.pill:active,
.header-action:active,
.contact-submit:active {transform:translateY(0)}
.outline-pill {
  background:transparent;
  border-color:var(--ruby-red);
  color:var(--cream);
}
.outline-pill:hover {
  background:var(--ruby-red);
  border-color:var(--ruby-red);
  color:var(--cream);
}
.header-action {transition:background .2s, border-color .2s, color .2s, transform .2s}
.catalog-tabs button.active,
.faq-filter-row button.active {background:var(--ruby-red);border-color:var(--ruby-red);color:var(--cream)}
.catalog-tabs button:hover,
.faq-filter-row button:hover,
.path-products a:hover {border-color:var(--ruby-red-hover);color:var(--cream);background:var(--ruby-red-soft)}
.catalog-tabs button.active:hover,
.faq-filter-row button.active:hover {background:var(--ruby-red-hover);border-color:var(--ruby-red-hover)}
.catalog-tabs button,
.faq-filter-row button,
.path-products a {transition:background .2s, border-color .2s, color .2s}
.course-arrow {
  width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--ruby-red);border-radius:50%;color:var(--cream);
  background:var(--ruby-red);transition:background .2s,transform .2s;
}
.course-arrow:hover{background:var(--ruby-red-hover);transform:translate(3px,-3px)}
.text-action:hover,.footer-links a:hover,.footer-contact a:hover{color:#ff7782}
.menu-toggle{border-color:var(--ruby-red)}
.menu-toggle:hover{background:var(--ruby-red);color:var(--cream)}
:where(.pill,.outline-pill,.header-action,.catalog-tabs button,.faq-filter-row button,.menu-toggle,.course-arrow,.contact-submit):focus-visible {
  outline:3px solid var(--cream);outline-offset:4px;
}

/* Contact desk: editorial left rail + form aligned to an asymmetric grid */
.contact-page-hero{padding-bottom:75px}
.contact-page-hero .heading{font-size:clamp(60px,8.5vw,128px)}
.contact-page-section{padding-top:0}
.contact-intro-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;
  border-top:1px dashed var(--line);padding:23px 0 37px}
.contact-intro-bar .micro{color:var(--muted)}
.contact-grid{display:grid;grid-template-columns:minmax(0,.81fr) minmax(0,1.19fr);
  gap:clamp(40px,8.8vw,140px);align-items:start}
.contact-left .heading-md{font-size:clamp(37px,4.4vw,69px);margin-bottom:25px}
.contact-left .prose{font-size:clamp(18px,1.9vw,25px);color:#ddc5ab;max-width:510px;margin:0 0 38px}
.contact-left .contact-facts p{grid-template-columns:110px 1fr;gap:13px;padding:17px 0;font-size:14px}
.contact-left .contact-facts p:first-child{border-top:0}
.contact-left .contact-facts a{text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--ruby-red)}
.contact-left .contact-facts span{overflow-wrap:anywhere}
.contact-small-print{font-size:12px;line-height:1.7;color:var(--muted);margin:18px 0 0;max-width:520px}
.contact-artifact{margin:45px 0 0;position:relative;overflow:hidden;background:#22120c}
.contact-artifact img{height:clamp(230px,26vw,385px);width:100%;object-fit:cover;object-position:center 57%}
.contact-artifact figcaption{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;
  padding:14px 17px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;
  background:rgba(16,9,4,.88)}
.contact-form-panel{background:#1a100b;border:1px solid var(--line);padding:clamp(25px,4vw,58px);position:relative}
.contact-form-panel:before{content:'';height:5px;width:92px;position:absolute;left:clamp(25px,4vw,58px);top:-3px;background:var(--ruby-red)}
.contact-form-panel .eyebrow{margin:0 0 23px}
.contact-form-title{font-size:clamp(37px,4vw,60px);line-height:1;letter-spacing:-.048em;text-transform:uppercase;font-weight:500;margin:0 0 19px}
.contact-form-intro{color:var(--muted);font-size:15px;line-height:1.6;max-width:590px;margin:0 0 31px}
.contact-required{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.10em;margin-bottom:18px}
.contact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:21px 22px}
.contact-field{min-width:0}
.contact-field.full{grid-column:1/-1}
.contact-field label{display:flex;gap:5px;margin-bottom:12px;color:var(--cream);
  font-size:11px;text-transform:uppercase;letter-spacing:.10em;font-weight:700}
.contact-field label .required-mark{color:#ff7782}
.contact-field input,.contact-field select,.contact-field textarea {
 width:100%;min-width:0;max-width:100%;border:1px solid #6b4e42;border-radius:0;
 background:var(--canvas);color:var(--cream);padding:15px 16px;font-size:15px;
 line-height:1.5;outline:none;transition:border-color .2s,box-shadow .2s}
.contact-field input::placeholder,.contact-field textarea::placeholder{color:#a9917d;opacity:1}
.contact-field input:focus,.contact-field textarea:focus,.contact-field select:focus {
 border-color:#f2777d;box-shadow:0 0 0 2px rgba(179,38,55,.24)}
.contact-field select{appearance:none;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' stroke='%23ffedd7' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
 background-repeat:no-repeat;background-position:right 17px center;padding-right:42px}
.contact-field select option{background:#1a100b;color:#ffedd7}
.contact-field textarea{min-height:182px;resize:vertical}
.contact-field [aria-invalid='true']{border-color:#ff8792}
.contact-field .field-error{display:none;color:#ffa2a8;font-size:12px;line-height:1.4;padding-top:7px}
.contact-field .field-error:not(:empty){display:block}
.contact-field .field-hint{display:block;color:var(--muted);font-size:11px;margin-top:8px;line-height:1.5}
.contact-consent{grid-column:1/-1;display:flex;align-items:flex-start;gap:13px;margin-top:1px;
 color:#d7c0ac;line-height:1.6;font-size:13px}
.contact-consent input{accent-color:var(--ruby-red);width:18px;height:18px;flex:none;margin:1px 0 0}
.contact-consent a{color:var(--cream);text-decoration:underline;text-decoration-color:var(--ruby-red);text-underline-offset:4px}
.contact-form-actions{grid-column:1/-1;display:flex;align-items:center;flex-wrap:wrap;gap:15px;margin-top:4px}
.contact-submit{min-width:210px;min-height:52px;font-size:12px;font-weight:700;
 text-transform:uppercase;letter-spacing:.10em;border-radius:36px;padding:14px 26px;transition:background .2s,transform .2s}
.contact-submit:disabled{opacity:.65;cursor:wait;transform:none}
.contact-form-mode{color:var(--muted);font-size:12px;line-height:1.55;max-width:330px}
.contact-form-feedback{grid-column:1/-1;margin:0;padding:14px 17px;border-left:3px solid var(--ruby-red);
 background:var(--ruby-red-soft);color:var(--cream);font-size:13px;line-height:1.6}
.contact-form-feedback[hidden]{display:none}
.contact-form-feedback[data-state='error']{border-left-color:#ff909a}
.contact-form-feedback[data-state='success']{border-left-color:#8fcdaa;background:rgba(80,128,95,.18)}
.contact-form-feedback a{color:var(--cream);text-decoration:underline}
.contact-safe-note{display:flex;align-items:start;gap:14px;border-top:1px dashed var(--line);
 margin-top:37px;padding-top:21px;color:var(--muted);font-size:12px;line-height:1.6}
.contact-safe-note .safe-symbol{color:#ff8792;font-size:19px;line-height:1}
.contact-help-strip{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding-top:45px;
 margin-top:75px;border-top:1px dashed var(--line)}
.contact-help-strip h2{font-size:clamp(23px,3vw,35px);font-weight:500;text-transform:uppercase;letter-spacing:-.03em;margin:0 0 15px}
.contact-help-strip p{font-size:14px;color:var(--muted);line-height:1.6;margin:0 0 20px;max-width:480px}
.contact-help-strip .text-action{font-size:11px}
.contact-hp{position:absolute;left:-9999px;opacity:0;pointer-events:none;height:0;overflow:hidden}
@media(max-width:900px){
 .contact-grid{grid-template-columns:1fr;gap:45px}
 .contact-left{display:grid;grid-template-columns:1fr 1fr;gap:16px 35px}
 .contact-left .heading-md,.contact-left .prose,.contact-left .contact-small-print{grid-column:1/-1}
 .contact-left .prose{max-width:700px;margin-bottom:14px}
 .contact-artifact{margin:0;align-self:start}
 .contact-form-panel{max-width:850px}
}
@media(max-width:570px){
 .contact-page-hero{padding-top:67px;padding-bottom:54px}
 .contact-page-hero .heading{font-size:clamp(53px,14vw,77px)}
 .contact-intro-bar{align-items:start;flex-direction:column;gap:5px;padding-bottom:32px}
 .contact-left{display:block}
 .contact-left .prose{margin-bottom:30px}
 .contact-artifact{margin:35px 0 0}
 .contact-form-panel{padding:27px 20px 33px}
 .contact-form-panel:before{left:20px}
 .contact-form{grid-template-columns:1fr;gap:21px}
 .contact-field.full,.contact-form-actions,.contact-form-feedback,.contact-consent{grid-column:1}
 .contact-form-actions{align-items:stretch;flex-direction:column}
 .contact-submit{width:100%}
 .contact-form-title{font-size:39px}
 .contact-help-strip{grid-template-columns:1fr;gap:35px;margin-top:55px}
}
@media(prefers-reduced-motion:reduce){.course-arrow:hover,.header-action:hover,.contact-submit:hover{transform:none}}

/* Contact footer: compact, keyboard-accessible social icon links. */
.footer-contact p{overflow-wrap:anywhere}
.footer-social-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.social-icons{display:inline-flex;gap:10px;align-items:center}
.social-icon-link{width:39px;height:39px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:50%;color:var(--cream);background:rgba(255,255,255,.025);text-decoration:none;transition:border-color .2s ease,background .2s ease,color .2s ease,transform .2s ease}
.social-icon-link svg{display:block;width:19px;height:19px;flex:none}
.social-icon-link:hover{color:var(--cream)!important;border-color:var(--ruby-red);background:var(--ruby-red);transform:translateY(-2px)}
.social-icon-link:focus-visible{outline:2px solid var(--cream);outline-offset:4px}
@media(prefers-reduced-motion:reduce){.social-icon-link:hover{transform:none}}
