/* author: Antigravity_1 */
:root{color-scheme:light;--paper:#f6f4ed;--surface:#fffdf7;--ink:#182e27;--muted:#68756e;--line:#d9ded5;--green:#1f5342;--deep:#163b32;--lime:#d8e27d;--coral:#d87b5c;--serif:Georgia,"Times New Roman",serif;--sans:"Avenir Next",Avenir,"Segoe UI",Arial,sans-serif;--mono:"SFMono-Regular",Consolas,monospace;scroll-padding-top:84px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}h1,h2,h3,p{margin-top:0}:focus-visible{outline:3px solid var(--coral);outline-offset:4px}
.skip-link{position:fixed;left:16px;top:-60px;z-index:20;padding:10px 15px;background:var(--ink);color:white}.skip-link:focus{top:12px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{position:sticky;top:0;z-index:10;height:76px;padding:0 max(6%,calc((100vw - 1240px)/2));display:flex;align-items:center;justify-content:space-between;gap:30px;background:#f6f4edf2;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.brand{display:inline-flex;align-items:center;gap:10px;white-space:nowrap;font-size:11px;font-weight:800;letter-spacing:.12em}.brand-light{color:var(--green);font-weight:500}.brand-mark{width:28px;height:28px;display:flex;align-items:center;justify-content:center;gap:3px;border:1px solid #9ba99d;border-radius:50%}.brand-mark i{width:2px;height:9px;background:var(--coral);transform:rotate(35deg)}.brand-mark i:nth-child(2){height:14px;background:var(--green)}.brand-mark i:nth-child(3){height:7px}
.main-nav{display:flex;gap:clamp(18px,3vw,40px)}.main-nav a,.header-link{font-size:12px;color:#42574d}.main-nav a:hover,.text-link:hover,.underlined-link:hover{color:var(--coral)}.header-link{padding:10px 14px;border:1px solid #aeb9ae}.header-link span{padding-left:8px;color:var(--coral)}.menu-toggle{display:none}
.hero{min-height:630px;padding:84px max(9%,calc((100vw - 1140px)/2)) 55px;position:relative;display:flex;align-items:center;overflow:hidden;background:var(--deep);color:#f7f5ec}
.hero-copy{width:min(690px,75%);position:relative;z-index:2}.eyebrow,.section-kicker,.hero-foot,.note-index,.note-caption,.hero-coordinate,.principle-no,.card-top,.card-foot,.ethics-index,.evidence-line>span,.about-note>span,.footer-note{font-family:var(--mono);font-size:9px;letter-spacing:.12em}
.eyebrow{display:flex;align-items:center;gap:10px;color:var(--lime)}.eyebrow-dot,.status-label i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--lime)}
h1{margin:26px 0 22px;max-width:780px;font-size:clamp(48px,6.8vw,86px);line-height:1.02;letter-spacing:-.065em;font-weight:600}h1 em,h2 em{color:var(--lime);font-family:var(--serif);font-weight:400;letter-spacing:-.05em}
.hero-lede{max-width:520px;margin:0;color:#d8e2d9;font-size:16px;line-height:1.8}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:32px}.button{min-height:48px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;gap:23px;font-size:12px;font-weight:600}.button-primary{background:var(--lime);color:var(--deep)}.button-primary:hover{background:white}.button-primary span,.button-outline span{font-size:16px}.text-link{color:#ecede3;font-size:12px}.text-link span{margin-left:6px;color:var(--lime)}
.hero-foot{display:flex;gap:32px;margin-top:72px;color:#cfdbce;font-size:8px}.hero-foot span:last-child{color:#a0b1a4}.hero-grid{position:absolute;inset:0 0 0 40%;opacity:.85;pointer-events:none}.orbit{position:absolute;border:1px solid #dce89045;border-radius:50%}.orbit-one{width:470px;height:260px;right:8%;top:22%;transform:rotate(-34deg)}.orbit-two{width:560px;height:370px;right:-5%;top:13%;border-color:#e6ad8b42;transform:rotate(38deg)}.axis{position:absolute;top:9%;right:34%;width:1px;height:500px;background:linear-gradient(transparent,#dce89066,transparent);transform:rotate(37deg)}.axis-b{right:22%;background:linear-gradient(transparent,#e6ad8b55,transparent);transform:rotate(-43deg)}.hero-node{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--lime)}.node-a{top:31%;right:20%}.node-b{top:67%;right:46%;background:#eda78b}.node-c{top:21%;right:49%;width:5px;height:5px}.hero-coordinate{position:absolute;right:8%;bottom:9%;color:#b0c0b1;font-size:8px;line-height:1.8}
.hero-note{position:absolute;right:9%;top:31%;z-index:1;padding:15px 0 14px 18px;border-left:1px solid #dce890;color:#e1e7da}.note-index{color:var(--lime);font-size:8px}.hero-note p{margin:14px 0;font:17px/1.5 var(--serif)}.hero-note strong{color:var(--lime);font-weight:400;font-style:italic}.note-line{display:block;width:32px;height:1px;margin:18px 0 11px;background:#e6ad8b}.note-caption{color:#bac9b8;font-size:7px}
.status-strip{min-height:76px;padding:16px max(9%,calc((100vw - 1140px)/2));display:flex;align-items:center;gap:26px;background:#e7ead9;border-bottom:1px solid var(--line)}.status-label{display:flex;align-items:center;gap:9px;white-space:nowrap;color:var(--green);font:9px var(--mono);letter-spacing:.1em}.status-label i{width:6px;height:6px;background:var(--coral)}.status-strip p{flex:1;margin:0;color:#46574d;font-size:12px}.status-strip>a{white-space:nowrap;color:var(--green);font-size:11px;font-weight:600}.status-strip>a span{padding-left:6px;color:var(--coral)}
.section{max-width:1280px;margin:auto;padding:104px 9%}.section-kicker{display:flex;justify-content:space-between;gap:20px;padding-bottom:16px;border-bottom:1px solid var(--line);color:#77837a;font-size:8px}.section-kicker span:first-child{color:var(--coral)}
.intro-layout{display:grid;grid-template-columns:1.12fr .88fr;gap:10%;padding:62px 0 12px}.intro-layout h2,.method-heading h2,.formats-heading h2,.models-layout h2,.about-copy h2,.faq-layout h2,.closing-cta h2{margin:0;font-size:clamp(39px,4.7vw,62px);line-height:1.12;letter-spacing:-.055em;font-weight:600}.intro-layout h2 em,.method-heading h2 em,.formats-heading h2 em,.models-layout h2 em,.closing-cta h2 em{color:var(--green)}
.intro-text{max-width:460px;padding-top:7px}.large-copy{color:#30483d;font-size:18px;line-height:1.65}.intro-text p:not(.large-copy){color:var(--muted);font-size:13px;line-height:1.9}.underlined-link{display:inline-block;margin-top:18px;padding-bottom:8px;border-bottom:1px solid #c9886f;color:var(--green);font-size:11px}.underlined-link span{margin-left:13px;color:var(--coral)}
.principles{max-width:1070px;margin:0 auto 100px;display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line)}.principles article{min-height:235px;padding:26px 32px;border-right:1px solid var(--line)}.principles article:last-child{border:0}.principle-no{color:#87938a;font-size:8px}.principle-icon{position:relative;display:flex;height:42px;align-items:center;margin:17px 0 13px}.icon-signal{gap:4px}.icon-signal i{display:block;width:3px;height:12px;background:var(--coral)}.icon-signal i:nth-child(2){height:26px;background:var(--green)}.icon-signal i:nth-child(3){height:18px}.icon-layers i{position:absolute;width:18px;height:18px;border:1px solid var(--green);transform:rotate(45deg)}.icon-layers i:nth-child(2){margin-left:10px;opacity:.65}.icon-layers i:nth-child(3){margin-left:20px;opacity:.35}.icon-open i{position:absolute;width:20px;height:20px;border:1px solid var(--coral);border-radius:50%}.icon-open i:first-child{transform:translateX(-7px)}.icon-open i:last-child{transform:translateX(7px)}.principles h3{margin:0 0 8px;font-size:15px;line-height:1.45;font-weight:650}.principles p{max-width:260px;margin:0;color:var(--muted);font-size:11px;line-height:1.8}
.method-section{padding-top:24px;padding-bottom:112px}.method-heading{display:grid;grid-template-columns:1fr .72fr;gap:12%;align-items:end;padding:52px 0 44px}.method-heading>p,.formats-heading>p{max-width:455px;margin:0;color:var(--muted);font-size:13px;line-height:1.9}
.method-flow{display:flex;align-items:center;justify-content:space-between;gap:13px;padding:23px 20px;background:var(--surface);border:1px solid var(--line)}.method-flow>div{display:flex;flex-direction:column;gap:6px}.method-flow>div>span{color:var(--coral);font:9px var(--mono)}.method-flow b{font-size:13px;font-weight:650}.method-flow small{color:var(--muted);font-size:9px}.method-flow>i{color:var(--coral);font-size:14px;font-style:normal}.ethics-note{display:flex;align-items:center;gap:17px;padding-top:18px}.ethics-symbol{color:var(--coral);font:21px var(--serif)}.ethics-note p{flex:1;margin:0;color:var(--muted);font-size:10px;line-height:1.8}.ethics-note strong{color:var(--ink)}.ethics-index{color:#89958c;font-size:8px}
.formats-section{border-block:1px solid #d4dcca;background:#e9ecdf}.section-inner{padding-top:96px;padding-bottom:104px}.formats-heading{display:flex;justify-content:space-between;align-items:end;gap:38px;padding:47px 0 34px}.formats-heading>p{max-width:390px}.format-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}.format-card{padding:25px 27px 19px;border:1px solid #d3d9cc;background:var(--surface)}.format-card-featured{border-color:#7c9d78;background:var(--deep);color:#f7f5ec}.card-top{display:flex;justify-content:space-between;color:var(--muted);font-size:8px}.format-card-featured .card-top{color:#c5d1bf}.draft-tag{padding:3px 7px;border:1px solid #d7a18c;color:#9e563d;font-size:7px}.format-card-featured .draft-tag{color:var(--lime);border-color:#dce89075}.format-number{margin:25px 0 5px;font-size:62px;line-height:1.1;letter-spacing:-.08em}.format-number span{color:var(--coral);font:italic 17px var(--serif);letter-spacing:0}.format-card-featured .format-number span{color:var(--lime)}.format-card h3{margin:0 0 11px;font-size:17px;font-weight:650}.format-card>p{min-height:42px;max-width:430px;margin-bottom:19px;color:var(--muted);font-size:11px;line-height:1.8}.format-card-featured>p{color:#c4d0c4}.format-card ul{min-height:116px;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:9px 13px;list-style:none}.format-card li{position:relative;padding-left:13px;color:#43574c;font-size:9px;line-height:1.6}.format-card li:before{position:absolute;top:7px;left:0;width:4px;height:4px;border-radius:50%;background:var(--coral);content:""}.format-card-featured li{color:#e0e7dc}.format-card-featured li:before{background:var(--lime)}.card-foot{margin-top:21px;padding-top:12px;border-top:1px solid var(--line);color:#7d8980;font-size:7px;letter-spacing:.08em}.format-card-featured .card-foot{border-color:#ffffff30;color:#b6c4b7}
.models-section{padding-top:99px;padding-bottom:90px}.models-layout{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:6%;padding:47px 0 25px}.models-layout h2{font-size:clamp(38px,4.3vw,55px)}.models-intro{max-width:430px;margin:19px 0 0;color:var(--muted);font-size:12px;line-height:1.9}.model-visual{position:relative;height:320px;display:flex;align-items:center;justify-content:center;overflow:hidden}.model-ring{position:absolute;width:185px;height:185px;border:1px solid #4d866d94;border-radius:50%;transform:rotate(25deg) scaleY(.45)}.ring-two{width:250px;height:250px;border-color:#d87b5c80;transform:rotate(-32deg) scaleY(.58)}.ring-three{width:305px;height:305px;border-color:#4d866d5c;transform:rotate(68deg) scaleY(.45)}.model-center{z-index:1;width:58px;height:58px;display:grid;place-items:center;border:1px solid var(--coral);border-radius:50%;background:var(--paper);color:var(--green);font:10px var(--mono)}.model-label{position:absolute;color:#687b6e;font:7px var(--mono);letter-spacing:.1em}.label-one{top:17%;left:17%}.label-two{bottom:18%;left:10%;color:#b36c52}.label-three{top:51%;right:6%}.model-cross{position:absolute;width:5px;height:5px;border-radius:50%;background:var(--coral)}.cross-one{top:27%;right:23%}.cross-two{bottom:25%;left:31%;background:var(--green)}.evidence-line{display:grid;grid-template-columns:150px 1fr;gap:15px;align-items:start;padding-top:18px;border-top:1px solid var(--line)}.evidence-line>span{color:var(--coral);font-size:8px}.evidence-line p{max-width:710px;margin:0;color:var(--muted);font-size:10px;line-height:1.8}
.about-section{display:grid;grid-template-columns:1fr 1fr;min-height:440px;background:#e7eadf;border-block:1px solid var(--line)}.about-art{position:relative;min-height:440px;overflow:hidden;background:radial-gradient(ellipse at center,#c5d4b870,transparent 67%),#dfe6d8}.about-orbit{position:absolute;top:50%;left:50%;width:300px;height:430px;border:1px solid #4d866d75;border-radius:50%;transform:translate(-50%,-50%) rotate(37deg)}.about-orbit:after{position:absolute;inset:32px -30px;border:1px solid #d87b5c72;border-radius:50%;transform:rotate(-74deg);content:""}.about-core{position:absolute;top:50%;left:50%;width:92px;height:92px;display:grid;place-items:center;border:1px solid var(--coral);border-radius:50%;background:#f6f4edcc;color:var(--green);font:31px var(--serif);transform:translate(-50%,-50%)}.about-coord{position:absolute;bottom:10%;left:12%;color:#64776b;font:8px var(--mono);letter-spacing:.15em}.about-copy{align-self:center;padding:68px 12% 58px 9%}.about-copy .section-kicker{margin-bottom:34px;font-size:7px}.about-copy h2{font-size:43px}.about-copy>p{max-width:430px;margin:18px 0 26px;color:#596c60;font-size:11px;line-height:1.9}.about-note{display:flex;align-items:baseline;gap:17px;padding-left:14px;border-left:1px solid var(--coral)}.about-note>span{color:#b46249;font-size:7px;white-space:nowrap}.about-note p{margin:0;color:var(--muted);font-size:9px}
.faq-section{padding-top:99px;padding-bottom:105px}.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:10%;padding-top:46px}.faq-layout h2{font-size:39px}.faq-list details{margin-bottom:16px;padding-bottom:15px;border-bottom:1px solid var(--line)}.faq-list summary{display:flex;justify-content:space-between;gap:20px;cursor:pointer;list-style:none;font-size:12px;font-weight:600}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{color:var(--coral);font-size:17px;font-weight:400;transition:transform .2s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{max-width:610px;margin:12px 25px 0 0;color:var(--muted);font-size:10px;line-height:1.9}
.closing-cta{padding:84px 24px 72px;text-align:center;background:var(--deep);color:#f7f5ec}.closing-mark{display:block;margin-bottom:22px;color:#dae4d3;font:28px var(--serif)}.closing-mark span{color:var(--lime)}.closing-cta .eyebrow{justify-content:center;color:#c5d1bf;font-size:8px}.closing-cta h2{margin:19px 0 26px;font-size:48px}.closing-cta h2 em{color:var(--lime)}.button-outline{border:1px solid var(--lime);color:#f0f1e5}.button-outline:hover{background:#ffffff12}.closing-foot{margin:19px 0 0;color:#bdcbbb;font-size:9px}
.site-footer{max-width:1400px;min-height:100px;margin:auto;padding:24px 6%;display:flex;align-items:center;justify-content:space-between;gap:25px}.site-footer p{margin:0;color:var(--muted);font-size:9px}.footer-note{color:#78847b;font-size:7px;text-align:right}
@media(max-width:900px){.site-header{padding-inline:5%}.main-nav{gap:17px}.hero{min-height:620px;padding-inline:7%}.hero-copy{width:82%}.hero-note{top:56%;right:6%;transform:scale(.88);transform-origin:top right}.hero-grid{left:30%}.hero-foot{margin-top:60px}.status-strip{padding-inline:7%;gap:16px}.section{padding-inline:7%}.principles{margin-inline:5%}.principles article{padding-inline:20px}.about-copy{padding-inline:7%}}
@media(max-width:650px){:root{scroll-padding-top:68px}.site-header{height:68px;padding:0 6%}.brand{font-size:10px}.brand-mark{width:24px;height:24px}.menu-toggle{width:38px;height:38px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer}.menu-toggle>span:not(.visually-hidden){width:14px;height:1px;background:var(--ink)}.header-link{display:none}.main-nav{position:absolute;top:67px;right:0;left:0;display:none;flex-direction:column;gap:0;padding:12px 6% 18px;background:var(--paper);border-bottom:1px solid var(--line)}.main-nav.is-open{display:flex}.main-nav a{padding:12px 0;border-bottom:1px solid var(--line)}.main-nav a:last-child{border:0}
.hero{min-height:660px;padding:68px 7% 30px;align-items:flex-start;flex-direction:column}.hero-copy{width:100%}h1{margin-top:25px;font-size:clamp(45px,12vw,66px)}.hero-lede{max-width:440px;font-size:13px}.hero-actions{flex-wrap:wrap;gap:16px;margin-top:25px}.button{min-height:45px;padding-inline:13px;gap:15px}.text-link{font-size:10px}.hero-foot{margin-top:48px;flex-direction:column;gap:6px;font-size:7px}.hero-grid{inset:28% -43% 0 18%;opacity:.55}.orbit-one{top:35%;right:7%;width:390px;height:205px}.orbit-two{top:29%;right:0;width:465px;height:280px}.hero-note{position:relative;top:auto;right:auto;bottom:auto;align-self:flex-end;width:min(260px,100%);margin:18px 0 0;transform:none}.hero-coordinate{right:10%;bottom:6%}
.status-strip{padding:16px 7%;display:grid;grid-template-columns:1fr auto;gap:8px 14px}.status-label{grid-column:1}.status-strip p{grid-column:1/-1;grid-row:2;font-size:11px;line-height:1.7}.status-strip>a{grid-column:2;grid-row:1;font-size:10px}.section{padding:75px 7%}.section-kicker{gap:15px;font-size:7px}.section-kicker span:last-child{text-align:right}.intro-layout{grid-template-columns:1fr;gap:23px;padding-top:40px}.intro-layout h2{font-size:42px}.intro-text{max-width:none}.large-copy{font-size:16px}.intro-text p:not(.large-copy){font-size:12px}
.principles{grid-template-columns:1fr;margin:0 7% 72px}.principles article{min-height:0;padding:20px 23px;display:grid;grid-template-columns:45px 1fr;column-gap:9px;border-right:0;border-bottom:1px solid var(--line)}.principles article:last-child{border-bottom:0}.principle-no{grid-column:1/-1}.principle-icon{grid-row:2/span 2;margin:17px 0 0}.principles h3{margin:16px 0 5px}.principles p{grid-column:2}
.method-section{padding-top:0;padding-bottom:76px}.method-heading{grid-template-columns:1fr;gap:20px;padding:39px 0 30px}.method-heading h2,.formats-heading h2,.models-layout h2{font-size:42px}.method-heading>p,.formats-heading>p{font-size:12px}.method-flow{display:grid;grid-template-columns:1fr 22px 1fr;gap:13px 5px;padding:18px 14px}.method-flow>div{min-height:56px}.method-flow>i:nth-of-type(2){display:none}.method-flow small{font-size:8px}.ethics-note{align-items:flex-start;gap:11px;padding-top:16px}.ethics-note p{font-size:9px}.ethics-index{display:none}
.section-inner{padding-top:73px;padding-bottom:76px}.formats-heading{display:block;padding:38px 0 25px}.formats-heading>p{margin-top:16px}.format-cards{grid-template-columns:1fr;gap:12px}.format-card{padding:21px 19px 16px}.format-number{margin-top:21px;font-size:56px}.format-card>p{min-height:0}.format-card ul{min-height:0;gap:8px}
.models-section{padding-top:74px;padding-bottom:66px}.models-layout{grid-template-columns:1fr;gap:0;padding-top:39px}.models-intro{margin-top:13px;font-size:11px}.model-visual{height:270px;margin-top:2px}.evidence-line{grid-template-columns:1fr;gap:8px}.evidence-line p{font-size:9px}.about-section{grid-template-columns:1fr}.about-art{min-height:265px}.about-orbit{width:210px;height:320px}.about-copy{padding:46px 7% 52px}.about-copy .section-kicker{margin-bottom:25px}.about-copy h2{font-size:36px}
.faq-section{padding-block:73px}.faq-layout{grid-template-columns:1fr;gap:27px;padding-top:34px}.faq-layout h2{font-size:34px}.faq-list summary{font-size:11px}.closing-cta{padding:65px 7% 54px}.closing-cta h2{font-size:39px}.closing-cta .eyebrow{font-size:7px}.site-footer{padding:20px 6%;align-items:flex-start;flex-wrap:wrap;gap:12px}.site-footer p{order:3;flex-basis:100%}.footer-note{max-width:120px;font-size:6px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.footer-contact{display:grid;gap:5px;font-size:9px}.footer-contact a{color:inherit;text-underline-offset:3px}

/* author: Antigravity_1 */
.calendar-section{background:var(--deep);color:var(--surface);position:relative;overflow:hidden}
.calendar-inner{max-width:1440px;margin:auto;padding:96px 9% 88px}
.calendar-section .section-kicker{border-color:#ffffff30;color:#bdc9bd}
.calendar-section .section-kicker span:first-child{color:var(--lime)}
.calendar-heading{display:flex;align-items:end;justify-content:space-between;gap:50px;padding:42px 0 34px}
.calendar-label,.calendar-overline{margin:0 0 12px;color:var(--lime);font:9px var(--mono);letter-spacing:.13em}
.calendar-heading h2{margin:0;color:#fffdf7;font-size:clamp(42px,6vw,76px);line-height:.98;font-weight:500;letter-spacing:-.055em}
.calendar-heading h2 em{color:var(--lime);font-family:Georgia,serif;font-weight:400}
.calendar-intro{max-width:390px;margin:0 0 4px;color:#d0dbd0;font-size:14px;line-height:1.8}
.calendar-panel{padding:24px 28px 18px;border:1px solid #ffffff2a;background:#1c473b}
.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px}
.calendar-overline{display:block;margin-bottom:6px;color:#b5c58e;font-size:8px}
.calendar-toolbar h3{margin:0;color:#fffdf7;font-size:24px;font-weight:500;text-transform:capitalize}
.calendar-controls{display:flex;gap:8px}
.calendar-month-button{width:40px;height:40px;border:1px solid #ffffff50;background:transparent;color:#fffdf7;font-size:20px;cursor:pointer;transition:background .18s,color .18s,border-color .18s}
.calendar-month-button:hover:not(:disabled),.calendar-month-button:focus-visible{border-color:var(--lime);background:var(--lime);color:var(--deep)}
.calendar-month-button:disabled{opacity:.35;cursor:not-allowed}
.calendar-instruction{margin:20px 0 12px;color:#c0cec2;font-size:12px;line-height:1.6}
.calendar-table-wrap{overflow-x:auto}
.calendar-grid{width:100%;border-collapse:collapse;table-layout:fixed}
.calendar-grid th{height:38px;border-bottom:1px solid #ffffff36;color:#b6c5b9;font:9px var(--mono);letter-spacing:.08em;text-align:center}
.calendar-grid td{position:relative;height:74px;border-right:1px solid #ffffff20;border-bottom:1px solid #ffffff20;text-align:center;vertical-align:middle}
.calendar-grid td:last-child{border-right:0}
.calendar-grid tr:last-child td{border-bottom:0}
.calendar-grid time{display:block;color:#e9efe8;font-size:14px}
.calendar-grid .is-outside-month{background:#102e2770}
.calendar-event-link{position:relative;display:flex;width:100%;height:100%;min-height:72px;align-items:center;justify-content:center;flex-direction:column;gap:5px;color:var(--deep);text-decoration:none;outline-offset:-3px}
.calendar-event-link time{display:grid;width:30px;height:30px;place-items:center;border-radius:50%;background:var(--lime);color:var(--deep);font-weight:700}
.calendar-event-marker{color:#eff4d9;font-size:9px;letter-spacing:.02em}
.calendar-tooltip{position:absolute;z-index:5;top:calc(100% + 7px);left:50%;display:grid;width:min(250px,70vw);gap:7px;padding:14px 16px;border:1px solid #d8e27d;background:#fffdf7;color:var(--ink);box-shadow:0 10px 30px #07140f55;text-align:left;opacity:0;pointer-events:none;transform:translate(-50%,-4px);transition:opacity .16s,transform .16s}
.calendar-tooltip strong{font-size:13px;line-height:1.35}
.calendar-tooltip span{color:var(--muted);font-size:11px;line-height:1.5}
.calendar-tooltip small{color:var(--green);font:9px var(--mono)}
.calendar-event-link:hover .calendar-tooltip,.calendar-event-link:focus-visible .calendar-tooltip{opacity:1;transform:translate(-50%,0)}
.calendar-status{min-height:22px;padding-top:12px;color:#d4dfc7;font-size:11px}
.calendar-footnote{display:flex;align-items:flex-start;gap:10px;margin:18px 0 0;color:#c0cec2;font-size:11px;line-height:1.6}
.calendar-footnote span{color:var(--lime)}
.event-page{min-height:100vh;background:var(--deep)}
.event-detail-shell{max-width:960px;margin:auto;padding:48px 7% 30px}
.event-brand{display:inline-flex;color:#fffdf7}
.event-detail-card{max-width:760px;margin:48px auto 38px;padding:clamp(24px,5vw,54px);border:1px solid #ffffff35;background:#1c473b;color:#fffdf7}
.event-detail-card .eyebrow{color:var(--lime);font:9px var(--mono);letter-spacing:.12em}
.event-detail-date{margin:34px 0 12px;color:#c9d6b5;font-size:13px;text-transform:capitalize}
.event-detail-card h1{margin:0 0 18px;font-size:clamp(38px,7vw,66px);line-height:1.02;font-weight:500;letter-spacing:-.05em}
.event-detail-summary{max-width:620px;color:#e3e9df;font-size:18px;line-height:1.65}
.event-detail-meta{display:flex;flex-wrap:wrap;gap:10px;margin:25px 0;color:var(--lime);font:10px var(--mono);letter-spacing:.04em}
.event-detail-meta span{padding:9px 12px;border:1px solid #ffffff35}
.event-detail-description{max-width:650px;color:#d0dbd0;font-size:14px;line-height:1.85}
.event-notice{margin:30px 0;padding:15px 17px;border-left:3px solid var(--lime);background:#ffffff0d;color:#e2e9df;font-size:12px;line-height:1.7}
.event-notice strong{display:block;color:#fffdf7}
.event-detail-footer{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;color:#c1cec2;font-size:11px}
.event-detail-footer a{color:inherit}
@media(max-width:700px){.calendar-inner{padding:72px 6% 66px}.calendar-heading{display:block;padding:34px 0 24px}.calendar-intro{margin-top:18px;font-size:13px}.calendar-panel{padding:18px 12px 14px}.calendar-grid td{height:58px}.calendar-event-link{min-height:56px}.calendar-event-marker{font-size:8px}.calendar-tooltip{position:fixed;top:auto;bottom:18px;left:50%;width:min(310px,calc(100vw - 36px));transform:translate(-50%,8px)}.calendar-event-link:hover .calendar-tooltip,.calendar-event-link:focus-visible .calendar-tooltip{transform:translate(-50%,0)}.event-detail-shell{padding:26px 6% 24px}.event-detail-card{margin:32px auto 24px;padding:24px 20px}.event-detail-summary{font-size:16px}}

.calendar-table-wrap{overflow:visible}
.calendar-instruction-touch{display:none}
@media(max-width:700px){.calendar-tooltip{position:absolute;top:calc(100% + 7px);bottom:auto;left:0;right:auto;width:min(245px,calc(100vw - 40px));transform:translateY(-4px)}.calendar-event-link:hover .calendar-tooltip,.calendar-event-link:focus-visible .calendar-tooltip{transform:translateY(0)}.calendar-grid td:nth-child(n+6) .calendar-tooltip{left:auto;right:0}.calendar-grid td:nth-child(n+6) .calendar-event-link:hover .calendar-tooltip,.calendar-grid td:nth-child(n+6) .calendar-event-link:focus-visible .calendar-tooltip{transform:translateY(0)}.calendar-instruction-desktop{display:none}.calendar-instruction-touch{display:inline}}

/* Public calendar: local FullCalendar 6.1.20 assets. */
.calendar-panel .fc { --fc-border-color: #ffffff26; --fc-page-bg-color: transparent; --fc-neutral-bg-color: #ffffff0b; --fc-today-bg-color: #d8e27d1c; --fc-event-bg-color: #d8e27d; --fc-event-border-color: #d8e27d; --fc-event-text-color: #102e27; color: #edf2e7; font-family: Arial, sans-serif; }
.calendar-panel .fc .fc-toolbar { gap: 14px; margin-bottom: 24px; }
.calendar-panel .fc .fc-toolbar-title { color: #fffdf7; font-size: clamp(21px, 3vw, 32px); font-weight: 500; text-transform: capitalize; }
.calendar-panel .fc .fc-button { border: 1px solid #ffffff50; border-radius: 0; background: transparent; box-shadow: none; color: #fffdf7; font: 10px var(--mono); letter-spacing: .05em; text-transform: uppercase; }
.calendar-panel .fc .fc-button:hover, .calendar-panel .fc .fc-button:focus-visible, .calendar-panel .fc .fc-button:disabled { border-color: var(--lime); background: var(--lime); color: var(--deep); box-shadow: none; opacity: 1; }
.calendar-panel .fc .fc-col-header-cell-cushion, .calendar-panel .fc .fc-daygrid-day-number { color: #e9efe8; font: 10px var(--mono); letter-spacing: .06em; text-decoration: none; }
.calendar-panel .fc .fc-event { position: relative; overflow: visible; border-radius: 0; cursor: pointer; font-size: 11px; line-height: 1.35; white-space: normal; }
.calendar-panel .fc .fc-event-main { padding: 3px 5px; }
.calendar-event-popover { position: absolute; z-index: 20; top: calc(100% + 7px); left: 50%; display: grid; width: min(270px, 75vw); gap: 6px; padding: 13px; background: #fffdf7; color: #102e27; box-shadow: 0 14px 30px #07140f77; opacity: 0; pointer-events: none; transform: translate(-50%, -4px); transition: opacity .16s, transform .16s; }
.calendar-event-popover strong { font-size: 12px; line-height: 1.35; }
.calendar-event-popover span { color: #44534d; font-size: 11px; line-height: 1.45; }
.calendar-event-popover small { color: #2e604f; font: 9px var(--mono); }
.fc-event:hover .calendar-event-popover, .fc-event:focus-within .calendar-event-popover { opacity: 1; transform: translate(-50%, 0); }
.calendar-panel .fc .fc-list { border-color: #ffffff26; }
.calendar-panel .fc .fc-list-day-cushion, .calendar-panel .fc .fc-list-event:hover td { background: #ffffff12; }
.calendar-panel .fc .fc-list-event-title a, .calendar-panel .fc .fc-list-event-time { color: #fffdf7; text-decoration: none; }
.calendar-status[data-state="error"] { color: #ffd6c9; }
.calendar-status[data-state="stale"] { color: #f0df9c; }
.event-detail-image { display: block; width: 100%; max-height: 420px; margin: 28px 0; object-fit: cover; }
.event-detail-actions { display: flex; gap: 12px; margin: 28px 0; }
@media (max-width: 700px) { .calendar-panel .fc .fc-toolbar { align-items: flex-start; flex-wrap: wrap; } .calendar-panel .fc .fc-toolbar-chunk:last-child { display: none; } .calendar-event-popover { left: 0; transform: translateY(-4px); } .fc-event:hover .calendar-event-popover, .fc-event:focus-within .calendar-event-popover { transform: translateY(0); } }
.fc-event.is-touch-expanded .calendar-event-popover { opacity: 1; transform: translate(-50%, 0); }
@media (max-width: 700px) { .fc-event.is-touch-expanded .calendar-event-popover { transform: translateY(0); } }
