@theme inline{@keyframes accordion-down { from { height: 0; } to { height: var(--radix-accordion-content-height,var(--accordion-panel-height,auto)); } } @keyframes accordion-up { from { height: var(--radix-accordion-content-height,var(--accordion-panel-height,auto)); } to { height: 0; } }}@custom-variant data-open{&:where([data-state="open"]), &:where([data-open]:not([data-open="false"])) { @slot; }}@custom-variant data-closed{&:where([data-state="closed"]), &:where([data-closed]:not([data-closed="false"])) { @slot; }}@custom-variant data-checked{&:where([data-state="checked"]), &:where([data-checked]:not([data-checked="false"])) { @slot; }}@custom-variant data-unchecked{&:where([data-state="unchecked"]), &:where([data-unchecked]:not([data-unchecked="false"])) { @slot; }}@custom-variant data-selected{&:where([data-selected="true"]) { @slot; }}@custom-variant data-disabled{&:where([data-disabled="true"]), &:where([data-disabled]:not([data-disabled="false"])) { @slot; }}@custom-variant data-active{&:where([data-state="active"]), &:where([data-active]:not([data-active="false"])) { @slot; }}@custom-variant data-horizontal{&:where([data-orientation="horizontal"]) { @slot; }}@custom-variant data-vertical{&:where([data-orientation="vertical"]) { @slot; }}@utility no-scrollbar{-ms-overflow-style: none; scrollbar-width: none; &::-webkit-scrollbar { display: none; }}@property --scroll-fade-t{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-b{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-s{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-e{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-mask{syntax:"*";inherits:false}@theme inline{@keyframes scroll-fade-reveal-t { from { --scroll-fade-t: 0px; } to { --scroll-fade-t: var(--_scroll-fade-size-t,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); } } @keyframes scroll-fade-reveal-b { from { --scroll-fade-b: var(--_scroll-fade-size-b,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); } to { --scroll-fade-b: 0px; } } @keyframes scroll-fade-reveal-s { from { --scroll-fade-s: 0px; } to { --scroll-fade-s: var(--_scroll-fade-size-s,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); } } @keyframes scroll-fade-reveal-e { from { --scroll-fade-e: var(--_scroll-fade-size-e,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); } to { --scroll-fade-e: 0px; } }}@utility scroll-fade{--_scroll-fade-size-t: var(--scroll-fade-t-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); --_scroll-fade-size-b: var(--scroll-fade-b-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); --scroll-fade-block: linear-gradient(to bottom, transparent 0, #000 var(--scroll-fade-t,0px), #000 calc(100% - var(--scroll-fade-b,0px)), transparent 100%); -webkit-mask-image: var(--scroll-fade-mask,var(--scroll-fade-block)); mask-image: var(--scroll-fade-mask,var(--scroll-fade-block)); -webkit-mask-composite: source-in; mask-composite: intersect; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; @supports (animation-timeline: scroll()) { animation: scroll-fade-reveal-t 1ms ease-in-out, scroll-fade-reveal-b 1ms ease-in-out; animation-timeline: scroll(self y), scroll(self y); animation-range: 0 var(--scroll-fade-reveal,calc(var(--spacing) * 24)), calc(100% - var(--scroll-fade-reveal,calc(var(--spacing) * 24))) 100%; animation-fill-mode: both; } @supports not (animation-timeline: scroll()) { --scroll-fade-t: var(--_scroll-fade-size-t); --scroll-fade-b: var(--_scroll-fade-size-b); }}@utility scroll-fade-y{--_scroll-fade-size-t: var(--scroll-fade-t-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); --_scroll-fade-size-b: var(--scroll-fade-b-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); --scroll-fade-block: linear-gradient(to bottom, transparent 0, #000 var(--scroll-fade-t,0px), #000 calc(100% - var(--scroll-fade-b,0px)), transparent 100%); -webkit-mask-image: var(--scroll-fade-mask,var(--scroll-fade-block)); mask-image: var(--scroll-fade-mask,var(--scroll-fade-block)); -webkit-mask-composite: source-in; mask-composite: intersect; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; @supports (animation-timeline: scroll()) { animation: scroll-fade-reveal-t 1ms ease-in-out, scroll-fade-reveal-b 1ms ease-in-out; animation-timeline: scroll(self y), scroll(self y); animation-range: 0 var(--scroll-fade-reveal,calc(var(--spacing) * 24)), calc(100% - var(--scroll-fade-reveal,calc(var(--spacing) * 24))) 100%; animation-fill-mode: both; } @supports not (animation-timeline: scroll()) { --scroll-fade-t: var(--_scroll-fade-size-t); --scroll-fade-b: var(--_scroll-fade-size-b); }}@utility scroll-fade-x{--_scroll-fade-size-s: var(--scroll-fade-s-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); --_scroll-fade-size-e: var(--scroll-fade-e-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); --scroll-fade-inline: linear-gradient(to right, transparent 0, #000 var(--scroll-fade-s,0px), #000 calc(100% - var(--scroll-fade-e,0px)), transparent 100%); &:where([dir="rtl"], [dir="rtl"] *) { --scroll-fade-inline: linear-gradient(to left, transparent 0, #000 var(--scroll-fade-s,0px), #000 calc(100% - var(--scroll-fade-e,0px)), transparent 100%); } -webkit-mask-image: var(--scroll-fade-mask,var(--scroll-fade-inline)); mask-image: var(--scroll-fade-mask,var(--scroll-fade-inline)); -webkit-mask-composite: source-in; mask-composite: intersect; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; @supports (animation-timeline: scroll()) { animation: scroll-fade-reveal-s 1ms ease-in-out, scroll-fade-reveal-e 1ms ease-in-out; animation-timeline: scroll(self inline), scroll(self inline); animation-range: 0 var(--scroll-fade-reveal,calc(var(--spacing) * 24)), calc(100% - var(--scroll-fade-reveal,calc(var(--spacing) * 24))) 100%; animation-fill-mode: both; } @supports not (animation-timeline: scroll()) { --scroll-fade-s: var(--_scroll-fade-size-s); --scroll-fade-e: var(--_scroll-fade-size-e); }}@utility scroll-fade-t{--_scroll-fade-size-t: var(--scroll-fade-t-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); --scroll-fade-mask: linear-gradient(to bottom, transparent 0, #000 var(--scroll-fade-t,0px), #000 100%); -webkit-mask-image: var(--scroll-fade-mask); mask-image: var(--scroll-fade-mask); -webkit-mask-composite: source-in; mask-composite: intersect; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; @supports (animation-timeline: scroll()) { animation: scroll-fade-reveal-t 1ms ease-in-out; animation-timeline: scroll(self y); animation-range: 0 var(--scroll-fade-reveal,calc(var(--spacing) * 24)); animation-fill-mode: both; } @supports not (animation-timeline: scroll()) { --scroll-fade-t: var(--_scroll-fade-size-t); }}@utility scroll-fade-b{--_scroll-fade-size-b: var(--scroll-fade-b-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); --scroll-fade-mask: linear-gradient(to bottom, #000 0, #000 calc(100% - var(--scroll-fade-b,0px)), transparent 100%); -webkit-mask-image: var(--scroll-fade-mask); mask-image: var(--scroll-fade-mask); -webkit-mask-composite: source-in; mask-composite: intersect; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; @supports (animation-timeline: scroll()) { animation: scroll-fade-reveal-b 1ms ease-in-out; animation-timeline: scroll(self y); animation-range: calc(100% - var(--scroll-fade-reveal,calc(var(--spacing) * 24))) 100%; animation-fill-mode: both; } @supports not (animation-timeline: scroll()) { --scroll-fade-b: var(--_scroll-fade-size-b); }}@utility scroll-fade-l{--_scroll-fade-size-s: var(--scroll-fade-s-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); --scroll-fade-mask: linear-gradient(to right, transparent 0, #000 var(--scroll-fade-s,0px), #000 100%); -webkit-mask-image: var(--scroll-fade-mask); mask-image: var(--scroll-fade-mask); -webkit-mask-composite: source-in; mask-composite: intersect; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; @supports (animation-timeline: scroll()) { animation: scroll-fade-reveal-s 1ms ease-in-out; animation-timeline: scroll(self x); animation-range: 0 var(--scroll-fade-reveal,calc(var(--spacing) * 24)); animation-fill-mode: both; } @supports not (animation-timeline: scroll()) { --scroll-fade-s: var(--_scroll-fade-size-s); }}@utility scroll-fade-r{--_scroll-fade-size-e: var(--scroll-fade-e-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); --scroll-fade-mask: linear-gradient(to right, #000 0, #000 calc(100% - var(--scroll-fade-e,0px)), transparent 100%); -webkit-mask-image: var(--scroll-fade-mask); mask-image: var(--scroll-fade-mask); -webkit-mask-composite: source-in; mask-composite: intersect; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; @supports (animation-timeline: scroll()) { animation: scroll-fade-reveal-e 1ms ease-in-out; animation-timeline: scroll(self x); animation-range: calc(100% - var(--scroll-fade-reveal,calc(var(--spacing) * 24))) 100%; animation-fill-mode: both; } @supports not (animation-timeline: scroll()) { --scroll-fade-e: var(--_scroll-fade-size-e); }}@utility scroll-fade-s{--_scroll-fade-size-s: var(--scroll-fade-s-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); --scroll-fade-mask: linear-gradient(to right, transparent 0, #000 var(--scroll-fade-s,0px), #000 100%); &:where([dir="rtl"], [dir="rtl"] *) { --scroll-fade-mask: linear-gradient(to left, transparent 0, #000 var(--scroll-fade-s,0px), #000 100%); } -webkit-mask-image: var(--scroll-fade-mask); mask-image: var(--scroll-fade-mask); -webkit-mask-composite: source-in; mask-composite: intersect; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; @supports (animation-timeline: scroll()) { animation: scroll-fade-reveal-s 1ms ease-in-out; animation-timeline: scroll(self inline); animation-range: 0 var(--scroll-fade-reveal,calc(var(--spacing) * 24)); animation-fill-mode: both; } @supports not (animation-timeline: scroll()) { --scroll-fade-s: var(--_scroll-fade-size-s); }}@utility scroll-fade-e{--_scroll-fade-size-e: var(--scroll-fade-e-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); --scroll-fade-mask: linear-gradient(to right, #000 0, #000 calc(100% - var(--scroll-fade-e,0px)), transparent 100%); &:where([dir="rtl"], [dir="rtl"] *) { --scroll-fade-mask: linear-gradient(to left, #000 0, #000 calc(100% - var(--scroll-fade-e,0px)), transparent 100%); } -webkit-mask-image: var(--scroll-fade-mask); mask-image: var(--scroll-fade-mask); -webkit-mask-composite: source-in; mask-composite: intersect; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; @supports (animation-timeline: scroll()) { animation: scroll-fade-reveal-e 1ms ease-in-out; animation-timeline: scroll(self inline); animation-range: calc(100% - var(--scroll-fade-reveal,calc(var(--spacing) * 24))) 100%; animation-fill-mode: both; } @supports not (animation-timeline: scroll()) { --scroll-fade-e: var(--_scroll-fade-size-e); }}@utility scroll-fade-*{--scroll-fade-size: calc(var(--spacing) * --value(integer)); --scroll-fade-size: --value([length], [percentage]);}@utility scroll-fade-t-*{--scroll-fade-t-size: calc(var(--spacing) * --value(integer)); --scroll-fade-t-size: --value([length], [percentage]);}@utility scroll-fade-b-*{--scroll-fade-b-size: calc(var(--spacing) * --value(integer)); --scroll-fade-b-size: --value([length], [percentage]);}@utility scroll-fade-s-*{--scroll-fade-s-size: calc(var(--spacing) * --value(integer)); --scroll-fade-s-size: --value([length], [percentage]);}@utility scroll-fade-e-*{--scroll-fade-e-size: calc(var(--spacing) * --value(integer)); --scroll-fade-e-size: --value([length], [percentage]);}@utility scroll-fade-none{--scroll-fade-mask: none;}@property --shimmer-angle{syntax:"<angle>";inherits:true;initial-value:20deg}@property --shimmer-image{syntax:"*";inherits:false}@property --shimmer-text-fill{syntax:"*";inherits:false}@theme inline{@keyframes tw-shimmer { from { background-position: 100% 0; } to { background-position: 0 0; } }}@utility shimmer{--_spread: var(--shimmer-spread,calc(3ch + 40px)); --_base: currentColor; --_highlight: var(--shimmer-color,oklch(from currentColor l c h / calc(alpha* .2))); background-image: var(--shimmer-image,linear-gradient(calc(90deg + var(--shimmer-angle)), var(--_base) calc(50% - var(--_spread)), color-mix(in oklch, var(--_highlight), var(--_base) 50%) calc(50% - var(--_spread) * .5), var(--_highlight) 50%, color-mix(in oklch, var(--_highlight), var(--_base) 50%) calc(50% + var(--_spread) * .5), var(--_base) calc(50% + var(--_spread)))); background-repeat: no-repeat; background-size: calc(200% + var(--_spread) * 2) 100%; background-position: 0 0; background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: var(--shimmer-text-fill,transparent); animation: tw-shimmer var(--shimmer-duration,2s) linear infinite; @variant dark { --_highlight: var(--shimmer-color,oklch(from currentColor max(.8, calc(l + .4)) c h / calc(alpha + .4))); } &:where([dir="rtl"], [dir="rtl"] *) { animation-direction: reverse; }}@utility shimmer-once{animation-iteration-count: 1;}@utility shimmer-reverse{animation-direction: reverse;}@utility shimmer-none{--shimmer-image: none; --shimmer-text-fill: currentColor;}@utility shimmer-color-*{--shimmer-color: --value(--color, [color]); --shimmer-color: color-mix(in oklch, --value(--color, [color]) calc(--modifier(integer) * 1%), transparent);}@utility shimmer-duration-*{--shimmer-duration: calc(--value(integer) * 1ms);}@utility shimmer-spread-*{--shimmer-spread: calc(var(--spacing) * --value(integer)); --shimmer-spread: --value([length], [percentage]);}@utility shimmer-angle-*{--shimmer-angle: calc(--value(integer) * 1deg);}@media (prefers-reduced-motion:reduce){.shimmer{-webkit-text-fill-color:currentColor;background-image:none;animation:none}}
:root{--background:#f8f9f5;--foreground:#20251f;--primary:#234f36;--primary-foreground:#fff;--accent:#d4fb51;--accent-foreground:#20251f;--border:#d6dbd0;--muted:#edf0e7;--muted-foreground:#576050;--card:#f8f9f5;--card-foreground:#20251f;--ring:#234f36;--radius:.5rem}@theme inline{--color-background:var(--background);--color-foreground:var(--foreground);--color-primary:var(--primary);--color-primary-foreground:var(--primary-foreground);--color-border:var(--border);--color-ring:var(--ring)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{background:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased;margin:0;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:3px solid var(--primary);outline-offset:6px}::selection{background:var(--accent)}.wrap{width:min(1280px,100% - 112px);margin-inline:auto}.site-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;min-height:108px;display:flex}.wordmark{letter-spacing:-2.5px;font-size:36px;font-weight:800}.wordmark span{vertical-align:top;letter-spacing:0;margin-left:4px;font-size:15px;line-height:2.1}.site-header nav{gap:38px;font-size:14px;display:flex}.site-header nav a,.footer>a:last-child{align-items:center;gap:8px;display:flex}.site-header nav a:hover,.footer>a:last-child:hover{text-decoration:underline}.hero{padding-top:44px;padding-bottom:62px}.hero-top{justify-content:space-between;align-items:center;gap:20px;display:flex}.eyebrow{text-transform:uppercase;letter-spacing:1.8px;font-size:12px;font-weight:600}.availability{align-items:center;gap:9px;font-size:13px;display:flex}.availability i{background:var(--primary);border-radius:50%;width:7px;height:7px}h1{letter-spacing:-7px;margin:57px 0 40px;font-size:clamp(64px,8.3vw,122px);font-weight:500;line-height:.99}.italic,em{font-family:Georgia,Times New Roman,serif;font-weight:400}.green-word{color:var(--primary);white-space:nowrap}.green-word svg{vertical-align:top;stroke-width:1.5px;width:76px;height:76px;margin:3px 0 0 5px;display:inline-block}.hero-bottom{justify-content:space-between;align-items:flex-end;gap:40px;display:flex}.hero-bottom p{max-width:430px;color:var(--muted-foreground);margin:0;font-size:17px;line-height:1.65}.hero-bottom strong{color:var(--foreground);font-weight:500}.round-link{align-items:center;gap:24px;font-size:14px;display:flex}.round-icon{border:1px solid var(--foreground);border-radius:50%;place-items:center;width:55px;height:55px;transition:background .2s,transform .2s;display:grid}.round-link:hover .round-icon{background:var(--accent);transform:translateY(3px)}.discipline-strip{background:var(--accent);padding:25px 0}.discipline-strip>div{justify-content:space-between;align-items:center;gap:20px;display:flex}.discipline-strip span{letter-spacing:-.4px;font-size:18px;font-weight:500}.discipline-strip svg{flex-shrink:0;width:20px;height:20px}.practice{padding-top:85px;padding-bottom:80px}.section-top{justify-content:space-between;align-items:start;display:flex}.section-top p{color:var(--muted-foreground);margin:0;font-size:14px;line-height:1.5}h2{letter-spacing:-2.5px;margin:23px 0 42px;font-size:clamp(36px,4.3vw,59px);font-weight:500;line-height:1.1}.practice-grid{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}.practice-card{border-top:1px solid var(--foreground);flex-direction:column;padding:23px 0 5px;display:flex}.card-top{justify-content:space-between;align-items:center;margin-bottom:36px;display:flex}.card-top>span{color:var(--muted-foreground);font-size:12px}h3{letter-spacing:-.8px;margin:0 0 15px;font-size:25px;font-weight:500}.practice-card p{color:var(--muted-foreground);max-width:335px;margin:0 0 25px;font-size:16px;line-height:1.65}.tool-tag{border:1px solid var(--border);border-radius:30px;align-self:flex-start;margin-top:auto;padding:7px 13px;font-size:13px}.site-link{background:var(--muted);justify-content:space-between;align-items:center;margin-top:56px;padding:32px;transition:background .2s;display:flex}.site-link h3{margin:12px 0 7px}.site-link p{color:var(--muted-foreground);margin:0;font-size:16px}.external-arrow{background:var(--background);border-radius:50%;flex-shrink:0;place-items:center;width:62px;height:62px;margin-left:20px;display:grid}.about{color:#f8f9f5;background:#234f36;padding:78px 0 72px}.about-grid{grid-template-columns:1fr 1fr;gap:70px;display:grid}.about h2{margin:26px 0 0}.about em{color:var(--accent)}.about-copy p{color:#e3eade;margin:0 0 23px;font-size:18px;line-height:1.75}.name-signature{align-items:center;gap:18px;margin-top:33px;font-family:Georgia,serif;font-size:27px;font-style:italic;display:flex}.footer{justify-content:space-between;align-items:center;gap:20px;padding-top:32px;padding-bottom:32px;display:flex}.footer p,.footer>a:last-child{font-size:13px}.footer p{color:var(--muted-foreground)}.skip-link{background:var(--accent);z-index:10;padding:14px;position:fixed;top:-80px;left:20px}.skip-link:focus{top:10px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}@media (min-width:1450px){.hero{padding-top:55px;padding-bottom:80px}h1{margin-top:70px;margin-bottom:50px}}@media (max-width:900px){.wrap{width:calc(100% - 64px)}h1{letter-spacing:-4px}.green-word svg{width:48px;height:48px}.availability{font-size:12px}.practice-grid{gap:20px}.about-grid{gap:35px}.discipline-strip span{font-size:16px}}@media (max-width:620px){.wrap{width:calc(100% - 40px)}.site-header{min-height:85px}.wordmark{font-size:32px}.site-header nav{gap:19px;font-size:13px}.hero{padding-top:30px;padding-bottom:40px}.hero-top{flex-direction:column;align-items:flex-start;gap:14px}h1{letter-spacing:-3px;margin:38px 0 28px;font-size:clamp(53px,12.3vw,75px)}.green-word svg{width:34px;height:34px;margin-left:1px}.hero-bottom{flex-direction:column;align-items:flex-start;gap:28px}.hero-bottom p{font-size:16px}.round-link{justify-content:space-between;width:100%}.round-icon{width:45px;height:45px}.discipline-strip{padding:20px 0}.discipline-strip>div{grid-template-columns:1fr 1fr;gap:17px;display:grid}.discipline-strip svg{display:none}.discipline-strip span{font-size:15px}.practice{padding-top:48px;padding-bottom:48px}.section-top p{font-size:12px}h2{letter-spacing:-1.5px;margin:25px 0 30px}.practice-grid{grid-template-columns:1fr;gap:29px}.card-top{margin-bottom:20px}.practice-card p{max-width:none}.site-link{margin-top:35px;padding:25px 20px}.site-link p{font-size:14px;line-height:1.5}.external-arrow{width:45px;height:45px}.about{padding:48px 0}.about-grid{grid-template-columns:1fr;gap:30px}.about-copy p{font-size:17px}.footer{flex-wrap:wrap;padding-block:26px}.footer p{order:3;width:100%;margin:0}.eyebrow{letter-spacing:1.4px;font-size:12px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#101713;--foreground:#f2f5ee;--primary:#c8ec86;--primary-foreground:#101713;--accent:#c8ec86;--accent-foreground:#101713;--border:#36443a;--muted:#1b271f;--muted-foreground:#b5c0b7;--card:#18221c;--card-foreground:#f2f5ee;--ring:#c8ec86}::selection{background:var(--accent);color:#101713}.discipline-strip,.round-link:hover .round-icon{color:#101713}.site-link:hover{background:#283a2e}.about{background:#1b2c21}.about-copy p{color:#d3dfd5}.skip-link{color:#101713}.external-arrow{background:#101713}.name-signature svg{color:var(--accent)}.experience{padding-block:80px}.section-intro{color:var(--muted-foreground);max-width:600px;margin:-20px 0 38px;font-size:17px;line-height:1.7}.experience-row{border-top:1px solid var(--border);grid-template-columns:1fr 1fr;gap:55px;padding:30px 0;display:grid}.experience-row h3{margin:15px 0 8px;line-height:1.25}.experience-row p{color:var(--muted-foreground);margin:0;font-size:14px;line-height:1.6}.experience-row ul{color:var(--muted-foreground);margin:0;padding-left:20px;font-size:16px;line-height:1.75}.experience-row li+li{margin-top:12px}.background-section{background:var(--muted);padding-block:70px}.background-grid{grid-template-columns:1fr 1fr;gap:70px;display:grid}.background-grid h3{margin-bottom:26px;font-size:23px}.education-item+.education-item{margin-top:28px}h4{margin:0 0 9px;font-size:17px;font-weight:500;line-height:1.5}.education-item p{color:var(--muted-foreground);margin:5px 0;font-size:15px;line-height:1.6}.education-item .coursework{max-width:400px;font-size:14px}.skills-list{flex-wrap:wrap;gap:9px;display:flex}.skills-list .tool-tag{font-size:14px;line-height:1.5}.language-title{margin-top:30px}.languages{color:var(--muted-foreground);font-size:15px;line-height:1.9}.contact{padding-block:80px}.contact h2{margin-bottom:23px}.contact p{color:var(--muted-foreground);font-size:17px;line-height:1.65}.contact-links{flex-wrap:wrap;gap:30px;margin-top:30px;display:flex}.contact-links a{color:var(--accent);border-bottom:1px solid var(--border);align-items:center;gap:10px;padding-bottom:10px;font-size:18px;display:flex}.contact-links a:hover{border-color:var(--accent)}.footer{border-top:1px solid var(--border)}@media (max-width:620px){.site-header{flex-wrap:wrap;gap:20px;padding-block:20px}.site-header nav{flex-wrap:wrap;gap:15px}.experience{padding-block:48px}.experience-row{grid-template-columns:1fr;gap:20px;padding-block:26px}.background-section{padding-block:48px}.background-grid{grid-template-columns:1fr;gap:40px}.contact{padding-block:48px}.contact-links{gap:22px}.contact-links a{font-size:16px}.section-intro{margin-top:-10px}.footer p{line-height:1.5}}.profile-portrait{aspect-ratio:4/5;object-fit:cover;object-position:center 35%;border:1px solid #435247;border-radius:8px;width:min(100%,330px);height:auto;margin-top:35px;display:block}.about-grid{align-items:center}@media (max-width:620px){.profile-portrait{width:min(100%,280px);margin-top:27px}}.tools-section{border-bottom:1px solid var(--border);background:#131d17;padding-block:78px}.tools-section h2{margin-bottom:45px}.tools-carousel{outline-offset:8px}.tools-track{gap:0;margin-left:0!important}.tool-slide{min-width:0;flex:0 0 20%!important;padding:0 12px!important}.tool-logo-card{text-align:center;padding:24px 6px 32px}.tool-logo-surface{background:#fff;border:1px solid #e5e8e3;border-radius:24px;place-items:center;width:104px;height:104px;margin:0 auto 23px;display:grid}.tool-logo-surface img{object-fit:contain;width:68px;height:68px;display:block}.tool-logo-card h3{letter-spacing:0;min-height:48px;margin:0;font-size:16px;font-weight:500;line-height:1.5}.tools-carousel-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:20px;padding-top:24px;display:flex}.tools-hint{color:var(--muted-foreground);font-size:14px}.tools-controls{align-items:center;gap:12px;display:flex}.tools-counter{color:var(--muted-foreground);font-variant-numeric:tabular-nums;min-width:54px;font-size:13px}.tools-arrow{cursor:pointer;place-items:center;display:grid;border:1px solid var(--border)!important;width:44px!important;height:44px!important;color:var(--foreground)!important;background:0 0!important;border-radius:50%!important;margin:0!important;position:static!important;inset:auto!important;transform:none!important}.tools-arrow:hover:not(:disabled){background:var(--accent)!important;color:#101713!important}.tools-arrow:disabled{opacity:.3;cursor:default}.tools-arrow:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.tools-arrow svg{width:20px;height:20px}@media (max-width:900px){.tool-slide{flex-basis:25%!important}}@media (max-width:620px){.tools-section{padding-block:48px}.tool-slide{flex-basis:50%!important;padding-inline:6px!important}.tools-section h2{margin-bottom:25px}.tools-hint{max-width:140px;font-size:12px}.tool-logo-card h3{font-size:14px}.tool-logo-surface{border-radius:20px;width:88px;height:88px}.tool-logo-surface img{width:58px;height:58px}.tools-controls{gap:8px}.tools-arrow{width:40px!important;height:40px!important}}.contact-links.social-links{gap:16px}.contact-links.social-links a{background:0 0;border:0;border-radius:16px;place-items:center;width:64px;height:64px;padding:0;transition:transform .2s;display:grid}.contact-links.social-links a:hover{border-color:var(--accent);transform:translateY(-4px)}.contact-links.social-links img{object-fit:contain;width:32px;height:32px;display:block}.contact-links.social-links a:focus-visible{outline:3px solid var(--accent);outline-offset:5px}@media (max-width:620px){.contact-links.social-links{gap:12px}.contact-links.social-links a{border-radius:13px;width:52px;height:52px}}.email-icon-trigger{cursor:pointer;background:0 0;border:0;border-radius:16px;place-items:center;width:64px;height:64px;padding:0;transition:transform .2s;display:grid}.email-icon-trigger:hover{transform:translateY(-4px)}.email-icon-trigger:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.email-icon-trigger img{object-fit:contain;width:32px;height:32px}.email-dialog{border:1px solid #425248;max-height:calc(100dvh - 32px);overflow-y:auto;box-shadow:0 25px 100px #0008;color:#f2f5ee!important;background:#18251d!important;border-radius:20px!important;width:calc(100% - 32px)!important;max-width:540px!important;padding:28px!important}.email-dialog-title{letter-spacing:-.7px;padding-right:24px;font-size:27px!important}.email-dialog-description{line-height:1.6;color:#b5c0b7!important;font-size:15px!important}.email-fields{gap:9px;display:grid}.email-fields label{color:#e1e8df;margin-top:5px;font-size:14px}.email-fields input,.email-fields textarea{color:#f2f5ee;background:#101713;border:1px solid #425248;border-radius:8px;width:100%;min-height:44px;padding:10px 12px;font-size:16px!important}.email-fields textarea{resize:vertical;min-height:130px}.email-fields input[readonly]{color:#c8ec86}.email-fields input:focus,.email-fields textarea:focus{outline-offset:1px;outline:2px solid #c8ec86}.email-compose-actions{flex-wrap:wrap;gap:12px;margin-top:6px;display:flex}.email-compose-actions a{border-radius:8px;justify-content:center;align-items:center;min-height:44px;padding:12px 15px;font-size:14px;display:inline-flex}.compose-primary{color:#101713;background:#c8ec86}.compose-secondary{color:#f2f5ee;border:1px solid #647368}.email-copy-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.email-copy-row button{color:#c8ec86;cursor:pointer;min-height:40px}.email-copy-row span{color:#b5c0b7;font-size:13px}.email-dialog [data-slot=dialog-close]{color:#f2f5ee;cursor:pointer}@media (max-width:620px){.email-icon-trigger{width:52px;height:52px}.email-dialog{padding:22px!important}.email-compose-actions a{flex:1}}.tool-logo-surface{background:0 0;border:0;border-radius:0;width:80px;height:80px;margin-bottom:14px}.tool-column{flex-direction:column;gap:12px;display:flex}.tool-column .tool-logo-card{padding:12px 6px 18px}.tool-column .tool-logo-card h3{min-height:48px}.tools-carousel-footer{margin-top:12px}@media (max-width:620px){.tool-logo-surface{border-radius:0;width:70px;height:70px}.tool-column{gap:6px}.tool-column .tool-logo-card{padding:10px 4px 14px}}.custom-work{padding-top:25px;padding-bottom:80px}.custom-work h2{margin-bottom:22px}.poster-category{color:var(--muted-foreground);letter-spacing:0;margin-bottom:26px;font-size:18px}.poster-track{margin-left:-24px!important}.poster-slide{flex:0 0 33.3333%!important;padding-left:24px!important}.poster-figure{margin:0}.poster-image-frame{border:1px solid var(--border);background:#0b110e;border-radius:5px;justify-content:center;align-items:center;height:440px;display:flex;overflow:hidden}.poster-image-frame img{object-fit:contain;width:100%;height:100%;display:block}.poster-figure figcaption{padding:20px 0 25px}.poster-figure figcaption>span{letter-spacing:1.5px;text-transform:uppercase;color:var(--muted-foreground);font-size:12px}.poster-figure h3{letter-spacing:-.3px;margin:8px 0 0;font-size:19px;line-height:1.4}.poster-carousel{outline-offset:8px}@media (max-width:900px){.poster-slide{flex-basis:50%!important}.poster-image-frame{height:420px}}@media (max-width:620px){.custom-work{padding-top:5px;padding-bottom:48px}.custom-work .section-top{flex-wrap:wrap;gap:16px}.poster-slide{flex-basis:88%!important;padding-left:16px!important}.poster-track{margin-left:-16px!important}.poster-image-frame{height:390px}.poster-figure h3{font-size:17px}}.animation-work{border-top:1px solid var(--border);margin-top:60px;padding-top:35px}.animation-figure{max-width:780px;margin:0}.animation-figure video{object-fit:contain;border:1px solid var(--border);background:#080d0a;border-radius:6px;width:100%;max-height:650px;display:block}.animation-figure figcaption{padding-top:20px}.animation-figure h3{margin:0 0 7px;font-size:22px;line-height:1.4}.animation-figure p{color:var(--muted-foreground);margin:0;font-size:14px}.animation-figure video:focus-visible{outline:3px solid var(--accent);outline-offset:5px}@media (max-width:620px){.animation-work{margin-top:40px;padding-top:28px}.animation-figure video{max-height:540px}}.animation-figure video{aspect-ratio:16/9;height:auto}
