@import url("event.css");
/* Public landing: spacious editorial layout, isolated from event themes. */
body:has(.home){background:#f4f3ec}
body:has(.home)>.wrap{width:100%;padding:0}
body:has(.blog-index)>.wrap,body:has(.blog-post)>.wrap{width:100%;padding:0}
.home{--home-gutter:clamp(20px,5vw,80px);gap:0;padding:0;overflow:hidden}
.home-nav,.home-hero,.home-process,.contact-section,.home-footer{width:100%;max-width:1600px;margin-inline:auto;padding-inline:var(--home-gutter)}
.home-nav{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:26px;border-bottom:1px solid #d9ddd2}
.home-nav .ssf-logo{width:180px}
.home-nav-contact,.home-footer a{color:#243d2e;font-size:.88rem;font-weight:700;text-decoration:none}
.home-nav-contact span{margin-left:22px}
.home-hero{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:clamp(32px,5vw,80px);padding-block:80px 96px;text-align:left}
.home-copy{min-width:0}.home-copy .eyebrow{line-height:1.7;font-size:.7rem;color:#516750}
.home-hero h1{font-size:clamp(2.8rem,4.6vw,5.5rem);line-height:1.04;letter-spacing:-.06em;margin:24px 0}
.home-hero h1 em{font-style:normal;color:#6d825d}
.home-intro{max-width:48ch;font-size:1.08rem;color:#576457;line-height:1.8}
.home-cta{margin-top:20px;padding:18px 24px;font-size:.92rem;box-shadow:none;gap:24px}
.home-caption{font-size:.76rem;color:#64735e;margin-top:22px}
.home-visual{position:relative;min-height:480px;background:#dce3d1;border-radius:180px 180px 28px 28px;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;padding:36px;overflow:hidden}
.journey-orbit{position:absolute;width:480px;height:480px;border:1px solid #9cab914d;border-radius:50%;left:-90px;top:110px;z-index:-1;box-shadow:0 0 0 50px #9cab911a,0 0 0 100px #9cab9112}
.journey-label{align-self:center;display:flex;align-items:center;gap:9px;font-size:.72rem;font-weight:700;background:#f8f8ee;padding:10px 16px;border-radius:30px}
.journey-dot{width:7px;height:7px;border-radius:50%;background:#5e8056}
.journey-center{padding:40px 18px 24px;color:#274431}
.journey-center>span:first-child{font-size:.66rem;letter-spacing:.15em;text-transform:uppercase}
.journey-center strong{display:block;font-size:clamp(2.2rem,3.5vw,3.6rem);font-weight:550;letter-spacing:-.055em;line-height:1.08;margin-top:16px}
.journey-arrow{font-size:2.5rem;display:block;margin-top:10px}
.journey-mode{position:absolute;display:grid;place-items:center;background:#fafbf5;border:1px solid #ffffffb3;border-radius:24px;width:100px;height:100px;box-shadow:0 12px 35px #25362412}
.journey-mode img{width:90px;height:90px;object-fit:contain;filter:grayscale(1)}
.journey-bike{right:24px;top:130px;transform:rotate(8deg)}.journey-bus{right:38px;bottom:90px;transform:rotate(-8deg)}
.journey-note{display:flex;justify-content:space-between;gap:8px;font-size:.7rem;font-weight:650;border-top:1px solid #9cab9166;padding-top:22px}
.home-process{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;padding-block:42px 64px;border-top:1px solid #d9ddd2}
.home-process article>span{color:#627857;font-size:.7rem;font-weight:750;text-transform:uppercase;letter-spacing:.1em}
.home-process h2{font-size:1.3rem;line-height:1.25;letter-spacing:-.025em;margin:18px 0 10px}
.home-process p{color:#64705f;font-size:.9rem;max-width:36ch}
.contact-section{grid-template-columns:1fr .8fr;gap:clamp(32px,8vw,120px);padding-block:72px;background:#203a2b;color:#dbe4d5;scroll-margin-top:20px;align-items:center}
.contact-section .eyebrow{color:#b5c9a4}.contact-section h2{color:#f5f4e9;font-size:clamp(2.2rem,3.6vw,4rem);line-height:1.1;max-width:16ch;margin:22px 0}
.contact-section>div>p:last-child{max-width:43ch;line-height:1.8}
.contact-form{background:#fcfcf6;border-radius:24px;padding:clamp(24px,3vw,42px);color:#203a2b;gap:18px}
.contact-form h3{font-size:1.5rem;letter-spacing:-.04em;margin:0}.contact-form>p{font-size:.88rem;margin:-8px 0 4px;color:#657166}
.contact-form label{font-size:.83rem}.contact-form input{border:1px solid #dce2d6;border-radius:10px;background:#fff;min-width:0}.contact-form button{margin-top:6px;box-shadow:none;justify-content:space-between;border-radius:12px}
.home-footer{flex-direction:row;justify-content:space-between;text-align:left;gap:28px;padding-block:36px}.home-footer small{display:inline-block;margin-top:5px;font-size:.74rem}
.home a:focus-visible,.admin a:focus-visible,.home input:focus-visible,.admin :is(input,select,textarea,button):focus-visible{outline:3px solid #90ac73;outline-offset:4px}
/* Shared administration shell. Sidebar remains outside the content flow. */
body.admin{background:#f3f5f2;color:#263c30}
.admin .wrap{width:100%;max-width:1800px;padding:44px clamp(24px,4vw,64px) 64px 294px}
.admin-topbar{position:fixed;inset:0 auto 0 0;width:244px;margin:0;padding:36px 22px 24px;background:#20372b;color:#fff;border:0;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:38px;z-index:10;overflow-y:auto}
.admin-brand{color:#fff;text-decoration:none;padding:0 12px}.admin-brand .eyebrow{display:block;color:#aec1a1;font-size:.62rem}.admin-brand strong{display:block;font-size:1.35rem;line-height:1.2;letter-spacing:-.035em;margin-top:12px}.admin-brand strong span{color:#bbd7a4}
.admin-topbar-links{display:flex;flex-direction:column;align-items:stretch;gap:8px}.admin-topbar-link{color:#c7d3c8;border:0;border-radius:10px;padding:13px 16px;font-weight:600;font-size:.88rem;min-height:46px}
.admin-topbar-link:hover,.admin-topbar-link:focus-visible{background:#ffffff12;color:#fff}.admin-topbar-link[aria-current="page"]{background:#dce8d1;color:#20372b}
.admin-topbar-actions{display:flex;flex-direction:column;align-items:stretch;margin-top:auto;gap:12px;padding-top:22px;border-top:1px solid #ffffff24}
.admin-account{padding:0 16px;overflow-wrap:anywhere}.admin-account strong{font-size:.85rem;display:block}.admin-account small{display:block;color:#b7c8b6;font-size:.72rem;margin-top:5px}.admin-topbar-danger{color:#d4ded3}
.admin-heading{margin-bottom:32px}.admin-heading h1{font-size:clamp(2rem,3vw,2.7rem);letter-spacing:-.05em;margin:10px 0}.admin-heading p:last-child{color:#728074;margin:0;font-size:.94rem}
.admin :is(.panel,.card,.analytics-panel){background:#fff;border:1px solid #e1e7df;border-radius:16px;box-shadow:0 4px 18px #25362404;padding:26px;margin-block:20px}
.admin h2{font-size:1.35rem;letter-spacing:-.025em}.admin label{font-size:.85rem;font-weight:650}.admin :is(input,textarea,select){border-radius:9px;border-color:#dce3d9;padding:12px;background:#fcfdfb}.admin input[type="color"]{height:48px;padding:6px}
.admin :is(button,.btn){border-radius:9px;box-shadow:none;font-size:.85rem;font-weight:650;min-height:42px}.admin .link-button{min-height:32px;padding:0;background:transparent}
.admin fieldset{border:1px solid #dce3d9;border-radius:12px;padding:18px;margin:24px 0}.admin legend{font-size:.88rem;font-weight:700;padding-inline:8px}.admin .check{line-height:1.6}
.admin .analytics-grid{gap:16px;border:0;background:transparent;margin:24px 0}.admin .metric-card{border:1px solid #e1e7df;border-radius:14px;min-height:138px;padding:24px;gap:18px}.admin .metric-card span{font-size:.67rem;line-height:1.5}.admin .metric-card strong{font-size:clamp(1.5rem,2.5vw,2.2rem);overflow-wrap:anywhere}
.admin .analytics-panel{margin:0;min-width:0}.admin .chart-track,.admin .chart-track i{border-radius:10px}.admin .chart-track i{background:#6c8d59}
.admin table{display:block;overflow-x:auto;max-width:100%;border:1px solid #e1e7df;border-radius:14px;border-spacing:0;font-size:.85rem}.admin table tbody{display:table;width:100%}.admin th{background:#eaf0e6;color:#5d705d;font-size:.67rem;text-transform:uppercase;letter-spacing:.075em;padding:17px 20px}.admin td{padding:18px 20px;line-height:1.5;overflow-wrap:anywhere;min-width:110px}.admin tr:last-child td{border-bottom:0}.admin tr:hover td{background:#f8faf6}.admin td a{color:#315a3e;text-underline-offset:4px}.admin .table-actions{min-width:190px}
.admin .empty-state{border-radius:16px;padding:48px 24px}.admin .flash{border-radius:10px;margin:0 0 24px}.admin .results-filter label{min-width:min(100%,240px)}
.transport-icon{width:84px;height:84px}.transport-body{min-height:158px;padding:16px;gap:8px}
@media(min-width:1600px){.admin .wrap{padding-left:310px}.home-hero{min-height:700px}}
@media(max-width:1050px){.home-hero{gap:28px}.home-visual{min-height:440px;padding:28px}.journey-mode{width:76px;height:76px}.journey-mode img{width:70px;height:70px}.journey-bike{right:14px}.journey-bus{right:18px}.journey-center{padding-left:0}.home-hero h1{font-size:3.2rem}.admin .wrap{padding:32px 24px 48px 244px}.admin-topbar{width:220px;padding-inline:16px}.admin .analytics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
 .home-nav{padding-block:20px;gap:16px}.home-nav .ssf-logo{width:125px}.home-nav-contact{font-size:.73rem;max-width:130px;text-align:right;line-height:1.5}.home-nav-contact span{margin-left:4px}
 .home-hero{grid-template-columns:1fr;padding-block:44px;gap:36px}.home-hero h1{font-size:clamp(2.65rem,9vw,4rem);margin:20px 0}.home-intro{font-size:.98rem}.home-cta{width:100%;font-size:.83rem;gap:14px;padding:17px 20px}.home-caption{font-size:.7rem}.home-visual{min-height:350px;border-radius:110px 110px 22px 22px;padding:26px;max-width:480px;width:100%;justify-self:center}.journey-center{padding:22px 8px}.journey-center strong{font-size:2.4rem}.journey-arrow{display:none}.journey-bike{top:100px;right:24px}.journey-bus{bottom:76px;right:34px}
 .home-process{grid-template-columns:1fr;gap:24px;padding-block:32px 44px}.home-process article+article{border-top:1px solid #d9ddd2;padding-top:24px}.home-process h2{font-size:1.3rem;margin-top:12px}.home-process p{max-width:none;margin-bottom:0}
 .contact-section{grid-template-columns:1fr;padding-block:44px;gap:28px}.contact-section h2{font-size:2.3rem;max-width:20ch}.contact-form{padding:24px;gap:18px}.home-footer{flex-direction:column;align-items:flex-start;gap:22px;padding-block:30px}
 .admin .wrap{padding:22px 16px 40px}.admin-topbar{position:static;width:auto;margin:-22px -16px 28px;padding:22px 16px;gap:18px;overflow:visible}.admin-brand{padding:0}.admin-brand strong{font-size:1.15rem;margin-top:6px}.admin-topbar-links{display:flex;flex-direction:row;flex-wrap:wrap;gap:6px;width:100%}.admin-topbar-link{flex:1;justify-content:center;padding:12px 10px;background:#ffffff0a;font-size:.8rem}.admin-topbar-actions{margin:0;padding-top:14px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:16px;width:100%}.admin-account{padding:0}.admin-topbar-actions .admin-topbar-link{flex:none;background:transparent;border:0;padding:8px 0}.admin-heading{margin-bottom:24px}.admin-heading h1{font-size:2rem}.admin-heading p:last-child{font-size:.86rem}
 .admin :is(.panel,.card,.analytics-panel){padding:20px}.admin .analytics-grid{gap:10px}.admin .metric-card{padding:16px;min-height:124px}.admin .metric-card strong{font-size:1.5rem}.admin .metric-card span{font-size:.6rem}.admin .analytics-panels{grid-template-columns:1fr}.admin .results-filter{gap:16px}.admin .chart-row{grid-template-columns:minmax(80px,1fr) 1fr auto}.admin td,.admin th{padding:14px}.admin form.panel>.row{grid-template-columns:1fr}.admin .table-actions{align-items:flex-start}
}
@media(max-width:380px){.transport-icon{width:72px;height:72px}.transport-body{padding:12px;min-height:144px}.home-cta{font-size:.78rem}.admin .metric-card strong{font-size:1.25rem}}

.home-nav-links{display:flex;align-items:center;gap:24px}.home-nav-links>a:first-child{color:#243d2e;font-size:.88rem;font-weight:700;text-decoration:none}.home-blog{width:100%;max-width:1600px;margin-inline:auto;padding:64px var(--home-gutter);background:#eaeee3}.home-blog-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:30px}.home-blog-heading h2{max-width:16ch;margin:14px 0 0;color:#203a2b;font-size:clamp(2rem,3.3vw,3.6rem);line-height:1;letter-spacing:-.05em}.home-blog-heading>a,.blog-card-link,.blog-pagination a,.blog-post footer a{color:#274a32;font-size:.88rem;font-weight:750;text-decoration:none}.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.blog-card{display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid #d7dfd2;border-radius:20px;background:#fff}.blog-card>img,.blog-card-placeholder{width:100%;height:220px;object-fit:cover;background:linear-gradient(135deg,#bed0b2,#e8eadc)}.blog-card>div{display:flex;flex:1;flex-direction:column;padding:22px}.blog-card .eyebrow{font-size:.62rem;color:#65795d}.blog-card h3{margin:12px 0 10px;color:#203a2b;font-size:1.35rem;line-height:1.12;letter-spacing:-.04em}.blog-card h3 a{color:inherit;text-decoration:none}.blog-card p{margin:0;color:#60705e;font-size:.9rem}.blog-card-link{margin-top:auto;padding-top:20px}.admin .blog-cover-preview{display:block;max-width:360px;max-height:220px;margin:14px 0;border-radius:12px;object-fit:cover}.admin .blog-editor{min-height:280px;margin-top:8px;background:#fff}.admin .ql-toolbar.ql-snow{border-color:#dce3d9;border-radius:9px 9px 0 0}.admin .ql-container.ql-snow{min-height:240px;border-color:#dce3d9;border-radius:0 0 9px 9px;font:inherit}.category-pills{display:flex;gap:8px;flex-wrap:wrap}.category-pills span{padding:7px 10px;border-radius:999px;background:#eaf0e6;color:#496144;font-size:.78rem;font-weight:700}.blog-index,.blog-post{width:min(100%,1240px);margin:0 auto;padding:28px clamp(20px,5vw,72px) 72px}.blog-nav{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:26px;border-bottom:1px solid #d9ddd2}.blog-nav .ssf-logo{width:170px}.blog-nav>a:last-child{color:#294d32;font-size:.88rem;font-weight:750;text-decoration:none}.blog-hero{max-width:780px;padding:78px 0 46px}.blog-hero h1,.blog-post h1{margin:18px 0;color:#203a2b;font-size:clamp(3rem,6.5vw,6rem);line-height:.94;letter-spacing:-.07em}.blog-hero h1 em{font-style:normal;color:#718862}.blog-hero>p:last-child{max-width:58ch;color:#62705e;font-size:1.05rem;line-height:1.8}.category-filter{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:32px}.category-filter a{padding:8px 12px;border:1px solid #cfd9c9;border-radius:999px;color:#486145;font-size:.8rem;font-weight:700;text-decoration:none}.category-filter a[aria-current="page"]{border-color:#203a2b;background:#203a2b;color:#fff}.blog-index-grid{padding-bottom:40px}.blog-pagination{display:flex;align-items:center;justify-content:center;gap:18px;padding-top:12px}.blog-pagination span{color:#637261;font-size:.85rem}.blog-empty{padding:70px 24px;text-align:center;background:#eff2eb}.blog-empty h2{color:#203a2b}.blog-footer{display:flex;justify-content:space-between;gap:22px;padding-top:32px;border-top:1px solid #d9ddd2;color:#647360;font-size:.8rem}.blog-footer a{color:#294d32;font-weight:800;text-decoration:none}.blog-post{max-width:980px}.blog-post>header{max-width:760px;padding:72px 0 32px}.blog-post .blog-lead{max-width:62ch;color:#62705e;font-size:1.12rem;line-height:1.8}.blog-meta{color:#70806b;font-size:.82rem}.blog-post figure{margin:18px 0 52px}.blog-post figure img{width:100%;max-height:600px;border-radius:24px;object-fit:cover}.blog-prose{max-width:720px;margin-inline:auto;color:#334235;font-size:1.08rem;line-height:1.85}.blog-prose h2,.blog-prose h3{margin:2em 0 .6em;color:#203a2b;line-height:1.08;letter-spacing:-.04em}.blog-prose h2{font-size:2rem}.blog-prose h3{font-size:1.45rem}.blog-prose a{color:#295533;text-underline-offset:4px}.blog-prose blockquote{margin:2em 0;padding:18px 24px;border-left:4px solid #7b966a;background:#edf2e8;color:#345036;font-size:1.15rem}.blog-post>footer{max-width:720px;margin:60px auto 0;padding-top:28px;border-top:1px solid #d9ddd2}@media(max-width:760px){.home-nav-links{gap:12px}.home-nav-links>a:first-child{font-size:.73rem}.home-blog{padding-block:44px}.home-blog-heading{align-items:flex-start;flex-direction:column;margin-bottom:24px}.home-blog-heading h2{font-size:2.2rem}.blog-grid{grid-template-columns:1fr}.blog-card>img,.blog-card-placeholder{height:210px}.blog-index,.blog-post{padding:20px 20px 48px}.blog-nav .ssf-logo{width:130px}.blog-hero{padding:54px 0 34px}.blog-hero h1,.blog-post h1{font-size:clamp(2.8rem,13vw,4.2rem)}.blog-footer{flex-direction:column}.blog-post>header{padding-top:46px}.blog-post figure{margin:8px 0 34px}.blog-post figure img{border-radius:16px}.blog-prose{font-size:1rem}.blog-prose h2{font-size:1.75rem}}
.blog-autosave-status{min-height:1.4em;margin:16px 0;color:#496144;font-size:.88rem;font-weight:700}
