/*
Theme Name: Extendable
Theme URI: https://github.com/extendify/extendable
Author: Extendify
Author URI: https://extendify.com
Description: Extendable is a distinct, dynamic block theme designed as a canvas for your next online venture. Sporting multiple style variations, Extendable is the most expressive block theme yet. Go fresh, bold, bohemian or minimal — with a single click.
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 7.4
Version: 2.1.9
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: extendable
*/

/* Omar Claxton — personal archive */
:root{--oc-ink:#171714;--oc-paper:#f1eee5;--oc-warm:#ded5c4;--oc-rust:#9b4a2f;--oc-blue:#244b6b;--oc-sage:#566455;--oc-line:rgba(23,23,20,.2)}
.oc-home{margin:0!important;background:var(--oc-paper)!important;color:var(--oc-ink)!important;font-family:"Avenir Next","Segoe UI",sans-serif!important}.oc-wrap{width:min(1180px,calc(100% - 64px));margin:auto}.oc-header{position:absolute;z-index:10;width:100%;top:0}.oc-nav{height:100px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--oc-line)}.oc-name{font-family:Georgia,serif;font-size:22px;text-decoration:none;color:inherit}.oc-nav nav{display:flex;gap:30px}.oc-nav nav a{font-size:12px;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;color:inherit;font-weight:700}.oc-hero{min-height:92vh;display:flex;align-items:center;padding:150px 0 90px;background:var(--oc-paper);position:relative;overflow:hidden}.oc-hero:after{content:"OC";position:absolute;right:-.04em;bottom:-.28em;font-family:Georgia,serif;font-size:42vw;line-height:1;color:rgba(155,74,47,.055);pointer-events:none}.oc-kicker,.oc-label{font-size:11px;font-weight:800;letter-spacing:.22em;color:var(--oc-rust);margin:0 0 30px}.oc-hero h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(84px,14vw,190px);line-height:.72;letter-spacing:-.065em;margin:0;position:relative;z-index:1}.oc-hero h1 em{font-weight:400;color:var(--oc-blue)}.oc-thesis{font-family:Georgia,serif;font-size:clamp(22px,2.2vw,32px);line-height:1.35;max-width:670px;margin:70px 0 0}.oc-scroll{margin-top:70px;font-size:11px;letter-spacing:.15em;font-weight:800}.oc-two{display:grid;grid-template-columns:.38fr 1fr;gap:90px}.oc-intro,.oc-feature,.oc-connect{padding:120px 0}.oc-two h2,.oc-archive h2{font-family:Georgia,serif;font-size:clamp(44px,5vw,72px);font-weight:400;line-height:1.02;letter-spacing:-.035em;margin:0 0 36px}.oc-two div>p{font-family:Georgia,serif;font-size:21px;line-height:1.65;max-width:760px}.oc-link{display:inline-block;margin-top:24px;color:var(--oc-blue);font-weight:800;text-decoration:none;border-bottom:1px solid var(--oc-rust);padding-bottom:4px}.oc-worlds{background:var(--oc-ink);color:var(--oc-paper);padding:105px 0}.oc-worlds .oc-label{color:#c98b75}.oc-worlds article{display:grid;grid-template-columns:70px 1fr 50px;gap:30px;align-items:center;padding:48px 0;border-top:1px solid rgba(241,238,229,.22)}.oc-worlds article:last-child{border-bottom:1px solid rgba(241,238,229,.22)}.oc-worlds article>span{font-size:12px;color:#c98b75}.oc-worlds article p{font-size:11px;letter-spacing:.18em;font-weight:800;margin:0 0 12px}.oc-worlds article h2{font-family:Georgia,serif;font-size:clamp(40px,5vw,68px);font-weight:400;line-height:1;margin:0}.oc-worlds article>b{font-size:30px;font-weight:400}.oc-feature{background:var(--oc-warm)}.oc-storm{padding:120px 0;background:var(--oc-blue);color:#f7f4ed}.oc-storm .oc-label{color:#e5b7a6}.oc-storm .oc-link{color:#f7f4ed;border-color:#f7f4ed}.oc-development{padding:120px 0;background:#faf8f2}.oc-development .oc-two{margin-bottom:65px}.oc-development .oc-two p:not(.oc-label){font-family:Georgia,serif;font-size:21px;line-height:1.65;max-width:760px}.oc-development h2{font-family:Georgia,serif;font-size:clamp(44px,5vw,72px);font-weight:400;line-height:1.02;letter-spacing:-.035em;margin:0 0 30px}.oc-dev-grid{display:grid;grid-template-columns:1.2fr .8fr;border-top:1px solid var(--oc-line)}.oc-dev-grid article{padding:38px 38px 20px 0}.oc-dev-grid article+article{padding-left:38px;border-left:1px solid var(--oc-line)}.oc-dev-grid span,.oc-dev-grid small{font-size:10px;letter-spacing:.16em;font-weight:800;color:var(--oc-rust)}.oc-dev-grid h3{font-family:Georgia,serif;font-size:34px;font-weight:400;line-height:1.1;margin:24px 0 15px}.oc-dev-grid p{line-height:1.7}.oc-dev-grid small{display:block;margin-top:28px;color:var(--oc-blue)}.oc-archive{padding:140px 0;background:var(--oc-sage);color:#f7f4ed}.oc-archive .oc-label{color:#e5b7a6}.oc-archive p:last-child{font-family:Georgia,serif;font-size:21px;line-height:1.65;max-width:760px}.oc-connect{background:#faf8f2}.oc-links{display:flex!important;flex-direction:column;align-items:flex-start;gap:12px;margin-top:35px}.oc-links a{font-weight:800;color:var(--oc-ink);text-decoration:none;border-bottom:1px solid var(--oc-line);padding:10px 0}img{max-width:100%;height:auto}figure{max-width:100%;margin-left:0;margin-right:0}.wp-caption,.wp-block-image{max-width:100%}.wp-caption-text,figcaption{font-family:Georgia,serif;font-size:13px;line-height:1.5;color:var(--oc-muted,#536672);margin-top:9px}.wp-block-embed__wrapper{position:relative;max-width:100%}.oc-media{margin:50px 0}.oc-media img{display:block;width:100%;height:auto;object-fit:contain}.oc-media--portrait img{max-height:760px;object-fit:contain}.oc-media--cover img{aspect-ratio:16/9;object-fit:cover}.oc-reading{max-width:760px}.oc-reading p{font-family:Georgia,serif;font-size:clamp(18px,2vw,21px);line-height:1.75}.oc-world-link{display:block;color:inherit;text-decoration:none}
.oc-header{overflow:visible}.oc-name{display:inline-flex;align-items:center;gap:10px}.oc-brand-mini{position:relative;display:inline-grid;place-items:center;width:30px;height:30px;border:1px solid currentColor;border-radius:50%;font-family:Georgia,serif;line-height:1}.oc-brand-o{font-size:20px;color:var(--oc-blue)}.oc-brand-leaf{position:absolute;right:-2px;top:-3px;font-size:8px;color:#2e7d32;transform:rotate(35deg)}.oc-nav nav{display:flex;align-items:center;gap:clamp(14px,2vw,28px);flex-wrap:wrap}.oc-nav nav a{white-space:nowrap}
@media(max-width:760px){
.oc-header{position:relative}.oc-nav{align-items:flex-start;gap:14px;flex-direction:column}.oc-nav nav{width:100%;gap:8px 16px;overflow-x:auto;flex-wrap:nowrap;padding-bottom:7px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.oc-nav nav::-webkit-scrollbar{display:none}.oc-nav nav a{font-size:10px;letter-spacing:.08em}
.oc-hero,.oc-lab-hero,.oc-lessons-hero,.oc-dev-hero,.oc-archive-hero,.oc-ai-hero{padding-top:105px;padding-bottom:75px}
.oc-two{grid-template-columns:1fr!important;gap:25px!important}
.oc-worlds article{grid-template-columns:42px 1fr 20px!important;gap:12px!important}.oc-worlds article h2{font-size:clamp(32px,10vw,48px)!important}
.oc-lab-grid,.oc-view-grid,.oc-ai-grid,.oc-ai-role-grid{grid-template-columns:1fr}.oc-lab-grid article:nth-child(even),.oc-view-grid article+article,.oc-ai-grid article:nth-child(even),.oc-ai-role-grid article+article{padding-left:0;border-left:0}
.oc-lesson-steps,.oc-history-example,.oc-timeline,.oc-ai-years{grid-template-columns:1fr}
.oc-dev-feature .oc-wrap{grid-template-columns:1fr;gap:20px}.oc-dev-number{font-size:45px}
.oc-year{grid-template-columns:1fr;gap:10px}
.oc-methodline,.oc-dev-flow{gap:10px}.oc-methodline b,.oc-dev-flow b{display:none}
.oc-connect .oc-links{display:flex;flex-direction:column;align-items:flex-start}
footer .oc-wrap{gap:15px;flex-wrap:wrap}
}
@media(max-width:420px){
.oc-wrap{width:min(100% - 32px,1200px)}
.oc-thesis{font-size:18px!important}
.oc-topic-grid span,.oc-ai-checks span{font-size:9px}
}.oc-world-link article{transition:padding-left .2s ease}.oc-world-link:hover article{padding-left:14px}.oc-archive-rule{margin-top:30px}.oc-archive-rule strong{font-family:Georgia,serif;font-size:clamp(22px,2.5vw,32px);font-weight:400}.oc-ai-hero{padding:180px 0 115px;background:var(--oc-ink);color:var(--oc-paper)}.oc-ai-hero .oc-kicker{color:#9eb9cc}.oc-ai-hero h1{font-family:Georgia,serif;font-size:clamp(70px,10vw,138px);line-height:.84;letter-spacing:-.055em;font-weight:400;margin:0 0 40px}.oc-ai-hero h1 em{font-weight:400;color:#8caac0}.oc-ai-question{padding:120px 0;background:var(--oc-paper)}.oc-ai-question h2{font-family:Georgia,serif;font-size:clamp(45px,5vw,72px);font-weight:400;line-height:1;margin-top:0}.oc-ai-question p{font-family:Georgia,serif;font-size:20px;line-height:1.65}.oc-ai-practice{padding:115px 0;background:var(--oc-blue);color:#f7f4ed}.oc-ai-practice .oc-label{color:#e5b7a6}.oc-ai-practice>div>h2,.oc-ai-roles h2,.oc-ai-friction h2,.oc-ai-history h2,.oc-ai-close h2{font-family:Georgia,serif;font-weight:400;letter-spacing:-.04em}.oc-ai-practice>div>h2{font-size:clamp(48px,6vw,82px);line-height:.97;max-width:900px}.oc-ai-grid{display:grid;grid-template-columns:1fr 1fr;margin-top:60px;border-top:1px solid rgba(255,255,255,.25)}.oc-ai-grid article{padding:35px 40px 30px 0;border-bottom:1px solid rgba(255,255,255,.25)}.oc-ai-grid article:nth-child(even){padding-left:40px;border-left:1px solid rgba(255,255,255,.25)}.oc-ai-grid span{font-size:10px;letter-spacing:.15em;font-weight:800;color:#e5b7a6}.oc-ai-grid h3{font-family:Georgia,serif;font-size:31px;font-weight:400}.oc-ai-grid p{font-family:Georgia,serif;line-height:1.6;opacity:.85}.oc-ai-roles{padding:120px 0;background:var(--oc-warm)}.oc-ai-roles h2{font-size:clamp(52px,7vw,90px);line-height:.95}.oc-ai-lead{font-family:Georgia,serif;font-size:21px;line-height:1.6;max-width:760px}.oc-ai-role-grid{display:grid;grid-template-columns:1fr 1fr;margin-top:55px;border-top:1px solid var(--oc-line)}.oc-ai-role-grid article{padding:38px 40px 25px 0}.oc-ai-role-grid article+article{padding-left:40px;border-left:1px solid var(--oc-line)}.oc-ai-role-grid b{font-size:11px;letter-spacing:.16em;color:var(--oc-rust)}.oc-ai-role-grid h3{font-family:Georgia,serif;font-size:35px;font-weight:400;margin:15px 0}.oc-ai-role-grid p,.oc-ai-note{font-family:Georgia,serif;line-height:1.6}.oc-ai-note{font-size:15px;max-width:750px;margin-top:35px}.oc-ai-friction{padding:120px 0;background:#faf8f2}.oc-ai-friction h2{font-size:clamp(55px,7vw,95px);line-height:.92}.oc-ai-friction>div>p:not(.oc-label){font-family:Georgia,serif;font-size:20px;line-height:1.65;max-width:790px}.oc-ai-checks{display:flex;flex-wrap:wrap;gap:10px;margin-top:45px}.oc-ai-checks span{padding:12px 15px;border:1px solid var(--oc-line);font-size:10px;letter-spacing:.1em;font-weight:800}.oc-ai-history{padding:120px 0;background:var(--oc-ink);color:var(--oc-paper)}.oc-ai-history .oc-label{color:#9eb9cc}.oc-ai-history h2{font-size:clamp(48px,6vw,84px);line-height:.97;max-width:1000px}.oc-ai-years{display:grid;grid-template-columns:repeat(4,1fr);margin-top:60px;border-top:1px solid rgba(255,255,255,.25)}.oc-ai-years article{padding:30px 25px 15px 0}.oc-ai-years b{font-family:Georgia,serif;font-size:28px;color:#9eb9cc}.oc-ai-years p{font-family:Georgia,serif;line-height:1.5}.oc-ai-close{padding:140px 0;background:var(--oc-paper)}.oc-ai-close h2{font-size:clamp(55px,8vw,105px);line-height:.9;max-width:1100px}.oc-archive-hero{padding:180px 0 115px;background:var(--oc-paper)}.oc-archive-hero h1{font-family:Georgia,serif;font-size:clamp(62px,8vw,116px);line-height:.88;letter-spacing:-.05em;font-weight:400;margin:0 0 40px;color:var(--oc-ink)}.oc-archive-principle{padding:120px 0;background:var(--oc-blue);color:#f7f4ed}.oc-archive-principle .oc-label{color:#e5b7a6}.oc-archive-principle h2{font-family:Georgia,serif;font-size:clamp(46px,5vw,76px);font-weight:400;line-height:1;margin-top:0}.oc-archive-principle p{font-family:Georgia,serif;font-size:20px;line-height:1.65}.oc-archive-views{padding:110px 0;background:var(--oc-warm)}.oc-view-grid{display:grid;grid-template-columns:1fr 1fr;margin-top:35px;border-top:1px solid var(--oc-line)}.oc-view-grid article{padding:45px 45px 25px 0}.oc-view-grid article+article{padding-left:45px;border-left:1px solid var(--oc-line)}.oc-view-grid span{font-size:10px;letter-spacing:.15em;font-weight:800;color:var(--oc-rust)}.oc-view-grid h2{font-family:Georgia,serif;font-size:45px;font-weight:400;margin:16px 0}.oc-view-grid p{font-family:Georgia,serif;font-size:18px;line-height:1.6}.oc-archive-timeline{padding:120px 0;background:#faf8f2}.oc-archive-timeline>div>h2,.oc-archive-history h2,.oc-archive-close h2{font-family:Georgia,serif;font-weight:400;letter-spacing:-.04em}.oc-archive-timeline>div>h2{font-size:clamp(52px,7vw,90px);margin:0 0 60px}.oc-year{display:grid;grid-template-columns:180px 1fr;border-top:1px solid var(--oc-line);padding:38px 0}.oc-year>strong{font-family:Georgia,serif;font-size:38px;color:var(--oc-rust)}.oc-year h3{font-family:Georgia,serif;font-size:32px;font-weight:400;margin:0 0 10px}.oc-year p{font-family:Georgia,serif;font-size:18px;line-height:1.6;max-width:720px}.oc-archive-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}.oc-archive-tags span{font-size:9px;letter-spacing:.13em;font-weight:800;border:1px solid var(--oc-line);padding:9px 11px}.oc-year-open{opacity:.72}.oc-archive-history{padding:120px 0;background:var(--oc-ink);color:var(--oc-paper)}.oc-archive-history .oc-label{color:#e5b7a6}.oc-archive-history h2{font-size:clamp(52px,7vw,92px);line-height:.95;max-width:1000px}.oc-history-example{display:grid;grid-template-columns:repeat(3,1fr);margin-top:60px;border-top:1px solid rgba(255,255,255,.25)}.oc-history-example article{padding:35px 35px 10px 0}.oc-history-example b{font-size:10px;letter-spacing:.15em;color:#e5b7a6}.oc-history-example h3{font-family:Georgia,serif;font-size:30px;font-weight:400}.oc-history-example p{font-family:Georgia,serif;line-height:1.6;opacity:.8}.oc-archive-close{padding:140px 0;background:var(--oc-warm)}.oc-archive-close h2{font-size:clamp(58px,8vw,105px);line-height:.9;max-width:1050px;margin-bottom:35px}.oc-archive-close p:not(.oc-label){font-family:Georgia,serif;font-size:25px}.oc-dev-hero{padding:180px 0 115px;background:var(--oc-ink);color:var(--oc-paper)}.oc-dev-hero .oc-kicker{color:#e5b7a6}.oc-dev-hero h1{font-family:Georgia,serif;font-size:clamp(70px,10vw,135px);line-height:.84;letter-spacing:-.055em;font-weight:400;margin:0 0 40px}.oc-dev-hero h1 em{font-weight:400;color:#8caac0}.oc-dev-intro{padding:115px 0;background:var(--oc-paper)}.oc-dev-intro h2{font-family:Georgia,serif;font-size:clamp(45px,5vw,72px);font-weight:400;line-height:1;margin-top:0}.oc-dev-intro p{font-family:Georgia,serif;font-size:20px;line-height:1.65}.oc-dev-feature{padding:120px 0;background:var(--oc-blue);color:#f7f4ed}.oc-dev-feature .oc-wrap{display:grid;grid-template-columns:1fr 5fr;gap:60px}.oc-dev-number{font-family:Georgia,serif;font-size:70px;color:#e5b7a6;margin:0}.oc-dev-feature .oc-label{color:#e5b7a6}.oc-dev-copy h2{font-family:Georgia,serif;font-size:clamp(55px,7vw,100px);font-weight:400;line-height:.9;letter-spacing:-.045em;margin:18px 0 35px}.oc-dev-lead{font-family:Georgia,serif;font-size:27px;line-height:1.45;max-width:800px}.oc-dev-copy>p:not(.oc-label):not(.oc-dev-lead):not(.oc-dev-note){font-family:Georgia,serif;font-size:19px;line-height:1.65;max-width:760px}.oc-dev-principle{margin:55px 0;padding:28px 0;border-top:1px solid rgba(255,255,255,.3);border-bottom:1px solid rgba(255,255,255,.3)}.oc-dev-principle span{display:block;font-size:10px;letter-spacing:.15em;color:#e5b7a6;font-weight:800;margin-bottom:12px}.oc-dev-principle strong{font-family:Georgia,serif;font-size:30px;font-weight:400}.oc-dev-note{font-size:13px;line-height:1.6;opacity:.75;max-width:650px}.oc-dev-lab{padding:120px 0;background:var(--oc-warm)}.oc-dev-lab h2,.oc-dev-close h2{font-family:Georgia,serif;font-weight:400;letter-spacing:-.04em}.oc-dev-lab h2{font-size:clamp(50px,6vw,85px);line-height:.96;max-width:900px}.oc-dev-lab>div>p:not(.oc-label){font-family:Georgia,serif;font-size:20px;line-height:1.65;max-width:760px}.oc-dev-flow{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:55px;font-size:11px;letter-spacing:.14em;font-weight:800}.oc-dev-flow b{color:var(--oc-rust)}.oc-dev-close{padding:130px 0;background:#faf8f2}.oc-dev-close h2{font-size:clamp(50px,7vw,94px);line-height:.94;max-width:1050px;margin-bottom:35px}.oc-dev-close p:not(.oc-label){font-family:Georgia,serif;font-size:21px;line-height:1.65;max-width:760px}.oc-lessons-hero{padding:180px 0 115px;background:var(--oc-paper)}.oc-lessons-hero h1{font-family:Georgia,serif;font-size:clamp(68px,9vw,126px);line-height:.88;letter-spacing:-.055em;font-weight:400;margin:0 0 40px;color:var(--oc-blue)}.oc-lessons-intro{padding:115px 0;background:var(--oc-warm)}.oc-lessons-intro h2,.oc-lessons-topics h2,.oc-lessons-evolve h2,.oc-lessons-close h2{font-family:Georgia,serif;font-weight:400;letter-spacing:-.035em}.oc-lessons-intro h2{font-size:clamp(42px,5vw,70px);line-height:1.02;margin-top:0}.oc-lessons-intro p{font-family:Georgia,serif;font-size:20px;line-height:1.65}.oc-lessons-intro blockquote{font-family:Georgia,serif;font-size:28px;line-height:1.35;margin:45px 0 0;padding-left:28px;border-left:3px solid var(--oc-rust)}.oc-lessons-framework{padding:105px 0;background:var(--oc-ink);color:var(--oc-paper)}.oc-lessons-framework .oc-label{color:#e5b7a6}.oc-lesson-steps{display:grid;grid-template-columns:repeat(3,1fr);margin-top:35px;border-top:1px solid rgba(255,255,255,.22)}.oc-lesson-steps article{padding:35px 30px 35px 0;border-bottom:1px solid rgba(255,255,255,.22)}.oc-lesson-steps b{font-size:11px;letter-spacing:.14em;color:#e5b7a6}.oc-lesson-steps h3{font-family:Georgia,serif;font-size:28px;font-weight:400}.oc-lessons-topics{padding:120px 0;background:var(--oc-blue);color:#f7f4ed}.oc-lessons-topics .oc-label{color:#e5b7a6}.oc-lessons-topics h2{font-size:clamp(48px,6vw,82px);line-height:.98;max-width:850px}.oc-topic-grid{display:flex;flex-wrap:wrap;gap:10px;margin-top:50px}.oc-topic-grid span{border:1px solid rgba(255,255,255,.35);padding:13px 16px;font-size:10px;letter-spacing:.13em;font-weight:800}.oc-lessons-evolve{padding:120px 0;background:#faf8f2}.oc-lessons-evolve h2{font-size:clamp(50px,7vw,92px);line-height:.95;margin-bottom:30px}.oc-lessons-evolve>div>p:not(.oc-label){font-family:Georgia,serif;font-size:20px;line-height:1.65;max-width:760px}.oc-timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:65px;border-top:1px solid var(--oc-line)}.oc-timeline article{padding:30px 30px 10px 0}.oc-timeline b{font-family:Georgia,serif;font-size:40px;color:var(--oc-rust);display:block}.oc-timeline span{font-weight:800;font-size:11px;letter-spacing:.12em}.oc-timeline p{font-family:Georgia,serif}.oc-lessons-close{padding:130px 0;background:var(--oc-warm)}.oc-lessons-close h2{font-size:clamp(52px,7vw,96px);line-height:.94;max-width:1050px;margin:0 0 35px}.oc-lessons-close p:not(.oc-label){font-family:Georgia,serif;font-size:25px}.oc-lab-hero{padding:180px 0 110px;background:var(--oc-ink);color:var(--oc-paper)}.oc-lab-hero .oc-kicker{color:#e5b7a6}.oc-lab-hero h1{font-family:Georgia,serif;font-size:clamp(75px,11vw,150px);line-height:.78;letter-spacing:-.06em;font-weight:400;margin:0}.oc-lab-hero h1 em{font-weight:400;color:#b97555}.oc-lab-manifesto{padding:115px 0;background:var(--oc-warm)}.oc-lab-manifesto h2{font-family:Georgia,serif;font-size:clamp(44px,5vw,72px);font-weight:400;line-height:1.02;margin:0 0 30px}.oc-lab-manifesto .oc-two div>p{font-family:Georgia,serif;font-size:20px;line-height:1.65}.oc-lab-stories{background:#faf8f2}.oc-lab-stories article{padding:100px 0;border-bottom:1px solid var(--oc-line);max-width:950px}.oc-lab-tag{font-size:10px;letter-spacing:.18em;font-weight:800;color:var(--oc-rust);margin-bottom:25px}.oc-lab-stories h2{font-family:Georgia,serif;font-size:clamp(44px,5vw,72px);font-weight:400;line-height:1;letter-spacing:-.035em;margin:0 0 30px}.oc-lab-stories p{font-family:Georgia,serif;font-size:19px;line-height:1.65;max-width:790px}.oc-lab-more{padding:110px 0;background:var(--oc-blue);color:#f7f4ed}.oc-lab-more .oc-label{color:#e5b7a6}.oc-lab-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(255,255,255,.25)}.oc-lab-grid article{padding:40px 40px 40px 0;border-bottom:1px solid rgba(255,255,255,.25)}.oc-lab-grid article:nth-child(even){padding-left:40px;border-left:1px solid rgba(255,255,255,.25)}.oc-lab-grid span{font-size:10px;letter-spacing:.16em;font-weight:800;color:#e5b7a6}.oc-lab-grid h3{font-family:Georgia,serif;font-size:31px;font-weight:400;margin:18px 0}.oc-lab-close{padding:130px 0;background:var(--oc-paper)}.oc-lab-close h2{font-family:Georgia,serif;font-size:clamp(50px,7vw,92px);line-height:.95;font-weight:400;letter-spacing:-.04em;max-width:1000px;margin:0 0 35px}.oc-lab-close>div>p:not(.oc-label){font-family:Georgia,serif;font-size:21px;line-height:1.65;max-width:730px}.oc-writing-hero{padding:180px 0 110px;background:var(--oc-paper)}.oc-writing-hero h1{font-family:Georgia,serif;font-size:clamp(65px,9vw,128px);line-height:.88;letter-spacing:-.055em;font-weight:400;margin:0}.oc-writing-hero h1 em{font-weight:400;color:var(--oc-blue)}.oc-writing-intro{padding:115px 0;background:#faf8f2}.oc-writing-intro h2{font-family:Georgia,serif;font-size:clamp(44px,5vw,72px);font-weight:400;line-height:1.02;letter-spacing:-.035em;margin:0 0 30px}.oc-writing-intro .oc-two div>p{font-family:Georgia,serif;font-size:20px;line-height:1.65}.oc-writing-types{background:var(--oc-ink);color:var(--oc-paper);padding:0 max(32px,calc((100vw - 1180px)/2))}.oc-writing-types .oc-wrap{width:100%;max-width:1180px}.oc-writing-types article{display:grid;grid-template-columns:210px 1fr .65fr;gap:45px;align-items:center;padding:65px 0;border-bottom:1px solid rgba(241,238,229,.2)}.oc-writing-types article>span{font-size:10px;letter-spacing:.16em;font-weight:800;color:#c98b75}.oc-writing-types h2{font-family:Georgia,serif;font-size:clamp(38px,4.5vw,62px);font-weight:400;line-height:1;margin:0}.oc-writing-types p{font-family:Georgia,serif;font-size:17px;line-height:1.6;margin:0}.oc-writing-types .oc-link{grid-column:3;color:#f7f4ed;border-color:#f7f4ed;margin-top:-22px}.oc-writing-note{padding:130px 0;background:var(--oc-warm)}.oc-writing-note h2{font-family:Georgia,serif;font-size:clamp(48px,6.5vw,88px);font-weight:400;line-height:.98;letter-spacing:-.04em;max-width:1000px;margin:0 0 40px}.oc-writing-note>div>p:not(.oc-label){font-family:Georgia,serif;font-size:21px;line-height:1.65;max-width:750px}.oc-research-hero{padding:180px 0 110px;background:var(--oc-paper)}.oc-research-hero h1{font-family:Georgia,serif;font-size:clamp(65px,9vw,128px);line-height:.88;letter-spacing:-.055em;font-weight:400;margin:0}.oc-research-hero h1 em{color:var(--oc-rust);font-weight:400}.oc-research-method{padding:110px 0;background:var(--oc-warm)}.oc-research-method h2{font-family:Georgia,serif;font-size:clamp(40px,4.5vw,65px);font-weight:400;line-height:1.03;margin:0 0 30px}.oc-research-method .oc-two div>p{font-family:Georgia,serif;font-size:20px;line-height:1.65}.oc-methodline{display:flex!important;flex-wrap:wrap;gap:12px;align-items:center;margin-top:42px}.oc-methodline span{font-size:10px;letter-spacing:.12em;font-weight:800}.oc-methodline b{color:var(--oc-rust)}.oc-project-list{background:#faf8f2}.oc-project-card{display:grid;grid-template-columns:.38fr 1fr;gap:90px;padding:105px max(32px,calc((100vw - 1180px)/2));border-bottom:1px solid var(--oc-line)}.oc-project-meta span,.oc-project-meta small{display:block;font-size:10px;letter-spacing:.15em;font-weight:800}.oc-project-meta span{color:var(--oc-rust);margin-bottom:12px}.oc-project-meta small{line-height:1.6;color:var(--oc-sage)}.oc-num{font-size:12px;font-weight:800;color:var(--oc-rust);letter-spacing:.15em}.oc-project-copy h2{font-family:Georgia,serif;font-size:clamp(44px,5vw,72px);line-height:1;font-weight:400;letter-spacing:-.035em;margin:16px 0 30px;max-width:850px}.oc-project-copy>p:not(.oc-num){font-family:Georgia,serif;font-size:19px;line-height:1.65;max-width:800px}.oc-project-lead{font-size:25px!important}.oc-project-blue{background:var(--oc-blue);color:#f7f4ed}.oc-project-blue .oc-project-meta span,.oc-project-blue .oc-num{color:#e5b7a6}.oc-project-blue .oc-project-meta small{color:#d6e0e7}.oc-project-blue .oc-link{color:#f7f4ed;border-color:#f7f4ed}.oc-research-close{padding:130px 0;background:var(--oc-ink);color:var(--oc-paper)}.oc-research-close .oc-label{color:#e5b7a6}.oc-research-close h2{font-family:Georgia,serif;font-size:clamp(50px,7vw,92px);line-height:.95;font-weight:400;letter-spacing:-.04em;margin:0 0 35px}.oc-research-close>div>p:not(.oc-label){font-family:Georgia,serif;font-size:21px;line-height:1.6;max-width:720px}.oc-research-close .oc-link{color:#f7f4ed;border-color:#f7f4ed}.oc-about-hero{padding:180px 0 110px;background:var(--oc-paper)}.oc-about-hero h1{font-family:Georgia,serif;font-size:clamp(65px,9vw,128px);line-height:.88;letter-spacing:-.055em;font-weight:400;margin:0}.oc-about-hero h1 em{color:var(--oc-blue);font-weight:400}.oc-about-hero .oc-thesis{max-width:850px}.oc-about-story,.oc-turn,.oc-path,.oc-principles,.oc-about-close{padding:120px 0}.oc-about-story{background:#faf8f2}.oc-about-story blockquote{font-family:Georgia,serif;font-size:30px;line-height:1.35;margin:50px 0 0;padding:28px 0 28px 30px;border-left:3px solid var(--oc-rust)}.oc-turn{background:var(--oc-blue);color:#f7f4ed}.oc-turn .oc-label{color:#e5b7a6}.oc-path{background:var(--oc-paper)}.oc-timeline{margin-top:40px;border-top:1px solid var(--oc-line)}.oc-timeline article{display:grid;grid-template-columns:170px .8fr 1fr;gap:35px;padding:38px 0;border-bottom:1px solid var(--oc-line);align-items:start}.oc-timeline span{font-size:10px;letter-spacing:.16em;font-weight:800;color:var(--oc-rust)}.oc-timeline h3{font-family:Georgia,serif;font-size:30px;font-weight:400;margin:0}.oc-timeline p{margin:0;line-height:1.65}.oc-principles{background:var(--oc-ink);color:var(--oc-paper)}.oc-principles .oc-label{color:#e5b7a6}.oc-principle-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(241,238,229,.2)}.oc-principle-grid article{padding:45px 45px 45px 0;border-bottom:1px solid rgba(241,238,229,.2)}.oc-principle-grid article:nth-child(even){padding-left:45px;border-left:1px solid rgba(241,238,229,.2)}.oc-principle-grid b{color:#c98b75;font-size:11px}.oc-principle-grid h3{font-family:Georgia,serif;font-size:32px;font-weight:400;margin:18px 0}.oc-principle-grid p{line-height:1.65;color:#dedbd2}.oc-about-close{background:var(--oc-warm)}.oc-about-close h2{font-family:Georgia,serif;font-size:clamp(50px,7vw,92px);line-height:.95;font-weight:400;letter-spacing:-.04em;margin:0 0 35px;max-width:900px}.oc-about-close>div>p:not(.oc-label){font-family:Georgia,serif;font-size:21px;line-height:1.6;max-width:720px}.oc-home footer{background:var(--oc-ink);color:var(--oc-paper);padding:42px 0}.oc-home footer .oc-wrap{display:flex;justify-content:space-between;font-size:12px;letter-spacing:.08em}@media(max-width:760px){.oc-wrap{width:calc(100% - 34px)}.oc-nav{height:78px}.oc-nav nav{display:none}.oc-hero{min-height:85vh;padding:120px 0 65px}.oc-hero h1{font-size:clamp(70px,24vw,110px);line-height:.78}.oc-thesis{margin-top:52px;font-size:23px}.oc-scroll{margin-top:50px}.oc-two{grid-template-columns:1fr;gap:20px}.oc-intro,.oc-feature,.oc-development,.oc-connect{padding:80px 0}.oc-dev-grid{grid-template-columns:1fr}.oc-dev-grid article{padding:30px 0}.oc-dev-grid article+article{padding-left:0;border-left:0;border-top:1px solid var(--oc-line)}.oc-two h2,.oc-archive h2{font-size:44px}.oc-two div>p,.oc-archive p:last-child{font-size:18px}.oc-worlds{padding:75px 0}.oc-worlds article{grid-template-columns:36px 1fr 24px;gap:10px;padding:36px 0}.oc-worlds article h2{font-size:37px}.oc-archive{padding:90px 0}.oc-about-hero{padding:130px 0 75px}.oc-about-hero h1{font-size:62px}.oc-about-story,.oc-turn,.oc-path,.oc-principles,.oc-about-close{padding:80px 0}.oc-about-story blockquote{font-size:24px;margin-top:35px}.oc-timeline article{grid-template-columns:1fr;gap:10px;padding:30px 0}.oc-principle-grid{grid-template-columns:1fr}.oc-principle-grid article,.oc-principle-grid article:nth-child(even){padding:32px 0;border-left:0}.oc-about-close h2{font-size:52px}.oc-home footer .oc-wrap{display:grid;gap:8px}}

/* Final screenshot-specific overrides: target the actual homepage markup */
.oc-hero-copy > p + p + div,
.oc-hero-copy > div:has(a[href*="/archive"]),
.oc-hero-copy > div:has(a[href*="/about"]){
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:16px 28px!important;
}
.oc-hero-copy a[href*="/archive"],
.oc-hero-copy a[href*="/about"]{
  display:inline-flex!important;
  width:auto!important;
  margin:0!important;
  padding:11px 16px!important;
  line-height:1.15!important;
  text-decoration:none!important;
}
.oc-hero-copy a[href*="/archive"]{
  background:var(--oc-blue)!important;
  border:1px solid var(--oc-blue)!important;
  color:#fff!important;
}
.oc-hero-copy a[href*="/about"]{
  background:transparent!important;
  border:1px solid var(--oc-sage)!important;
  color:var(--oc-sage)!important;
}

/* Homepage Explore uses oc-index, not oc-worlds. */
.oc-index{
  background:#f1eee5!important;
  color:#171714!important;
}
.oc-index *{color:#171714!important}
.oc-index .oc-label,.oc-index .oc-kicker,.oc-index small{color:var(--oc-blue)!important}
.oc-index a{color:#171714!important;text-decoration-color:var(--oc-blue)!important}
.oc-index a:hover,.oc-index a:focus-visible{color:var(--oc-blue)!important}
.oc-index-row,.oc-index article{border-color:rgba(23,23,20,.25)!important}

/* Mobile navigation */
.oc-menu-toggle{display:none;background:transparent;border:0;color:inherit;font:inherit;cursor:pointer}
@media(max-width:760px){
 .oc-header .oc-nav{position:relative;overflow:visible!important}
 .oc-menu-toggle{display:flex;align-items:center;gap:8px;margin-left:auto;padding:9px 0;font-size:.76rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
 .oc-menu-toggle b{font-size:1.25rem;font-weight:400;line-height:1}
 .oc-header .oc-nav>nav{display:none!important;position:absolute;z-index:50;left:0;right:0;top:calc(100% + 1px);padding:12px max(20px,calc((100vw - 1180px)/2));background:#171714;border-top:1px solid rgba(255,255,255,.12);box-shadow:0 16px 30px rgba(0,0,0,.18)}
 .oc-header .oc-nav>nav.is-open{display:flex!important;flex-direction:column;align-items:stretch;gap:0}
 .oc-header .oc-nav>nav a{display:block!important;padding:14px 20px!important;color:#f1eee5!important;border-bottom:1px solid rgba(255,255,255,.1);font-size:1rem!important}
 .oc-header .oc-nav>nav a:last-child{border-bottom:0}
}

/* Real archive artifacts */
.oc-artifact-feature,.oc-framework-gallery{padding:clamp(64px,9vw,120px) 0;background:var(--oc-paper);color:var(--oc-ink)}
.oc-artifact-pair{display:grid;grid-template-columns:repeat(2,minmax(0,280px));gap:18px;justify-content:start}
.oc-artifact-pair figure,.oc-framework-grid figure{margin:0}
.oc-artifact-image{display:block;width:100%;max-width:280px;height:auto;aspect-ratio:4/5;object-fit:cover}
.oc-artifact-pair figcaption,.oc-framework-grid figcaption{margin-top:10px;font-size:.72rem;letter-spacing:.13em;font-weight:700;color:var(--oc-blue)}
.oc-framework-gallery{background:#e7e9e3}
.oc-framework-gallery> .oc-wrap > h2{max-width:16ch;font-size:clamp(2.6rem,6vw,5rem);line-height:.96}
.oc-gallery-intro{max-width:760px;font-size:1.12rem;line-height:1.65}
.oc-framework-grid{display:grid;grid-template-columns:repeat(2,minmax(0,380px));gap:32px;margin-top:40px;justify-content:start}
.oc-framework-image{display:block;width:100%;max-width:380px;height:auto;background:#fff;border:1px solid var(--oc-line)}
.oc-artifact-note{max-width:680px;margin-top:32px;font-size:.95rem;line-height:1.6;color:#536672}
@media(max-width:760px){
 .oc-artifact-feature .oc-two{grid-template-columns:1fr!important}
 .oc-artifact-pair{grid-template-columns:repeat(2,minmax(0,110px));gap:12px;margin-top:26px}
 .oc-artifact-pair figure{width:110px}
 .oc-artifact-image{width:110px!important;max-width:110px!important;height:auto!important}
 .oc-framework-grid{grid-template-columns:1fr;gap:28px;justify-items:start}
 .oc-framework-grid figure{width:min(72vw,240px)}
 .oc-framework-image{width:100%!important;max-width:240px!important;height:auto!important}
 .oc-framework-grid figcaption{max-width:240px}
}

/* Mobile editorial refinement — preserve desktop composition, improve phone reading */
@media(max-width:760px){
  body.oc-home .oc-hero{padding-top:56px!important}
  body.oc-home .oc-hero h1{
    font-size:clamp(3.9rem,18vw,5.7rem)!important;
    line-height:.84!important;
    letter-spacing:-.055em!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
  body.oc-home .oc-hero .oc-thesis{
    font-size:clamp(1.55rem,7vw,2rem)!important;
    line-height:1.2!important;
    max-width:19ch!important;
  }
  body.oc-home .oc-hero-note{
    font-size:1.05rem!important;
    line-height:1.55!important;
    max-width:34ch!important;
  }
  body.oc-home .oc-hero-actions{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:12px!important;
  }
  body.oc-home .oc-hero-actions a.oc-button{
    width:auto!important;
    min-height:46px!important;
  }
  body.oc-home .oc-hero-portrait{
    margin-top:34px!important;
    min-height:220px!important;
  }
  body.oc-home section.oc-worlds a.oc-world-link article{
    grid-template-columns:42px minmax(0,1fr) 28px!important;
    gap:16px!important;
    padding:32px 0!important;
  }
  body.oc-home section.oc-worlds a.oc-world-link article h2{
    font-size:clamp(2.25rem,10vw,3.4rem)!important;
    line-height:.95!important;
    letter-spacing:-.035em!important;
  }
  body.oc-home section.oc-worlds a.oc-world-link article p{
    font-size:.76rem!important;
    letter-spacing:.13em!important;
  }
}

/* FINAL screenshot fixes — intentionally high-specificity */
body.oc-home section.oc-worlds{
  background:#f1eee5!important;
  color:#171714!important;
}
body.oc-home section.oc-worlds .oc-label{color:#245d86!important}
body.oc-home section.oc-worlds a.oc-world-link,
body.oc-home section.oc-worlds a.oc-world-link article,
body.oc-home section.oc-worlds a.oc-world-link article span,
body.oc-home section.oc-worlds a.oc-world-link article p,
body.oc-home section.oc-worlds a.oc-world-link article h2,
body.oc-home section.oc-worlds a.oc-world-link article b{
  color:#171714!important;
}
body.oc-home section.oc-worlds a.oc-world-link article p{color:#245d86!important}
body.oc-home section.oc-worlds a.oc-world-link:nth-of-type(even) article p{color:#3f7655!important}

body.oc-home .oc-hero-actions{
  display:grid!important;
  grid-template-columns:max-content max-content max-content!important;
  align-items:center!important;
  justify-content:start!important;
  gap:0 18px!important;
  margin-top:30px!important;
}
body.oc-home .oc-hero-actions a.oc-button{
  display:inline-flex!important;
  width:auto!important;
  margin:0!important;
  padding:11px 16px!important;
  border:1px solid #171714!important;
  text-decoration:none!important;
  line-height:1.15!important;
}
body.oc-home .oc-hero-actions .oc-button-primary{
  background:#245d86!important;
  border-color:#245d86!important;
  color:#fff!important;
}
body.oc-home .oc-hero-actions .oc-button-secondary{
  background:transparent!important;
  border-color:#3f7655!important;
  color:#3f7655!important;
}
body.oc-home .oc-action-divider{display:block!important;color:#9b4a2f!important;font-size:1.25rem!important}

@media(max-width:480px){
 body.oc-home .oc-hero-actions{grid-template-columns:max-content!important;gap:10px!important}
 body.oc-home .oc-action-divider{display:none!important}
}

/* Screenshot-specific overrides: keep rust, surface blue + green, fix link separation and dark explore readability */
:root{
  --oc-rust:#9b4a2f;
  --oc-blue:#245d86;
  --oc-sage:#3f7655;
}
.oc-hero-actions,.oc-actions,.oc-cta-row{
  display:flex!important;
  align-items:center!important;
  gap:24px!important;
  column-gap:24px!important;
  row-gap:14px!important;
  flex-wrap:wrap!important;
}
.oc-hero-actions a,.oc-actions a,.oc-cta-row a{
  display:inline-flex!important;
  width:auto!important;
  margin:0!important;
  padding:10px 16px!important;
  border:1px solid var(--oc-ink)!important;
  line-height:1.2!important;
  text-decoration:none!important;
}
.oc-hero-actions a:first-child,.oc-actions a:first-child,.oc-cta-row a:first-child{
  background:var(--oc-blue)!important;
  border-color:var(--oc-blue)!important;
  color:#fff!important;
}
.oc-hero-actions a:last-child,.oc-actions a:last-child,.oc-cta-row a:last-child{
  background:transparent!important;
  border-color:var(--oc-sage)!important;
  color:var(--oc-sage)!important;
}

/* The Explore block was inheriting dark section colors from older rules. Override every nested text/link. */
section.oc-worlds,section.oc-explore,.oc-worlds,.oc-explore{
  background:#f1eee5!important;
  color:#171714!important;
}
section.oc-worlds *,section.oc-explore *,.oc-worlds *,.oc-explore *{
  color:#171714!important;
}
section.oc-worlds .oc-kicker,section.oc-explore .oc-kicker,.oc-worlds .oc-kicker,.oc-explore .oc-kicker{
  color:var(--oc-blue)!important;
}
section.oc-worlds a,section.oc-explore a,.oc-worlds a,.oc-explore a{
  color:var(--oc-blue)!important;
}
section.oc-worlds a:hover,section.oc-worlds a:focus-visible,
section.oc-explore a:hover,section.oc-explore a:focus-visible{
  color:var(--oc-sage)!important;
}

@media(max-width:760px){
  .oc-hero-actions,.oc-actions,.oc-cta-row{gap:12px 16px!important}
  .oc-hero-actions a,.oc-actions a,.oc-cta-row a{min-height:46px!important}
}

/* Omar Claxton — palette + mobile legibility correction
   Core identity: black, blue, green. Warm paper remains a neutral background only. */
:root{
  --oc-ink:#101315;
  --oc-paper:#f4f2eb;
  --oc-warm:#e7e9e3;
  --oc-rust:#244b6b;
  --oc-blue:#244b6b;
  --oc-sage:#2f6b4f;
  --oc-line:rgba(16,19,21,.22);
}
.oc-kicker,.oc-section-no,.oc-eyebrow,.oc-status-link{color:var(--oc-blue)!important}
.oc-accent,.oc-green{color:var(--oc-sage)!important}

/* Explore must be readable: light editorial field, dark type, blue/green accents. */
.oc-worlds,.oc-explore{background:var(--oc-paper)!important;color:var(--oc-ink)!important}
.oc-worlds h2,.oc-worlds h3,.oc-worlds p,.oc-worlds a,
.oc-explore h2,.oc-explore h3,.oc-explore p,.oc-explore a{color:var(--oc-ink)!important}
.oc-worlds .oc-kicker,.oc-explore .oc-kicker{color:var(--oc-blue)!important}
.oc-world-link{border-color:rgba(16,19,21,.28)!important}
.oc-world-link:hover,.oc-world-link:focus-visible{background:rgba(36,75,107,.07)!important}
.oc-world-link:nth-of-type(even):hover,.oc-world-link:nth-of-type(even):focus-visible{background:rgba(47,107,79,.07)!important}

/* CTAs read as two separate controls rather than one continuous link. */
.oc-hero-actions{display:flex!important;align-items:center;gap:12px!important;flex-wrap:wrap;margin-top:30px}
.oc-hero-actions a{display:inline-flex!important;align-items:center;min-height:44px;padding:10px 15px!important;border:1px solid var(--oc-ink);text-decoration:none!important;line-height:1.15}
.oc-hero-actions a:first-child{background:var(--oc-ink);color:var(--oc-paper)!important}
.oc-hero-actions a:last-child{color:var(--oc-blue)!important;border-color:var(--oc-blue)}
.oc-hero-actions a:hover,.oc-hero-actions a:focus-visible{background:var(--oc-blue);border-color:var(--oc-blue);color:#fff!important}

/* Omar Claxton — desktop navigation contrast correction */
.oc-header{background:#f1eee5!important;border-bottom:1px solid rgba(23,23,20,.18)}
.oc-header .oc-name,.oc-header .oc-nav nav a{color:#171714!important}
.oc-header .oc-nav nav a:hover,.oc-header .oc-nav nav a:focus-visible{color:#244b6b!important}
.oc-header .oc-brand-mini{border-color:rgba(23,23,20,.28)!important}

/* Omar Claxton — documentary/editorial homepage direction */
.oc-hero{background:linear-gradient(100deg,var(--oc-ink) 0%,#202329 58%,#303438 100%);color:var(--oc-paper)}
.oc-hero:after{content:"OC";color:rgba(241,238,229,.025)}
.oc-hero>.oc-wrap{position:relative;z-index:2}
.oc-hero-copy{max-width:760px;position:relative;z-index:2}
.oc-hero-eyebrow{font-size:10px;letter-spacing:.2em;font-weight:800;opacity:.72;margin:0 0 28px}
.oc-hero h1{font-size:clamp(60px,7.8vw,118px);line-height:.88;letter-spacing:-.05em}
.oc-hero h1 em{color:#b9cbd7}
.oc-hero .oc-thesis{font-size:clamp(22px,2vw,29px);margin-top:45px;max-width:690px}
.oc-hero-note{font-family:Georgia,serif;font-size:17px;line-height:1.65;max-width:650px;opacity:.78}
.oc-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}
.oc-button{display:inline-block;padding:14px 20px;border:1px solid rgba(241,238,229,.7);color:var(--oc-paper);text-decoration:none;font-size:10px;letter-spacing:.13em;text-transform:uppercase;font-weight:800}
.oc-button-primary{background:var(--oc-blue);border-color:var(--oc-blue)}
.oc-hero-portrait{position:absolute;right:0;top:50%;transform:translateY(-45%);width:min(31vw,360px);aspect-ratio:4/5;border:1px solid rgba(241,238,229,.18);display:grid;place-items:center;background:linear-gradient(145deg,rgba(46,125,50,.11),rgba(36,75,107,.22));opacity:.72}
.oc-hero-portrait span{text-align:center;font-size:9px;line-height:1.8;letter-spacing:.18em;font-weight:800;opacity:.55}
@media(min-width:1050px){.oc-hero-copy{max-width:720px}.oc-hero>.oc-wrap{padding-right:330px}}
@media(max-width:1049px){.oc-hero-portrait{display:none}}
@media(max-width:760px){.oc-hero h1{font-size:clamp(52px,16vw,82px);line-height:.9}.oc-hero .oc-thesis{margin-top:34px}.oc-hero-note{font-size:16px}.oc-hero-actions{margin-top:28px}}

/* Omar Claxton — final responsive and accessibility guardrails */
.oc-home a:focus-visible{outline:3px solid var(--oc-rust);outline-offset:4px}.oc-status-link,.oc-links span{display:inline-block;margin-top:24px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:800;color:var(--oc-sage)}.oc-links span{margin-top:0;padding:10px 0;border-bottom:1px solid var(--oc-line)}
.oc-world-link:focus-visible{outline-color:#f7f4ed}
.oc-nav nav a{padding:10px 2px}
@media (prefers-reduced-motion:reduce){
  .oc-world-link article{transition:none}
  html:focus-within{scroll-behavior:auto}
}
@media(max-width:760px){
  .oc-header{position:relative}
  .oc-nav{height:auto;min-height:96px;padding:18px 0 12px;align-items:flex-start;gap:12px;flex-direction:column}
  .oc-nav nav{display:flex;width:100%;gap:6px 16px;overflow-x:auto;flex-wrap:nowrap;padding-bottom:6px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .oc-nav nav::-webkit-scrollbar{display:none}
  .oc-nav nav a{font-size:10px;letter-spacing:.08em;flex:0 0 auto}
  .oc-hero,.oc-about-hero,.oc-writing-hero,.oc-research-hero,.oc-lab-hero,.oc-lessons-hero,.oc-dev-hero,.oc-archive-hero,.oc-ai-hero{padding-top:78px}
  .oc-writing-types{padding-left:17px;padding-right:17px}
  .oc-writing-types article{grid-template-columns:1fr;gap:18px;padding:42px 0}
  .oc-writing-types .oc-link{grid-column:1;margin-top:0}
  .oc-project-card{grid-template-columns:1fr;gap:28px;padding:70px 17px}
  .oc-project-lead{font-size:22px!important}
  .oc-lesson-steps,.oc-history-example,.oc-timeline,.oc-ai-years{grid-template-columns:1fr}
  .oc-timeline article{grid-template-columns:1fr}
  .oc-archive-tags{display:flex;flex-wrap:wrap;gap:8px 10px;margin-top:24px}
  .oc-archive-tags span{display:inline-block;padding:7px 9px;border:1px solid var(--oc-line);font-size:9px;line-height:1.2;letter-spacing:.08em;font-weight:800}
}
@media(max-width:420px){
  .oc-name{font-size:19px}
  .oc-brand-mini{width:27px;height:27px}
  .oc-hero h1{font-size:clamp(64px,22vw,92px)}
}

/*
Tags: one-column, custom-colors, custom-menu, custom-logo, e-commerce, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments

Extendable is a derivative work of the code from the
Twenty Twenty-Two WordPress Theme, which is licensed GPLv2.

Extendable WordPress Theme, Copyright (C) 2021-2025 Extendify Inc.
Extendable therefore is also distributed under the terms of the GNU GPL.
*/


/* Fallback for deprecate variables.
---------------------------------------------------------------------------- */
:root {
	--wp--custom--spacing--small: var(--wp--preset--spacing--30, clamp(1.5rem, 5vw, 2rem));
	--wp--custom--spacing--medium: var(--wp--preset--spacing--50, clamp(2.5rem, 8vw, 4rem));
	--wp--custom--spacing--large: var(--wp--preset--spacing--60, clamp(2.5rem, 8vw, 6rem));
	--wp--custom--spacing--outer: max(1.25rem, 4vw);
	--wp--preset--spacing--80: min(8rem, 12vw);
}

/*
 * A color-scheme meta otherwise lets OS dark mode restyle inputs and scrollbars.
 */

:root {
	color-scheme: only light;
}

/*
 * Smooth scrolling
 */

html {
	scroll-behavior: smooth;
}

/*
 * Font smoothing.
 * This is a niche setting that will not be available via Global Styles.
 * https://github.com/WordPress/gutenberg/issues/35934
 */

body {
	-moz-osx-font-smoothing: var(--wp--custom--typography--font-smoothing--moz, auto);
	-webkit-font-smoothing: var(--wp--custom--typography--font-smoothing--webkit, auto);
}

/*
 * Text and navigation link styles.
 * Necessary until the following issue is resolved in Gutenberg:
 * https://github.com/WordPress/gutenberg/issues/27075
 */

a {
	text-decoration-style: var(--wp--custom--elements--link--static--text-decoration-style, solid);
	text-decoration-thickness: var(--wp--custom--elements--link--text-decoration-thickness, 1px);
	text-underline-offset: var(--wp--custom--elements--link--text-underline-offset, 0.25ch);
}

a:hover,
a:focus {
	text-decoration-style: var(--wp--custom--elements--link--interactive--text-decoration-style, dashed);
}

:where(.wp-site-blocks *:focus) {
	outline-width: 1px;
	outline-style: solid;
}

a:active {
	text-decoration: none;
}

/*
 * Navigation Block
 */

@media (min-width: 600px) {

	.site-logo-title {
		display: none;
	}

	.wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) .wp-block-navigation__responsive-container-content .wp-block-navigation-item,
	.wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) .wp-block-navigation__responsive-container-content .wp-block-navigation__container,
	.wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) .wp-block-navigation__responsive-container-content .wp-block-page-list {
		align-items: flex-start !important;
	}
}

@media (max-width: 600px) {

	.has-modal-open .wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) .wp-block-navigation__responsive-container-content .wp-block-navigation-item,
	.has-modal-open .wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) .wp-block-navigation__responsive-container-content .wp-block-navigation__container,
	.has-modal-open .wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) .wp-block-navigation__responsive-container-content .wp-block-page-list {
		align-items: flex-start !important;
	}
}

.wp-block-navigation__responsive-container.has-modal-open.is-menu-open .site-logo-title {
	display: flex;
	flex-wrap: nowrap;
	max-width: 100%;
	align-items: center;
	gap: 0.5rem;
	padding-bottom: var(--wp--preset--spacing--30);
	position: relative;
	padding-inline-end: 52px;
}

.wp-block-navigation__responsive-container.has-modal-open.is-menu-open .site-logo-title::after {
	content: "";
	position: absolute;
	left: calc(-1 * var(--wp--preset--spacing--30));
	right: calc(-1 * var(--wp--preset--spacing--30));
	bottom: 0;
	height: 1px;
	background: #8080801d;
}

.wp-block-navigation__responsive-container.has-modal-open.is-menu-open .site-logo-title img {
	max-height: 42px !important;
	height: auto !important;
	width: auto !important;

}

.wp-block-navigation__responsive-container.has-modal-open.is-menu-open .site-logo-title .site-title {
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--wp--preset--color--foreground);
	text-transform: uppercase;
	letter-spacing: -0.02em;
	box-sizing: border-box;
	line-height: 1.15;
}

.wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) .wp-block-navigation__responsive-container-content {
	padding-top: var(--wp--preset--spacing--30);
}

.has-modal-open .wp-block-navigation__responsive-container-close {
	background-color: var(--wp--preset--color--tertiary);
	padding: 0.625rem;
	border-radius: 100%;
	top: -2.5px !important;
}

.has-modal-open .wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
	gap: 0 !important;
	width: 100%;
}

.has-modal-open .wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) .wp-block-navrigation__containe,
.has-modal-open .wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) .wp-block-navigation__container ul {
	row-gap: 0.75rem !important;
	width: -webkit-fill-available;
	max-width: 100%;
}

.has-modal-open .wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) .wp-block-navigation__responsive-container-content > ul.wp-block-navigation__container > li.wp-block-navigation-item:not(.wp-block-navigation__submenu-container) {
	border-bottom: 1px solid #8080801d;
	padding-top: 0.75rem;
	padding-bottom: 0.75rem;
	width: -webkit-fill-available;
	max-width: 100%;
}

.has-modal-open .wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) .wp-block-navigation__responsive-container-content .has-child .wp-block-navigation__submenu-container {
	padding: 0.75rem 0.75rem 0 0.75rem !important;
	gap: 0.75rem !important;
}

.has-modal-open .wp-block-navigation__responsive-container:not(.disable-default-overlay) .wp-block-navigation__responsive-dialog ul.wp-block-navigation__container > li:not(.wp-block-navigation__submenu-container) > a.wp-block-navigation-item__content {
	font-size: 1.25rem;
	font-weight: 600;
}

.has-modal-open .wp-block-navigation__responsive-container:not(.disable-default-overlay) .wp-block-navigation__submenu-container {
	padding-top: 0.75rem !important;
}

.has-modal-open .wp-block-navigation__responsive-container:not(.disable-default-overlay) .wp-block-navigation__responsive-dialog ul.wp-block-navigation__container .wp-block-navigation-submenu .wp-block-navigation-item a {
	font-size: 1rem !important;
}

/*
 * When the responsive navigation modal opens (WordPress sets .has-modal-open
 * on <html>), suppress every property on the modal's ancestor chain that
 * creates a containing block for position:fixed descendants — otherwise
 * the modal is trapped inside the header instead of overlaying the viewport.
 *
 * Two rules here:
 *
 * 1) Broad ancestor coverage — the header itself plus any element inside
 *    it that contains the responsive dialog. Handles transform/filter on
 *    any header variant (overlay, glass, floating-pill, future ones).
 *
 * 2) Animation override — mirrors the selectors used by the floating-pill
 *    scroll animations so we can match their specificity. Those animations
 *    use !important + a deep selector to apply translate/backdrop-filter
 *    via keyframes; without a same-or-higher-specificity override our broad
 *    rule loses the cascade and the animation keeps trapping the modal.
 */
html.has-modal-open header.wp-block-template-part,
html.has-modal-open header.wp-block-template-part :has(.wp-block-navigation__responsive-dialog) {
	backdrop-filter: none !important;
	transform: none !important;
	translate: none !important;
	filter: none !important;
	animation: none !important;
}

html.has-modal-open body:has(.entry-content > .ext-hero-section.ext-hero-section--full-screen:first-child) header.wp-block-template-part:has(.ext-header-sticky.ext-header-sticky--floating-pill.ext-header-glass) .ext-header-sticky.ext-header-sticky--floating-pill.ext-header-glass,
html.has-modal-open body:not(:has(.entry-content > .ext-hero-section.ext-hero-section--full-screen:first-child)) header.wp-block-template-part:has(.ext-header-sticky.ext-header-sticky--floating-pill.ext-header-glass) .ext-header-sticky.ext-header-sticky--floating-pill.ext-header-glass {
	animation: none !important;
	backdrop-filter: none !important;
	translate: none !important;
}

/*
 * Mobile nav-extras: cloned by navigation-customization.js into the
 * responsive menu dialog so phone / CTA / social aren't visible in the
 * cramped top bar on small screens. We target the specific modifier
 * classes (.ext-nav-extras-phone, -btn, -social) rather than the
 * .ext-nav-extras wrapper, because some header parts use the wrapper
 * class around the nav block itself.
 *
 * On desktop the dialog is rendered inline (it's only "modal-shaped"
 * when the hamburger opens it), so the cloned extras must stay hidden
 * until WordPress sets .has-modal-open on <html>.
 */
@media (max-width: 781px) {

	body:not(:has(.wp-block-navigation__responsive-container.disable-default-overlay)) header.wp-block-template-part :is(.ext-nav-extras-phone, .ext-nav-extras-btn, .ext-nav-extras-social):not(.ext-nav-extras-mobile *) {
		display: none;
	}

	/* Collapse the .ext-nav-extras wrapper too when its only children are the
	   extras (no nav inside) — otherwise the empty wrapper holds a flex slot
	   and the hamburger stays stuck in the middle instead of moving to the
	   end of the row. */
	header.wp-block-template-part .ext-nav-extras:not(:has(nav, .wp-block-navigation)) {
		display: none;
	}
}

.ext-nav-extras-mobile {
	display: none;
}

.has-modal-open .wp-block-navigation__responsive-dialog .ext-nav-extras-mobile {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: var(--wp--preset--spacing--20);
	margin-top: var(--wp--preset--spacing--30);
}

.has-modal-open .wp-block-navigation__responsive-dialog .ext-nav-extras-mobile .wp-block-button {
	width: 100%;
}

.has-modal-open .wp-block-navigation__responsive-dialog .ext-nav-extras-mobile .wp-block-button__link {
	display: block;
	text-align: center;
	width: 100%;
}

/* Match the nav-link typography (see rule above) on the cloned phone CTA. */
.has-modal-open .wp-block-navigation__responsive-dialog .ext-nav-extras-mobile .ext-nav-extras-phone,
.has-modal-open .wp-block-navigation__responsive-dialog .ext-nav-extras-mobile .ext-nav-extras-phone a,
.has-modal-open .wp-block-navigation__responsive-dialog .ext-nav-extras-mobile .ext-nav-extras-phone p {
	font-size: 1.25rem !important;
	font-weight: 600 !important;
}

/* Bigger, more tappable social icons in the menu. */
.has-modal-open .wp-block-navigation__responsive-dialog .ext-nav-extras-mobile .wp-block-social-link {
	width: 32px;
	height: 32px;
}

.has-modal-open .wp-block-navigation__responsive-dialog .ext-nav-extras-mobile .wp-social-link svg {
	width: 28px;
	height: 28px;
}

.wp-block-navigation .wp-block-navigation-item a:hover,
.wp-block-navigation .wp-block-navigation-item a:focus {
	text-decoration: underline;
	text-decoration-style: solid;
}

/* Don't display the homepage in the Page List block, when located inside a navigation element. */
nav .wp-block-pages-list__item.wp-block-navigation-item.menu-item-home {
	display: none;
}

/*
 * Responsive menu container padding.
 * This ensures the responsive container inherits the same
 * spacing defined above. This behavior may be built into
 * the Block Editor in the future.
 */

.wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) {
	padding-top: var(--wp--preset--spacing--30);
	padding-bottom: var(--wp--preset--spacing--30);
	padding-right: var(--wp--preset--spacing--30);
	padding-left: var(--wp--preset--spacing--30);
}

/* Temporary: WP core ships this padding as a 4-value clamp() shorthand
   that some browsers fail to parse — re-declare as individual props. */
.wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) {
	padding-top: clamp(1rem, var(--wp--style--root--padding-top), 20rem);
	padding-right: clamp(1rem, var(--wp--style--root--padding-right), 20rem);
	padding-bottom: clamp(1rem, var(--wp--style--root--padding-bottom), 20rem);
	padding-left: clamp(1rem, var(--wp--style--root--padding-left), 20rem);
}

/*
 * --------------------------------------------------------
 *  Custom - blocks
 * --------------------------------------------------------
 */

/* Button
----------------------------------------------------------*/
.wp-element-button {
	transition: background-color 0.15s ease;
}

.wp-block-button .wp-block-button__link.is-style-outline:not(.has-background):hover,
.wp-block-button.is-style-outline > .wp-block-button__link:not(.has-background):hover {
	background-color: rgba(159, 159, 159, 0.2);
}

/* Table
----------------------------------------------------------*/
.wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
	background-color: var(--wp--custom--blocks--core-table--variant-stripes--color--background, var(--wp--preset--color--tertiary));
}

/* Template Part Block
----------------------------------------------------------*/

/* Temporary fix until template-part blocks support spacing */

footer.wp-block-template-part:not([style*="margin-top"]) {
	margin-top: 0;
}

/* Quote - 'Plain' variation
----------------------------------------------------------*/
blockquote:is(.is-style-plain) {
	border: none;
	padding-left: 0;
}

/* Search Block
----------------------------------------------------------*/
:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) {
	border-color: var(--wp--custom--elements--input--border--color);
	border-radius: var(--wp--custom--elements--button--border--radius);
	border-width: var(--wp--custom--elements--input--border--width);
}

:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) .wp-block-search__input {
	border-color: transparent;
}

.wp-block-search .wp-block-search__input {
	border-radius: var(--wp--custom--elements--button--border--radius);
}

/* Image
----------------------------------------------------------*/
.wp-block-image[style*="-radius"]:not([style*="overflow"]) {
	overflow: hidden;
}

/*
 * --------------------------------------------------------
 *  Custom - experimental
 * --------------------------------------------------------
 */

.block-editor-block-list__block.wp-block.is-default-size.wp-block-site-logo .components-resizable-box__container,
.wp-block-site-logo.is-default-size img {
	max-height: 42px !important;
	height: auto !important;
	width: auto !important;
}

/* Ensure default logo works well on light and dark backgrounds
----------------------------------------------------------*/
.wp-block-site-logo img[src*="extendify-demo-"],
.wp-block-site-logo img[src*="ext-custom-logo-"] {
	filter: var(--wp--preset--duotone--primary-foreground);
	min-width: 40px;
}


/*
 * Remove all animations, transitions and smooth scroll
 * for people that prefer not to see them.
 */
@media (prefers-reduced-motion: reduce) {

	html:focus-within {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

/*
 * Matching caret and focus outline colors.
 */
input,
textarea {
	caret-color: inherit;
	outline-color: inherit;
}

/*
 * Matching input with outline button style.
 */
:where(.wp-block-post-comments-form) input:not([type="submit"]),
:where(.wp-block-post-comments-form) textarea {
	background-color: var(--wp--preset--color--background);
	color: var(--wp--preset--color--foreground);
	border-color: inherit;
}


/*
 * Woocommerce temporarily customization until the woo blocks offer support
 */

.woocommerce-Tabs-panel--description h2,
.woocommerce-Reviews-title {
	font-size: var(--wp--preset--font-size--medium);
}

.wp-block-button.wc-block-components-product-button {
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: start;
	gap: 1rem;
}

.wp-block-button.wc-block-components-product-button a.added_to_cart {
	margin-top: 0;
}

.woocommerce-checkout.woocommerce-page header.wp-block-template-part nav.wp-block-navigation {
	visibility: hidden;
}

.wp-site-blocks .wp-block-group.woocommerce.product {
	margin-top: 0;
	margin-bottom: 0;
}

.wc-block-product-template__responsive {
	grid-row-gap: 2rem;
}

.wc-block-components-product-button__button {
	z-index: 1;
}

/*
 * Adds offset for sticky header overlap
 */

.sticky-header-offset-container .entry-content > .wp-block-group {
	scroll-margin-top: var(--wp--preset--spacing--60);
}

/*
 * Avoids parent/child color collision when child has no custom background.
 */

:not(.block-editor-block-preview__content-iframe)
.has-tertiary-background-color.has-background
[class*="is-style-ext-preset--group--"][class*="item-card-1"]:not(.has-background) {
	background-color: var(--wp--preset--color--background);
}

:not(.block-editor-block-preview__content-iframe)
.has-tertiary-background-color.has-background
[class*="is-style-ext-preset--group--"][class*="item-card-1"]:not(.has-background)::before {
	background-color: var(--wp--preset--color--background) !important;
}

:not(.block-editor-block-preview__content-iframe)
.has-tertiary-background-color.has-background
[class*="is-style-ext-preset--image--"]:not(.has-background)::before {
	background-color: var(--wp--preset--color--tertiary) !important;
}

:not(.block-editor-block-preview__content-iframe)
.has-tertiary-background-color.has-background
[class*="is-style-ext-preset--group--"][class*="item-card-1"]::before,
:not(.block-editor-block-preview__content-iframe)
.has-tertiary-background-color.has-background
[class*="is-style-ext-preset--media-text--"]::before {
	background-color: var(--wp--preset--color--background) !important;
}

.block-editor-block-preview__content-iframe
[class*="is-style-ext-preset--group--natural-1"][class*="item-card-1"] {
	background-color: transparent !important;
}

:root {
	--grid-vector-bg: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTQ0MCAxMDI0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogIDxnIG9wYWNpdHk9IjAuMDkiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utb3BhY2l0eT0iMC43IiBzdHJva2Utd2lkdGg9IjEuMjYwNyI+CiAgICA8bGluZSB4MT0iLTUwLjYxNzIiIHkxPSI2MjQuOTk1IiB4Mj0iMTQ2MC45NiIgeTI9IjYyNC45OTUiIC8+CiAgICA8bGluZSB4MT0iLTUwLjYxNzIiIHkxPSI5NDcuNzMzIiB4Mj0iMTQ2MC45NiIgeTI9Ijk0Ny43MzMiIC8+CiAgICA8bGluZSB4MT0iLTUwLjYxNzIiIHkxPSIzMDIuMjU2IiB4Mj0iMTQ2MC45NiIgeTI9IjMwMi4yNTYiIC8+CiAgICA8bGluZSB4MT0iLTUwLjYxNzIiIHkxPSI0NjMuNjI0IiB4Mj0iMTQ2MC45NiIgeTI9IjQ2My42MjQiIC8+CiAgICA8bGluZSB4MT0iLTUwLjYxNzIiIHkxPSI3ODYuMzYyIiB4Mj0iMTQ2MC45NiIgeTI9Ijc4Ni4zNjIiIC8+CiAgICA8bGluZSB4MT0iLTUwLjYxNzIiIHkxPSIxNDAuODg1IiB4Mj0iMTQ2MC45NiIgeTI9IjE0MC44ODUiIC8+CiAgICA8bGluZSB4MT0iLTUwLjYxNzIiIHkxPSI1NDQuMzExIiB4Mj0iMTQ2MC45NiIgeTI9IjU0NC4zMTEiIC8+CiAgICA8bGluZSB4MT0iLTUwLjYxNzIiIHkxPSI4NjcuMDQ5IiB4Mj0iMTQ2MC45NiIgeTI9Ijg2Ny4wNDkiIC8+CiAgICA8bGluZSB4MT0iLTUwLjYxNzIiIHkxPSIyMjEuNTczIiB4Mj0iMTQ2MC45NiIgeTI9IjIyMS41NzMiIC8+CiAgICA8bGluZSB4MT0iLTUwLjYxNzIiIHkxPSIzODIuOTQiIHgyPSIxNDYwLjk2IiB5Mj0iMzgyLjk0IiAvPgogICAgPGxpbmUgeDE9Ii01MC42MTcyIiB5MT0iNzA1LjY4MiIgeDI9IjE0NjAuOTYiIHkyPSI3MDUuNjgyIiAvPgogICAgPGxpbmUgeDE9Ii01MC42MTcyIiB5MT0iNjAuMjAxNyIgeDI9IjE0NjAuOTYiIHkyPSI2MC4yMDE3IiAvPgogICAgPGxpbmUgeDE9IjY0Mi4xMzgiIHkxPSItNDguODQ3NyIgeDI9IjY0Mi4xMzgiIHkyPSIxMTE4LjU2IiAvPgogICAgPGxpbmUgeDE9IjMxOS4zOTgiIHkxPSItNDguODQ3NyIgeDI9IjMxOS4zOTgiIHkyPSIxMTE4LjU2IiAvPgogICAgPGxpbmUgeDE9Ijk2NC44NzQiIHkxPSItNDguODQ3NyIgeDI9Ijk2NC44NzQiIHkyPSIxMTE4LjU2IiAvPgogICAgPGxpbmUgeDE9IjEyODcuNjEiIHkxPSItNDguODQ3NyIgeDI9IjEyODcuNjEiIHkyPSIxMTE4LjU2IiAvPgogICAgPGxpbmUgeDE9IjE1OC4wMjgiIHkxPSItNDguODQ3NyIgeDI9IjE1OC4wMjgiIHkyPSIxMTE4LjU2IiAvPgogICAgPGxpbmUgeDE9IjgwMy41MDQiIHkxPSItNDguODQ3NyIgeDI9IjgwMy41MDQiIHkyPSIxMTE4LjU2IiAvPgogICAgPGxpbmUgeDE9IjQ4MC43NjgiIHkxPSItNDguODQ3NyIgeDI9IjQ4MC43NjgiIHkyPSIxMTE4LjU2IiAvPgogICAgPGxpbmUgeDE9IjExMjYuMjQiIHkxPSItNDguODQ3NyIgeDI9IjExMjYuMjQiIHkyPSIxMTE4LjU2IiAvPgogICAgPGxpbmUgeDE9Ijc3LjM0NTIiIHkxPSItNDguODQ3NyIgeDI9Ijc3LjM0NTEiIHkyPSIxMTE4LjU2IiAvPgogICAgPGxpbmUgeDE9IjcyMi44MjIiIHkxPSItNDguODQ3NyIgeDI9IjcyMi44MjIiIHkyPSIxMTE4LjU2IiAvPgogICAgPGxpbmUgeDE9IjQwMC4wODEiIHkxPSItNDguODQ3NyIgeDI9IjQwMC4wODEiIHkyPSIxMTE4LjU2IiAvPgogICAgPGxpbmUgeDE9IjEwNDUuNTYiIHkxPSItNDguODQ3NyIgeDI9IjEwNDUuNTYiIHkyPSIxMTE4LjU2IiAvPgogICAgPGxpbmUgeDE9IjEzNjguMyIgeTE9Ii00OC44NDc3IiB4Mj0iMTM2OC4zIiB5Mj0iMTExOC41NiIgLz4KICAgIDxsaW5lIHgxPSIyMzguNzE1IiB5MT0iLTQ4Ljg0NzciIHgyPSIyMzguNzE1IiB5Mj0iMTExOC41NiIgLz4KICAgIDxsaW5lIHgxPSI4ODQuMTkyIiB5MT0iLTQ4Ljg0NzciIHgyPSI4ODQuMTkyIiB5Mj0iMTExOC41NiIgLz4KICAgIDxsaW5lIHgxPSI1NjEuNDUxIiB5MT0iLTQ4Ljg0NzciIHgyPSI1NjEuNDUxIiB5Mj0iMTExOC41NiIgLz4KICAgIDxsaW5lIHgxPSIxMjA2LjkzIiB5MT0iLTQ4Ljg0NzciIHgyPSIxMjA2LjkzIiB5Mj0iMTExOC41NiIgLz4KICA8L2c+CiAgPGcgb3BhY2l0eT0iMC41IiBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgPHJlY3QgeD0iODAzLjU2MyIgeT0iNzg2LjMwNSIgd2lkdGg9IjgwLjIyNjIiIGhlaWdodD0iODAuMjI2MiIgZmlsbC1vcGFjaXR5PSIwLjQiIC8+CiAgICA8cmVjdCB4PSI0MDAuMTQiIHk9Ijc4Ni4zMDUiIHdpZHRoPSI4MC4yMjYyIiBoZWlnaHQ9IjgwLjIyNjIiIGZpbGwtb3BhY2l0eT0iMC4xOCIgLz4KICAgIDxyZWN0IHg9IjExMjYuNzYiIHk9IjIyMi40MyIgd2lkdGg9IjgwLjIyNjIiIGhlaWdodD0iNzkuMDgwMSIgZmlsbC1vcGFjaXR5PSIwLjA4IiAvPgogICAgPHJlY3QgeD0iNDgwLjM2NyIgeT0iNDY0LjIwMyIgd2lkdGg9IjgwLjIyNjIiIGhlaWdodD0iNzkuMDgwMSIgZmlsbC1vcGFjaXR5PSIwLjEzIiAvPgogICAgPHJlY3QgeD0iMTA0NS4zOSIgeT0iMzAyLjY1NiIgd2lkdGg9IjgwLjIyNjIiIGhlaWdodD0iNzkuMDgwMSIgZmlsbC1vcGFjaXR5PSIwLjAzIiAvPgogICAgPHJlY3QgeD0iMzk5Ljk5NCIgeT0iMjIyLjQzIiB3aWR0aD0iODAuMjI2MiIgaGVpZ2h0PSI3OS4wODAxIiBmaWxsLW9wYWNpdHk9IjAuMTMiIC8+CiAgICA8cmVjdCB4PSIxMDQ1LjM5IiB5PSIyMjIuNDMiIHdpZHRoPSI4MC4yMjYyIiBoZWlnaHQ9Ijc5LjA4MDEiIGZpbGwtb3BhY2l0eT0iMC4wOCIgLz4KICAgIDxyZWN0IHg9IjM5OS45OTQiIHk9IjQ2NC4yMDMiIHdpZHRoPSI4MC4yMjYyIiBoZWlnaHQ9Ijc5LjA4MDEiIGZpbGwtb3BhY2l0eT0iMC4xMyIgLz4KICAgIDxyZWN0IHg9IjMxOS45MTQiIHk9Ijc4Ni4zMDUiIHdpZHRoPSI4MC4yMjYyIiBoZWlnaHQ9IjgwLjIyNjIiIGZpbGwtb3BhY2l0eT0iMC4xOCIgLz4KICAgIDxyZWN0IHg9IjMxOS45MTQiIHk9Ijg2Ni41MzEiIHdpZHRoPSI4MC4yMjYyIiBoZWlnaHQ9IjgxLjM3MjMiIGZpbGwtb3BhY2l0eT0iMC4xOCIgLz4KICAgIDxyZWN0IHg9IjE1OC4zMTUiIHk9IjcwNi4wNzgiIHdpZHRoPSI4MC4yMjYyIiBoZWlnaHQ9IjgwLjIyNjIiIGZpbGwtb3BhY2l0eT0iMC4xOCIgLz4KICAgIDxyZWN0IHg9Ijk2NS4xNjIiIHk9IjYwLjgzMiIgd2lkdGg9IjgwLjIyNjIiIGhlaWdodD0iODAuMjI2MiIgZmlsbC1vcGFjaXR5PSIwLjEzIiAvPgogICAgPHJlY3QgeD0iODg0LjA1OSIgeT0iLTE5Ljg1NTUiIHdpZHRoPSI4MC4yMjYyIiBoZWlnaHQ9Ijc5LjUwNjIiIGZpbGwtb3BhY2l0eT0iMC4xMyIgLz4KICAgIDxyZWN0IHg9Ijg4NC4wNTkiIHk9IjYwLjQwMjMiIHdpZHRoPSI4MC4yMjYyIiBoZWlnaHQ9IjgwLjAyODUiIGZpbGwtb3BhY2l0eT0iMC4xMyIgLz4KICAgIDxyZWN0IHg9IjE1OC4zMTUiIHk9IjEzOS45MSIgd2lkdGg9IjgxLjM3MjMiIGhlaWdodD0iODIuNTE4NCIgZmlsbC1vcGFjaXR5PSIwLjE4IiAvPgogICAgPHJlY3QgeD0iNzYuOTQzNCIgeT0iNTkuNjgzNiIgd2lkdGg9IjgxLjM3MjMiIGhlaWdodD0iODAuMjI2MiIgZmlsbC1vcGFjaXR5PSIwLjE4IiAvPgogICAgPHJlY3QgeD0iLTMuMjgzMiIgeT0iNjAuODI4MSIgd2lkdGg9IjgxLjM3MjMiIGhlaWdodD0iODAuMjI2MiIgZmlsbC1vcGFjaXR5PSIwLjE4IiAvPgogICAgPHJlY3QgeD0iNzYuOTQzNCIgeT0iMTM5LjkxIiB3aWR0aD0iODEuMzcyMyIgaGVpZ2h0PSI4Mi41MTg0IiBmaWxsLW9wYWNpdHk9IjAuMTgiIC8+CiAgICA8cmVjdCB4PSI0MDAuMTQxIiB5PSItMjAuNTQzIiB3aWR0aD0iODEuMzcyMyIgaGVpZ2h0PSI4MC4yMjYyIiBmaWxsLW9wYWNpdHk9IjAuMiIgLz4KICAgIDxyZWN0IHg9IjE1OC4zMTUiIHk9IjMwMS41MDgiIHdpZHRoPSI4MC4yMjYyIiBoZWlnaHQ9IjgxLjM3MjMiIGZpbGwtb3BhY2l0eT0iMC4xOCIgLz4KICAgIDxyZWN0IHg9IjExMjYuNzYiIHk9IjcwNi4wNzgiIHdpZHRoPSI4MC4yMjYyIiBoZWlnaHQ9IjgwLjIyNjIiIGZpbGwtb3BhY2l0eT0iMC4xMyIgLz4KICAgIDxyZWN0IHg9IjEyMDYuOTkiIHk9Ijc4Ni4zMDUiIHdpZHRoPSI4MC4yMjYyIiBoZWlnaHQ9IjgwLjIyNjIiIGZpbGwtb3BhY2l0eT0iMC4xMyIgLz4KICA8L2c+Cjwvc3ZnPg==");
}

/*
 * CSS related to prism vibe
 */

/*
 * CSS related to wave vibe
 */

[class*="is-style-ext-preset--group--"][class*="--section"].has-tertiary-background-color:has(
+ .has-background-background-color > .wp-block-cover.alignfull
)::after {
	content: none !important;
}

[class*="is-style-ext-preset--group--"][class*="--section"].has-tertiary-background-color:has(
+ .has-background-background-color > .wp-block-cover.alignfull
) {
	margin-bottom: 0 !important;
}

[class*="is-style-ext-preset--group--"][class*="--section"].has-background-background-color:has(.wp-block-cover.alignfull) + .has-tertiary-background-color::before {
	content: none !important;
}

[class*="is-style-ext-preset--group--"][class*="--section"].has-background-background-color:has(.wp-block-cover.alignfull) + .has-tertiary-background-color {
	margin-top: 0 !important;
}

/*
 * utilities
 */

.m-0 {
	margin: 0 !important;
}

.z-0 {
	z-index: 0 !important;
}

.z-10 {
	z-index: 10 !important;
}

.z-20 {
	z-index: 20 !important;
}

.z-30 {
	z-index: 30 !important;
}


.d-none {
	display: none;
}

.d-block {
	display: block;
}

@media (min-width: 640px) {

	.sm-d-none {
		display: none;
	}

	.sm-d-block {
		display: block;
	}
}

@media (min-width: 768px) {

	.md-d-none {
		display: none;
	}

	.md-d-block {
		display: block;
	}
}

@media (min-width: 1024px) {

	.lg-d-none {
		display: none;
	}

	.lg-d-block {
		display: block;
	}
}

/* RTL-only fix for Gutenberg Group left justification */

[dir="rtl"] [class*="wp-container-core-group-is-layout-"].ext-is-logical-start.is-content-justification-left > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	margin-inline-start: 0 !important;
	margin-inline-end: auto !important;
}

.no-underline,
.no-underline a {
	text-decoration: none;
}

/* CSS for extendify-agent vibe previews */

.extendify-agent .preview-is-style-ext-preset--group--matrix-1--section .preview-is-style-ext-preset--group--matrix-1--item-card-1--align-center {
	border: solid 6px color-mix(in oklab, var(--wp--preset--color--foreground) 10%, transparent) !important;
}


.extendify-agent .preview-is-style-ext-preset--group--wave-1--section {
	--wave-ratio: 1440 / 80;
	overflow: visible;
}

.extendify-agent .preview-is-style-ext-preset--group--wave-1--section .preview-is-style-ext-preset--group--wave-1--item-card-1--align-center {
	position: relative;
	overflow: visible;
}

.extendify-agent .preview-is-style-ext-preset--group--wave-1--section .preview-is-style-ext-preset--group--wave-1--item-card-1--align-center::after {
	content: "";
	position: absolute;
	width: 150%;
	left: 50%;
	transform: translateX(-35%);
	aspect-ratio: var(--wave-ratio);
	background-color: var(--wp--preset--color--background);
	-webkit-mask: var(--wave-mask) no-repeat center / 100% 100%;
	mask: var(--wave-mask) no-repeat center / 100% 100%;
	bottom: -1px;
	pointer-events: none;
	z-index: 1;
}

.extendify-agent .preview-is-style-ext-preset--group--wave-1--section .preview-is-style-ext-preset--group--wave-1--item-card-1--align-center::before {
	content: "";
	position: absolute;
	width: 150%;
	left: 50%;
	transform: translateX(-65%) scale(-1, -1);
	aspect-ratio: var(--wave-ratio);
	background-color: var(--wp--preset--color--background);
	-webkit-mask: var(--wave-mask) no-repeat center / 100% 100%;
	mask: var(--wave-mask) no-repeat center / 100% 100%;
	top: -1px;
	pointer-events: none;
	z-index: 1;
}

/*
 * --------------------------------------------------------
 *  Modular Header System
 * --------------------------------------------------------
 *
 *  Layout (positioning):
 *    - .ext-header-sticky    → position: sticky + admin-bar handling
 *    - .ext-header-overlay   → hero section overlap (negative margin)
 *
 *  Appearance:
 *    - .ext-header-glass     → static glassmorphism (bg + blur + radius)
 *    - .ext-header--dark     → dark color scheme: white text + dark scrim/glass tint
 *
 *  Behavior:
 *    - .ext-header-sticky--floating-pill → scroll-driven intensification of glass + layout shift
 *
 *  Compositions:
 *    - ext-header-sticky                                                                          → just sticky, theme bg
 *    - ext-header-overlay                                                                         → overlay, transparent
 *    - ext-header-overlay ext-header--dark                                                        → overlay + dark scrim + white text
 *    - ext-header-sticky ext-header-glass                                                         → static glass header
 *    - ext-header-sticky ext-header-glass ext-header--dark                                        → static dark glass
 *    - ext-header-sticky ext-header-overlay ext-header-glass ext-header-sticky--floating-pill   → animated glass over hero
 *    - + ext-header--dark on the above                                                            → animated DARK glass over hero
 */

:root {
	--ext-header-height: 96px;
	--ext-header-offset: 1rem;
	--ext-header-blur-start: 4px;
	--ext-header-blur-end: 12px;
	--ext-header-bg-opacity-start: 0.75;
	--ext-header-bg-opacity-end: 0.95;
	--ext-header-padding: 1.5rem;
	--ext-header-animation-distance: 100px;
	--ext-header-glass-tint-dark: #ffffff;
	--ext-header-glass-tint-dark-end: #101010;
	--ext-header-dark-logo-filter: brightness(0) invert(1);
}

body {
	timeline-scope: --ext-hero-timeline;
}

/* ===========================================================
   Layout: ext-header-sticky
   =========================================================== */
header.wp-block-template-part:has(.ext-header-sticky) {
	position: sticky;
	top: 0;
	z-index: 12;
}

/* Default bg for sticky headers without glass.
   Glass headers leave the wrapper transparent so the inner glass element shows through. */
header.wp-block-template-part:has(.ext-header-sticky):not(:has(.ext-header-glass)):not(.has-background) {
	background-color: var(--wp--preset--color--background);
}

body.admin-bar header.wp-block-template-part:has(.ext-header-sticky) {
	top: var(--wp-admin--admin-bar--position-offset, var(--wp-admin--admin-bar--height, 32px));
}

@media (max-width: 782px) {

	body.admin-bar header.wp-block-template-part:has(.ext-header-sticky) {
		top:0;
	}
}

html:has(.ext-header-sticky) {
	scroll-padding-top: var(--ext-header-height);
}

/* ===========================================================
   Layout: ext-header-overlay (hero overlap)
   =========================================================== */
body:has(.entry-content > .ext-hero-section.ext-hero-section--full-screen:first-child) header.wp-block-template-part:has(.ext-header-overlay):not(:has(.ext-header-sticky)) {
	position: relative;
	top: 0;
	z-index: 12;
}

body:has(.ext-header-overlay) .entry-content > .ext-hero-section.ext-hero-section--full-screen:first-child {
	margin-top: calc(-1 * var(--ext-header-height)) !important;
	position: relative;
	z-index: 0;
}

/* Overlay over hero: wrapper goes transparent so the hero shows through.
   Reverts to default theme bg once .is-past-hero is added or on subpages without a hero. */
body:has(.entry-content > .ext-hero-section.ext-hero-section--full-screen:first-child) header.wp-block-template-part:has(.ext-header-overlay):not(.is-past-hero):not(:has(.ext-header-glass)) {
	background-color: transparent;
}

/* ===========================================================
   Appearance: ext-header-glass (static glassmorphism)
   - --ext-header-glass-color-start: tint during the frosted/initial state
   - --ext-header-glass-color-end: tint at the solid/scrolled state
   - Static glass shows the end state (most readable)
   =========================================================== */
.ext-header-glass {
	--ext-header-glass-color-start: var(--wp--preset--color--background);
	--ext-header-glass-color-end: var(--wp--preset--color--background);
}

header.wp-block-template-part:has(.ext-header-glass) .ext-header-glass {
	background-color: oklch(from var(--ext-header-glass-color-end) l c h / var(--ext-header-bg-opacity-end));
	backdrop-filter: blur(var(--ext-header-blur-end));
	border-radius: 1rem;
}

/* ===========================================================
   Color: ext-header--dark
   - Sets shared scrim/glass color variable
   - Wrapper gets white text when used with overlay or glass
   - Inner blocks reset their colors to inherit
   =========================================================== */
/* Dark variant only takes effect on pages with a fullscreen hero.
   On subpages, dark+glass falls back to the light glass defaults. */
body:has(.entry-content > .ext-hero-section.ext-hero-section--full-screen:first-child) .ext-header-glass.ext-header--dark {
	--ext-header-glass-color-start: var(--ext-header-glass-tint-dark);
	--ext-header-glass-color-end: var(--ext-header-glass-tint-dark-end);
	--ext-header-bg-opacity-start: 0.06;
	--ext-header-bg-opacity-end: 0.85;
	--ext-header-blur-start: 16px;
	--ext-header-blur-end: 24px;
}

body:has(.entry-content > .ext-hero-section.ext-hero-section--full-screen:first-child) header.wp-block-template-part:has(.ext-header-glass.ext-header--dark) .ext-header-glass {
	border: 1px solid rgb(255 255 255 / 0.12);
}

body:has(.entry-content > .ext-hero-section.ext-hero-section--full-screen:first-child) header.wp-block-template-part:not(.is-past-hero):has(.ext-header-overlay.ext-header--dark) {
	color: #fff;
}

/* Top-fade scrim on the hero's cover block — softer falloff than a header-bound gradient.
   Flat (non-nested) :has() check on body so the rule reliably matches on hero pages
   that use an overlay+dark header.
   Fades out via opacity once the smart-sticky JS adds .is-past-hero on the header,
   in sync with the header reverting to its default theme appearance. */
body:has(.ext-header-overlay.ext-header--dark) .ext-hero-section--full-screen .wp-block-cover::after {
	content: "";
	position: absolute;
	inset: 0 0 auto 0;
	height: calc(var(--ext-header-height) * 3);
	transition: opacity 300ms ease;
	background: linear-gradient(
		to bottom,
		rgb(0 0 0 / 0.50) 0%,
		rgb(0 0 0 / 0.25) 50%,
		rgb(0 0 0 / 0.05) 80%,
		rgb(0 0 0 / 0) 100%
	);
	pointer-events: none;
	z-index: 1;
}

/* Past-hero: fade the scrim out so the hero image returns to its natural look,
   matching the header reverting to default theme bg + colors. */
body:has(header.wp-block-template-part.is-past-hero) .ext-hero-section--full-screen .wp-block-cover::after {
	opacity: 0;
}

body:has(.entry-content > .ext-hero-section.ext-hero-section--full-screen:first-child) header.wp-block-template-part:has(.ext-header-glass.ext-header--dark) {
	color: #fff;
}

/* Inner-block dark overrides — fire only on hero pages with a dark backdrop.
   Overlay+dark drops out at .is-past-hero (header has reverted to default theme).
   Glass+dark keeps firing past-hero because the glass stays dark via its own animation. */
body:has(.entry-content > .ext-hero-section.ext-hero-section--full-screen:first-child) header.wp-block-template-part:not(.is-past-hero):has(.ext-header-overlay.ext-header--dark) :where(a, button, .wp-block-site-title):not(.has-background, .wp-block-button__link, .cloned-for-mobile, .cloned-for-mobile *),
body:has(.entry-content > .ext-hero-section.ext-hero-section--full-screen:first-child) header.wp-block-template-part:has(.ext-header-glass.ext-header--dark) :where(a, button, .wp-block-site-title):not(.has-background, .wp-block-button__link, .cloned-for-mobile, .cloned-for-mobile *) {
	color: inherit;
}

body:has(.entry-content > .ext-hero-section.ext-hero-section--full-screen:first-child) header.wp-block-template-part:not(.is-past-hero):has(.ext-header-overlay.ext-header--dark) .wp-social-link:not(.cloned-for-mobile, .cloned-for-mobile *),
body:has(.entry-content > .ext-hero-section.ext-hero-section--full-screen:first-child) header.wp-block-template-part:has(.ext-header-glass.ext-header--dark) .wp-social-link:not(.cloned-for-mobile, .cloned-for-mobile *) {
	color: #fff !important;
}

/* Phone CTA: force white over the dark hero. Needed because the paragraph carries
   WP's wp-elements-* link-color rule (preset primary), which beats .has-text-color
   inheritance on the inner <a>. Drops out at .is-past-hero so the phone reverts to theme. */
body:has(.entry-content > .ext-hero-section.ext-hero-section--full-screen:first-child) header.wp-block-template-part:not(.is-past-hero):has(.ext-header-overlay.ext-header--dark) :is(.ext-nav-extras-phone, .ext-nav-extras-phone a):not(.cloned-for-mobile, .cloned-for-mobile *),
body:has(.entry-content > .ext-hero-section.ext-hero-section--full-screen:first-child) header.wp-block-template-part:has(.ext-header-glass.ext-header--dark) :is(.ext-nav-extras-phone, .ext-nav-extras-phone a):not(.cloned-for-mobile, .cloned-for-mobile *) {
	color: #fff !important;
}

body:has(.entry-content > .ext-hero-section.ext-hero-section--full-screen:first-child) header.wp-block-template-part:not(.is-past-hero):has(.ext-header-overlay.ext-header--dark) svg:not(.cloned-for-mobile *),
body:has(.entry-content > .ext-hero-section.ext-hero-section--full-screen:first-child) header.wp-block-template-part:has(.ext-header-glass.ext-header--dark) svg:not(.cloned-for-mobile *) {
	fill: currentColor;
}

body:has(.entry-content > .ext-hero-section.ext-hero-section--full-screen:first-child) header.wp-block-template-part:not(.is-past-hero):has(.ext-header-overlay.ext-header--dark) :is(.wp-block-site-logo, .wp-duotone-primary-foreground):not(.cloned-for-mobile, .cloned-for-mobile *),
body:has(.entry-content > .ext-hero-section.ext-hero-section--full-screen:first-child) header.wp-block-template-part:has(.ext-header-glass.ext-header--dark) :is(.wp-block-site-logo, .wp-duotone-primary-foreground):not(.cloned-for-mobile, .cloned-for-mobile *) {
	filter: var(--ext-header-dark-logo-filter);
}

/* Nav-extras CTA: white pill + dark text for contrast against the dark hero scrim.
   Drops out at .is-past-hero so the button returns to its preset styling. */
body:has(.entry-content > .ext-hero-section.ext-hero-section--full-screen:first-child) header.wp-block-template-part:not(.is-past-hero):has(.ext-header-overlay.ext-header--dark) .ext-nav-extras-btn:not(.cloned-for-mobile, .cloned-for-mobile *) .wp-block-button__link,
body:has(.entry-content > .ext-hero-section.ext-hero-section--full-screen:first-child) header.wp-block-template-part:has(.ext-header-glass.ext-header--dark) .ext-nav-extras-btn:not(.cloned-for-mobile, .cloned-for-mobile *) .wp-block-button__link {
	background-color: #fefefe !important;
	color: #060606 !important;
}

/* Sticky non-glass headers: smooth shadow/bg transitions (toggle on .is-scrolled / .is-past-hero) */
header.wp-block-template-part:has(.ext-header-sticky):not(:has(.ext-header-glass)) {
	transition: background-color 300ms ease, box-shadow 300ms ease;
}

/* Floating-pill: smooth the top change when .is-scrolled toggles, so the
   header doesn't snap up when scrolling past the admin bar. */
header.wp-block-template-part:has(.ext-header-sticky.ext-header-sticky--floating-pill) {
	transition: top 300ms ease;
}

/* Subpage elevation shadow: appears when user scrolls (no hero on the page) */
body:not(:has(.entry-content > .ext-hero-section.ext-hero-section--full-screen:first-child)) header.wp-block-template-part.is-scrolled:has(.ext-header-sticky):not(:has(.ext-header-glass)) {
	box-shadow: 0 4px 24px -8px rgb(0 0 0 / 0.08);
}

/* Smart sticky transitions: smooth color/filter changes when toggling .is-past-hero */
header.wp-block-template-part:has(.ext-header--dark) {
	transition: background-color 300ms ease, color 300ms ease, box-shadow 300ms ease, border-color 300ms ease;
}

header.wp-block-template-part:has(.ext-header--dark) :where(a, button, .wp-block-site-title, .wp-social-link) {
	transition: color 300ms ease;
}

header.wp-block-template-part:has(.ext-header--dark) .wp-block-site-logo {
	transition: filter 300ms ease;
}

/* Past-hero: any sticky+overlay gets solid theme bg + elevation shadow.
   Glass headers are excluded — they manage their own scroll visuals. */
header.wp-block-template-part.is-past-hero:has(.ext-header-sticky.ext-header-overlay):not(:has(.ext-header-glass)) {
	background-color: var(--wp--preset--color--background);
	box-shadow: 0 4px 24px -8px rgb(0 0 0 / 0.08);
}

/* Past-hero on dark variant: also revert white text / inverted logo / forced social color */
header.wp-block-template-part.is-past-hero:has(.ext-header-overlay.ext-header--dark):not(:has(.ext-header-glass)) {
	color: var(--wp--preset--color--foreground);
}

header.wp-block-template-part.is-past-hero:has(.ext-header-overlay.ext-header--dark):not(:has(.ext-header-glass)) :where(a, button, .wp-block-site-title):not(.has-background, .wp-block-button__link) {
	color: inherit;
}

header.wp-block-template-part.is-past-hero:has(.ext-header-overlay.ext-header--dark):not(:has(.ext-header-glass)) .wp-social-link {
	color: var(--wp--preset--color--foreground) !important;
}

header.wp-block-template-part.is-past-hero:has(.ext-header-overlay.ext-header--dark):not(:has(.ext-header-glass)) .wp-block-site-logo {
	filter: brightness(1) invert(0);
}

/* ===========================================================
   Hero timeline (for scroll-driven animations)
   =========================================================== */
@supports (animation-timeline: scroll()) {

	.entry-content > .ext-hero-section.ext-hero-section--full-screen:first-child {
		view-timeline: --ext-hero-timeline block;
	}
}

/* ===========================================================
   Behavior: ext-header-sticky--floating-pill
   - Layout shift: header wrapper goes transparent + constrained width
   - When combined with .ext-header-glass, animates glass intensity
   =========================================================== */
header.wp-block-template-part .ext-header-sticky--floating-pill.ext-animate {
	opacity: 1 !important;
}

header.wp-block-template-part:has(.ext-header-sticky.ext-header-sticky--floating-pill) {
	position: sticky;
	top: 0;
	z-index: 12;
	border-bottom: none;
}

body:has(.entry-content > .ext-hero-section.ext-hero-section--full-screen:first-child) header.wp-block-template-part:has(.ext-header-sticky.ext-header-sticky--floating-pill) {
	position: sticky;
	top: var(--ext-header-offset);
	max-width: var(--wp--style--global--wide-size);
	margin-left: auto;
	margin-right: auto;
	background-color: transparent;
	padding-inline: var(--wp--style--root--padding-right) var(--wp--style--root--padding-left);
}

/* Initial glass state (over hero): override static glass-end with start values */
body:has(.entry-content > .ext-hero-section.ext-hero-section--full-screen:first-child) header.wp-block-template-part:has(.ext-header-sticky.ext-header-sticky--floating-pill.ext-header-glass) .ext-header-sticky.ext-header-sticky--floating-pill.ext-header-glass {
	background-color: oklch(from var(--ext-header-glass-color-start) l c h / var(--ext-header-bg-opacity-start));
	backdrop-filter: blur(var(--ext-header-blur-start));
}

body.admin-bar:has(.entry-content > .ext-hero-section.ext-hero-section--full-screen:first-child) header.wp-block-template-part:has(.ext-header-sticky.ext-header-sticky--floating-pill) {
	top:
		calc(var(--ext-header-offset) +
		var(--wp-admin--admin-bar--position-offset, var(--wp-admin--admin-bar--height, 32px)));
	background-color: transparent;
}

@media (max-width: 782px) {
	body.admin-bar:has(.entry-content > .ext-hero-section.ext-hero-section--full-screen:first-child) header.wp-block-template-part:has(.ext-header-sticky.ext-header-sticky--floating-pill) {
		top:
			calc(var(--ext-header-offset) +
			var(--wp-admin--admin-bar--position-offset, var(--wp-admin--admin-bar--height, 46px)));
	}

	body.admin-bar:has(.entry-content > .ext-hero-section.ext-hero-section--full-screen:first-child) header.wp-block-template-part.is-scrolled:has(.ext-header-sticky.ext-header-sticky--floating-pill) {
		top:var(--ext-header-offset);
	}
}


@supports (animation-timeline: scroll()) {

	body:not(:has(.entry-content > .ext-hero-section.ext-hero-section--full-screen:first-child)) header.wp-block-template-part:has(.ext-header-sticky.ext-header-sticky--floating-pill) {
		max-width: calc(var(--wp--style--global--wide-size) + var(--wp--style--root--padding-right) + var(--wp--style--root--padding-left));
		margin-left: auto;
		margin-right: auto;
	}

	@media (prefers-reduced-motion: no-preference) {

		body:has(.entry-content > .ext-hero-section.ext-hero-section--full-screen:first-child) header.wp-block-template-part:has(.ext-header-sticky.ext-header-sticky--floating-pill.ext-header-glass) .ext-header-sticky.ext-header-sticky--floating-pill.ext-header-glass {
			animation: ext-header-glass-intensify linear both !important;
			animation-timeline: --ext-hero-timeline !important;
			animation-range: exit 0% exit 80% !important;
		}

		body:not(:has(.entry-content > .ext-hero-section.ext-hero-section--full-screen:first-child)) header.wp-block-template-part:has(.ext-header-sticky.ext-header-sticky--floating-pill.ext-header-glass) .ext-header-sticky.ext-header-sticky--floating-pill.ext-header-glass {
			animation: ext-header-glass-intensify-no-hero linear forwards !important;
			animation-timeline: scroll() !important;
			animation-range: 0 var(--ext-header-animation-distance) !important;
		}
	}
}

@keyframes ext-header-glass-intensify {

	from {
		background-color: oklch(from var(--ext-header-glass-color-start) l c h / var(--ext-header-bg-opacity-start));
		backdrop-filter: blur(var(--ext-header-blur-start));
	}

	to {
		background-color: oklch(from var(--ext-header-glass-color-end) l c h / var(--ext-header-bg-opacity-end));
		backdrop-filter: blur(var(--ext-header-blur-end));
		box-shadow: 0 14px 28px -10px rgb(0 0 0 / 0.14), 0 -14px 28px -10px rgb(0 0 0 / 0.14);
	}
}

@keyframes ext-header-glass-intensify-no-hero {

	from {
		background-color: oklch(from var(--ext-header-glass-color-start) l c h / var(--ext-header-bg-opacity-start));
		backdrop-filter: blur(var(--ext-header-blur-start));
		box-shadow: none;
		translate: 0 0;
		max-width: 100%;
		margin-inline: auto;
	}

	to {
		background-color: oklch(from var(--ext-header-glass-color-end) l c h / var(--ext-header-bg-opacity-end));
		backdrop-filter: blur(var(--ext-header-blur-end));
		box-shadow: 0 14px 28px -10px rgb(0 0 0 / 0.14), 0 -14px 28px -10px rgb(0 0 0 / 0.14);

		translate: 0 var(--ext-header-offset);
		max-width: var(--wp--style--global--wide-size);
		margin-inline: var(--wp--style--root--padding-right) var(--wp--style--root--padding-left);
		border-radius: 1rem;
	}
}


/* Omar Claxton — shared editorial design layer */
:root{--oc-ink:#171714;--oc-paper:#f1eee5;--oc-cream:#f7f4ed;--oc-blue:#245d86;--oc-green:#3f7655;--oc-rust:#9b4a2f;--oc-muted:#5e625d}
*{box-sizing:border-box}html,body{margin:0;max-width:100%;overflow-x:hidden}body.oc-home{background:var(--oc-paper);color:var(--oc-ink);font-family:"Avenir Next","Segoe UI",Arial,sans-serif;font-size:17px;line-height:1.65}.oc-wrap{width:min(1180px,calc(100% - 56px));margin:0 auto}.oc-header{position:relative;z-index:50;background:var(--oc-paper);border-bottom:1px solid rgba(23,23,20,.14)}.oc-nav{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:28px}.oc-name{color:var(--oc-ink);text-decoration:none;font-family:Georgia,serif;font-size:21px}.oc-nav nav{display:flex;align-items:center;gap:25px}.oc-nav nav a{color:var(--oc-ink);text-decoration:none;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:700}.oc-menu-toggle{display:none}.oc-kicker,.oc-label{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--oc-rust)}.oc-thesis{font-family:Georgia,serif;font-size:clamp(22px,2.5vw,34px);line-height:1.35;max-width:830px}.oc-link{display:inline-block;color:var(--oc-blue);font-weight:800;text-decoration:none;margin-top:12px}.oc-link:hover{text-decoration:underline}h1,h2,h3,p{overflow-wrap:break-word}h1,h2,h3{margin-top:0}section{position:relative}.oc-two{display:grid;grid-template-columns:minmax(130px,.32fr) minmax(0,1fr);gap:clamp(32px,7vw,110px)}.oc-two>div{max-width:790px}.oc-two h2,.oc-writing-types h2,.oc-view-grid h2,.oc-history-example h3,.oc-principle-grid h3,.oc-timeline h3{font-family:Georgia,serif}.oc-two h2{font-size:clamp(34px,5vw,64px);line-height:1.02}
.oc-hero,.oc-about-hero,.oc-writing-hero,.oc-research-hero,.oc-making-hero,.oc-lessons-hero,.oc-ai-hero,.oc-dev-hero,.oc-archive-hero{padding:clamp(70px,10vw,135px) 0}.oc-hero>.oc-wrap{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);align-items:center;gap:45px}.oc-hero h1,.oc-about-hero h1,.oc-writing-hero h1,.oc-research-hero h1,.oc-making-hero h1,.oc-lessons-hero h1,.oc-ai-hero h1,.oc-dev-hero h1,.oc-archive-hero h1{font-family:Georgia,serif;font-size:clamp(58px,8.2vw,116px);line-height:.88;letter-spacing:-.045em;margin:20px 0 35px}.oc-hero h1 em,.oc-about-hero h1 em,.oc-writing-hero h1 em,.oc-research-hero h1 em,.oc-making-hero h1 em,.oc-lessons-hero h1 em,.oc-ai-hero h1 em,.oc-dev-hero h1 em{color:var(--oc-blue);font-weight:400}.oc-hero-eyebrow{font-size:12px;letter-spacing:.13em;color:var(--oc-blue);font-weight:800}.oc-hero-note{max-width:720px}.oc-hero-mark img{box-shadow:0 18px 45px rgba(23,23,20,.14)}
.oc-intro,.oc-feature,.oc-development,.oc-connect,.oc-about-story,.oc-turn,.oc-writing-intro,.oc-writing-note,.oc-research-method,.oc-research-close,.oc-making-intro,.oc-making-close,.oc-lessons-intro,.oc-lessons-close,.oc-ai-intro,.oc-ai-close,.oc-dev-intro,.oc-dev-close,.oc-archive-principle,.oc-archive-close{padding:clamp(75px,9vw,125px) 0;border-top:1px solid rgba(23,23,20,.13)}
.oc-worlds{padding:90px 0;border-top:1px solid rgba(23,23,20,.13)}.oc-world-link{display:grid;grid-template-columns:60px minmax(0,1fr) minmax(170px,.55fr) 35px;align-items:center;gap:24px;color:var(--oc-ink);text-decoration:none;border-bottom:1px solid rgba(23,23,20,.16);padding:30px 0}.oc-world-link h2{font-family:Georgia,serif;font-size:clamp(35px,4.5vw,60px);line-height:1;margin:0}.oc-world-link p{margin:0}.oc-world-link>span:last-child{font-size:28px;color:var(--oc-blue)}
.oc-storm{padding:100px 0;background:var(--oc-blue);color:var(--oc-cream)}.oc-storm .oc-label{color:var(--oc-cream)}.oc-storm h2{font-family:Georgia,serif;font-size:clamp(42px,6vw,78px);line-height:1}.oc-development{background:#e5e9e0}.oc-archive{padding:100px 0;background:var(--oc-ink);color:var(--oc-cream)}.oc-archive .oc-label{color:#d8aa8f}.oc-archive h2{font-family:Georgia,serif;font-size:clamp(44px,6vw,78px);line-height:1}.oc-archive .oc-link{color:#d8aa8f}
.oc-path,.oc-principles,.oc-writing-types,.oc-research-projects,.oc-making-projects,.oc-artifacts,.oc-lessons-topics,.oc-frameworks,.oc-framework-artifacts,.oc-ai-modes,.oc-ai-history,.oc-dev-feature,.oc-dev-lab,.oc-archive-views,.oc-archive-timeline,.oc-archive-history{padding:clamp(75px,9vw,120px) 0;border-top:1px solid rgba(23,23,20,.13)}.oc-timeline,.oc-principle-grid,.oc-view-grid,.oc-history-example,.oc-ai-years{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.oc-timeline article,.oc-principle-grid article,.oc-view-grid article,.oc-history-example article,.oc-ai-years article,.oc-writing-types article{padding:28px;border:1px solid rgba(23,23,20,.18);background:rgba(247,244,237,.55)}.oc-writing-types>.oc-wrap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.oc-writing-types article h2{font-size:34px;line-height:1.05}.oc-status-link{display:inline-block;margin-top:14px;color:var(--oc-muted);font-size:13px}.oc-dev-feature .oc-wrap{display:grid;grid-template-columns:100px minmax(0,1fr);gap:35px}.oc-dev-number{font-family:Georgia,serif;font-size:70px;color:var(--oc-rust);margin:0}.oc-dev-copy{max-width:820px}.oc-dev-copy h2{font-family:Georgia,serif;font-size:clamp(42px,6vw,76px);line-height:1}.oc-dev-principle{margin:32px 0;padding:22px;border-left:4px solid var(--oc-green);background:var(--oc-cream)}.oc-dev-principle span{display:block;font-size:10px;letter-spacing:.12em;font-weight:800}.oc-dev-principle strong{display:block;font-family:Georgia,serif;font-size:24px;margin-top:5px}
blockquote{font-family:Georgia,serif;font-size:clamp(23px,3vw,34px);line-height:1.35;margin:38px 0;padding-left:24px;border-left:4px solid var(--oc-rust)}footer{border-top:1px solid rgba(23,23,20,.16);padding:30px 0;background:var(--oc-paper)}footer .oc-wrap{display:flex;justify-content:space-between;gap:20px;font-size:13px}
@media(max-width:760px){.oc-wrap{width:calc(100% - 34px)}.oc-nav{min-height:82px;gap:10px}.oc-name{font-size:17px}.oc-name img{width:58px!important;height:42px!important}.oc-menu-toggle{display:inline-flex;align-items:center;gap:5px;padding:8px 10px;border:1px solid rgba(23,23,20,.3);border-radius:7px;background:var(--oc-cream);box-shadow:0 3px 0 rgba(23,23,20,.18);font-weight:800}.oc-nav nav{display:none;position:absolute;top:78px;left:17px;right:17px;padding:12px;background:var(--oc-ink);flex-direction:column;align-items:stretch;gap:0;box-shadow:0 15px 35px rgba(0,0,0,.2)}.oc-nav nav.is-open{display:flex}.oc-nav nav a{display:block;color:var(--oc-cream);padding:11px 8px;font-size:12px}.oc-two,.oc-hero>.oc-wrap,.oc-dev-feature .oc-wrap{grid-template-columns:1fr;gap:24px}.oc-hero,.oc-about-hero,.oc-writing-hero,.oc-research-hero,.oc-making-hero,.oc-lessons-hero,.oc-ai-hero,.oc-dev-hero,.oc-archive-hero{padding:58px 0 72px}.oc-hero h1,.oc-about-hero h1,.oc-writing-hero h1,.oc-research-hero h1,.oc-making-hero h1,.oc-lessons-hero h1,.oc-ai-hero h1,.oc-dev-hero h1,.oc-archive-hero h1{font-size:clamp(50px,15vw,72px);line-height:.9}.oc-thesis{font-size:21px}.oc-hero-mark{padding:28px 0 0!important;min-height:0!important}.oc-hero-mark img{width:100%!important;max-width:none!important;height:300px!important}.oc-worlds{padding:65px 0}.oc-world-link{grid-template-columns:34px minmax(0,1fr) 22px;gap:12px;padding:27px 0}.oc-world-link h2{font-size:clamp(30px,9vw,42px)}.oc-world-link p{display:none}.oc-world-link>span:last-child{font-size:22px}.oc-timeline,.oc-principle-grid,.oc-view-grid,.oc-history-example,.oc-ai-years,.oc-writing-types>.oc-wrap{grid-template-columns:1fr}.oc-writing-types article{padding:24px}.oc-intro,.oc-feature,.oc-development,.oc-connect,.oc-about-story,.oc-turn,.oc-writing-intro,.oc-writing-note,.oc-research-method,.oc-research-close,.oc-making-intro,.oc-making-close,.oc-lessons-intro,.oc-lessons-close,.oc-ai-intro,.oc-ai-close,.oc-dev-intro,.oc-dev-close,.oc-archive-principle,.oc-archive-close,.oc-path,.oc-principles,.oc-writing-types,.oc-research-projects,.oc-making-projects,.oc-artifacts,.oc-lessons-topics,.oc-frameworks,.oc-framework-artifacts,.oc-ai-modes,.oc-ai-history,.oc-dev-feature,.oc-dev-lab,.oc-archive-views,.oc-archive-timeline,.oc-archive-history{padding:68px 0}.oc-two h2{font-size:38px}footer .oc-wrap{flex-direction:column}}

/* ===========================================================
   Vibe/gradient fix
   -----------------------------------------------------------
   Vibe block-style variations (e.g. is-style-ext-preset--group--*--header-1--N)
   paint a background gradient on the header. That gradient fights every
   over-hero / glass-tint / dark-scrim treatment we apply to overlay or glass
   headers, because the glass and overlay rules set background-COLOR while the
   variation sets a background-IMAGE that paints on top.
   Override the variation's background-image specifically (not the whole
   `background:` shorthand). That lets each header keep working in its
   natural design:
     - overlay non-glass: gets transparent bg over hero, theme bg past hero
     - glass: gets the glass tint (light by default, dark when --dark is set)
   On non-overlay / non-glass headers the variation gradient stays as-is.
   =========================================================== */
.ext-header-overlay[class*="is-style-ext-preset--"],
.ext-header-glass[class*="is-style-ext-preset--"] {
	background-image: none !important;
}

/* Temporary: a few template parts (e.g. no-title-sticky-header.html) wrap our
   header in another sticky <header>. Scope the fix to the three new headers
   (atlas-beacon, catalina-skyline, ceadar-peak) — they're the only ones
   using .ext-header-overlay, so older headers that intentionally rely on
   the wrapper's positioning aren't affected. display: contents removes the
   wrapper from layout entirely so its bg/border/sticky/box-shadow/
   wp-container-* styles don't apply. Remove once the upstream template
   stops wrapping. */
header:has(> header.wp-block-template-part :where(.ext-header-overlay)) {
	display: contents;
}

/* Writing: dated Poetry originals, using the established paper/ink/key language. */
.oc-poetry-index{padding:75px 0;border-top:1px solid rgba(23,23,20,.13)}
.oc-poetry-index h2{font-family:Georgia,serif;font-size:clamp(34px,5vw,64px);line-height:1.02}
.oc-poetry-month{margin-top:42px}
.oc-poetry-month h3{font-family:Georgia,serif;font-size:26px;color:var(--oc-rust)}
.oc-poetry-month ul{list-style:none;margin:0;padding:0}
.oc-poetry-month li{display:grid;grid-template-columns:140px minmax(0,1fr);gap:24px;align-items:center;padding:22px 0;border-bottom:1px solid rgba(23,23,20,.16)}
.oc-poetry-month time{font-size:12px;letter-spacing:.05em;color:var(--oc-muted)}
.oc-poetry-month a{display:flex;align-items:center;justify-content:space-between;gap:24px;color:var(--oc-ink);text-decoration:none;min-width:0}
.oc-poetry-title{font-family:Georgia,serif;font-size:clamp(24px,3vw,32px);line-height:1.15;overflow-wrap:anywhere}
.oc-poetry-enter{flex-shrink:0;padding:8px 12px;border:1px solid rgba(23,23,20,.3);border-radius:7px;background:var(--oc-cream);box-shadow:0 3px 0 rgba(23,23,20,.18);color:var(--oc-blue);font-size:12px;font-weight:800}
.oc-poetry-month a:hover .oc-poetry-title{text-decoration:underline}
.oc-poetry-month a:focus-visible{outline:2px solid var(--oc-blue);outline-offset:5px}
@media(max-width:760px){.oc-poetry-index{padding:64px 0}.oc-poetry-month li{grid-template-columns:1fr;gap:10px}.oc-poetry-month a{align-items:flex-start;flex-direction:column;gap:14px}}

/* Research: keep project status lines legible on blue cards. */
.oc-project-blue .oc-status-link{color:#f7f4ed!important}
