@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
.site-shell{overflow:clip}.header-stage{position:relative;aspect-ratio:1024/434;container-type:inline-size;isolation:isolate;overflow:hidden;background:linear-gradient(125deg,#77c6e4,#276897 42%,#72c3dd 76%,#abd7e4)}
.header-background{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--hero-position,58% 50%);z-index:0}.header-element{position:absolute;left:calc(var(--x)*1%);top:calc(var(--y)*1%);width:calc(var(--w)*1%);transform:rotate(calc(var(--r)*1deg));transform-origin:center;z-index:2;min-width:0;color:var(--element-color);font-size:calc(var(--size)*100cqw/1120);line-height:1.4}.header-element-link{display:block;color:inherit;text-decoration:none}.header-element img{display:block;width:100%;height:auto}.header-text{padding:calc(var(--pad)*1px);background:var(--element-bg);border:calc(var(--border)*1px) solid currentColor;border-radius:calc(var(--radius)*1%);text-align:center;overflow-wrap:anywhere}.header-text h1,.header-text h2,.header-text h3{font-family:inherit;font-size:1.5em;line-height:1.15;letter-spacing:-.03em;color:inherit;margin:.25em 0}.header-text p{font-size:.75em;line-height:1.5;letter-spacing:.03em;margin:.3em 0}.header-text strong{font-weight:700}.header-element.with-shadow .header-text{box-shadow:0 8px 24px #18376333}.header-element:focus-within{outline:3px solid #fff;outline-offset:4px}.header-crop{background-image:url('/assets/original/templates/citysun_template_v3/images/header.png');background-repeat:no-repeat;width:100%}.crop-brand{aspect-ratio:294/169;background-size:348.3% 256.8%;background-position:13.6986% 0}.crop-uwe{aspect-ratio:57/59;background-size:1796.49% 735.59%;background-position:2.6898% 89.8667%}.crop-ergoline{aspect-ratio:180/75;background-size:568.89% 578.67%;background-position:98.5782% 97.493%}.search-origin .header-search{top:14px;left:11.2%;width:25.5%;z-index:5;margin:0}.header-search input{font-family:inherit}.nav-sentinel{height:1px;margin-top:-1px;pointer-events:none}.main-nav{position:sticky;top:0;z-index:100;background:#ffe665;padding:0 18px;transition:box-shadow .25s,background-color .25s}.main-nav.is-stuck{background:#fff5ba;box-shadow:0 8px 24px #152a4626}.nav-inner{display:flex;align-items:center;gap:8px;min-height:64px;position:relative}.main-nav .nav-list{display:flex;flex:1;justify-content:center;align-items:center;flex-wrap:nowrap;gap:2px;min-width:0}.main-nav .nav-list>li{flex-shrink:0}.main-nav a{font-size:12px;padding:10px 12px;white-space:nowrap}.main-nav .nav-brand{display:none;padding:8px 0;color:#22478c;font:700 italic 20px Georgia,serif;letter-spacing:-1px;margin-right:4px}.nav-brand span{color:#cfaa00}.main-nav.is-stuck .nav-brand{display:block}.nav-search-slot{flex:0 0 auto;min-width:0}.main-nav .header-search{position:static;top:auto;left:auto;width:190px;margin:0;padding:3px;box-shadow:none;border:1px solid #d6c66d;background:#fffdf1}.main-nav .header-search input{font-size:12px;padding:7px;min-width:0}.main-nav .header-search button{font-size:11px;padding:6px 8px}.search-toggle{display:none;flex-shrink:0;align-items:center;justify-content:center;width:42px;height:42px;padding:0;border:1px solid #d4bf5e;border-radius:6px;background:#fff7cf;color:#22478c}.search-icon{display:block;width:15px;height:15px;border:2px solid currentColor;border-radius:50%;position:relative;margin:-3px 3px 0 0}.search-icon:after{content:'';position:absolute;width:7px;height:2px;background:currentColor;right:-6px;bottom:-3px;transform:rotate(45deg)}.main-nav.search-compact.is-stuck .search-toggle{display:flex}.main-nav.search-compact .nav-search-slot{position:absolute;right:0;top:calc(100% + 8px);z-index:15}.main-nav.search-compact .header-search{width:min(380px,calc(100vw - 44px));padding:8px;box-shadow:0 10px 30px #18345c22;border-radius:8px;opacity:0;visibility:hidden;transform:translateY(-7px);transition:opacity .2s,transform .2s,visibility .2s}.main-nav.search-open .header-search{visibility:visible;opacity:1;transform:translateY(0)}.menu-toggle{display:none}.submenu-toggle{background:transparent;border:0;color:#22478c;padding:3px 6px;font-size:14px;position:absolute;right:0;top:10px}.main-nav .has-submenu>a{padding-right:25px}.main-nav .menu-child{display:none;position:absolute;top:100%;left:0;min-width:190px;padding:6px;background:#fff8d3;box-shadow:0 8px 24px #18345c22;border-radius:7px;list-style:none}.main-nav li.submenu-open>.menu-child,.main-nav li:hover>.menu-child,.main-nav li:focus-within>.menu-child{display:block}.back-to-top{position:fixed;right:24px;bottom:24px;z-index:150;width:54px;height:60px;background:#22478c;color:#fff;border:1px solid #ffffff55;box-shadow:0 6px 24px #102e5733;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;visibility:hidden;transform:translateY(15px);transition:opacity .25s,transform .25s,visibility .25s}.back-to-top span{font-size:23px;line-height:1}.back-to-top small{font-size:9px;letter-spacing:1px;margin-top:5px}.back-to-top.visible{opacity:1;visibility:visible;transform:translateY(0)}.proposal-ribbon{max-width:var(--site-width,1120px);margin:0 auto 12px;padding:11px 18px;border-radius:7px;background:#fff;color:#31496c;font-size:12px;display:flex;gap:15px;justify-content:space-between;flex-wrap:wrap}.proposal-ribbon a{font-weight:700}.modern-page{padding:46px 48px}.modern-intro{max-width:780px;margin-bottom:38px}.modern-intro h1{font-size:clamp(32px,4.6vw,52px);letter-spacing:-1.5px}.modern-intro>p:not(.eyebrow){font-size:18px;color:#3a4e6c}.editorial-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:start}.editorial-card{background:#fff5bd;border:1px solid #dfca6080;padding:28px;border-radius:12px;min-width:0}.editorial-card h2{font-size:26px}.editorial-card img{display:block;width:100%;height:auto;border-radius:6px;margin:0 0 20px}.editorial-card p:last-child{margin-bottom:0}.editorial-photo{display:block;width:100%;border-radius:12px}.modern-section{margin:44px 0}.modern-section h2{font-size:30px}.service-list{padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.service-list li{border-top:1px solid #bda34470;padding:14px 0}.service-list li:before{content:'✓';margin-right:10px;color:#22478c}.editorial-note{background:#fff8d5;padding:22px 26px;border-left:3px solid #22478c;border-radius:0 8px 8px 0;font-size:14px}.editorial-note h2,.editorial-note h3{font-size:20px;margin-bottom:12px}.modern-contact{margin-top:40px;background:#22478c;color:#fff;border-radius:12px;padding:28px 32px;display:flex;gap:24px;justify-content:space-between;align-items:center;flex-wrap:wrap}.modern-contact h2{font-size:26px;color:#fff;margin:0 0 10px}.modern-contact p{margin:0}.modern-contact .sun-button{background:#ffdf24;color:#22478c}.news-date{font-size:11px;letter-spacing:1px;color:#68758b;text-transform:uppercase}.legal-page{background:#fff9df;padding:48px 56px;overflow-wrap:anywhere}.legal-page h1{font-size:44px}.legal-page h2{font-size:23px;margin-top:30px}.legal-page p,.legal-page li{font-size:15px;line-height:1.8}.legal-page address{font-style:normal}.legal-layout{display:grid;grid-template-columns:190px minmax(0,1fr);gap:38px;align-items:start}.legal-toc{background:#fff2b0;padding:18px;border-radius:8px;font-size:12px;position:sticky;top:90px}.legal-toc a{display:block;padding:7px 0;text-decoration:none}.legal-body{min-width:0}.legal-body section{scroll-margin-top:90px}.legal-date{font-size:12px!important;color:#7b806c}.legal-contact{background:#fff0a1;padding:25px;border-radius:10px}.header-native-mask{position:absolute;width:0;height:0;pointer-events:none}.header-background.mask-original{clip-path:url(#header-original-artwork)}
@media(max-width:1050px){.main-nav a{padding:10px 8px;font-size:11px}.main-nav .nav-brand{font-size:18px}.search-origin .header-search{top:9px}}
@media(max-width:820px){.main-nav{padding:0 16px}.nav-inner{min-height:62px;gap:10px}.main-nav .nav-brand{display:block;margin-right:auto;padding:8px 0;font-size:22px}.menu-toggle{display:flex;align-items:center;justify-content:center;position:relative;width:78px;height:42px;padding:10px 10px 10px 35px;background:#22478c;color:#fff;border:0;border-radius:6px;flex-shrink:0;order:3}.menu-toggle>span{position:absolute;left:10px;width:17px;height:2px;background:currentColor;transition:transform .2s,opacity .2s}.menu-toggle>span:nth-child(1){top:14px}.menu-toggle>span:nth-child(2){top:20px}.menu-toggle>span:nth-child(3){top:26px}.menu-toggle b{font-size:11px;font-weight:600}.menu-open .menu-toggle>span:nth-child(1){transform:translateY(6px) rotate(45deg)}.menu-open .menu-toggle>span:nth-child(2){opacity:0}.menu-open .menu-toggle>span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.main-nav .search-toggle{display:flex;order:2}.main-nav .nav-list{position:absolute;left:-16px;right:-16px;top:100%;display:flex;flex-direction:column;align-items:stretch;background:#fff6c1;padding:10px 16px 16px;border-top:1px solid #d9c77a;box-shadow:0 12px 20px #172b4b18;max-height:70vh;overflow-y:auto}.js .main-nav .nav-list{display:none}.js .main-nav.menu-open .nav-list{display:flex}.main-nav .nav-list>li{width:100%}.main-nav .nav-list a{font-size:15px;padding:12px 14px;white-space:normal}.main-nav .has-submenu>a{padding-right:44px}.submenu-toggle{top:3px;right:3px;width:40px;height:40px}.main-nav .menu-child{position:static;box-shadow:none;background:#fffbe5;margin:4px 0 8px;padding-left:14px;display:none}.main-nav li:hover>.menu-child,.main-nav li:focus-within>.menu-child{display:none}.main-nav li.submenu-open>.menu-child{display:block}.main-nav.search-compact .nav-search-slot{right:0}.search-origin .header-search input{font-size:12px}.modern-page{padding:34px 26px}.legal-page{padding:34px 28px}.legal-layout{grid-template-columns:1fr;gap:24px}.legal-toc{position:static;display:flex;flex-wrap:wrap;gap:3px 16px}.legal-toc a{padding:4px 0}.legal-page h1{font-size:36px}}
@media(max-width:560px){body{padding:0}.header-stage{aspect-ratio:1024/434}.header-element{left:calc(var(--mx)*1%);top:calc(var(--my)*1%);width:calc(var(--mw)*1%);transform:rotate(calc(var(--mr)*1deg));font-size:calc(var(--msize)*100cqw/390)}.header-element.mobile-hidden{display:none}.header-text{padding:calc(var(--pad)*.45px);border-width:calc(var(--border)*.6px)}.header-text p{font-size:max(10px,.68em)}.header-text h2{font-size:1.25em}.search-origin .header-search{position:relative;top:auto;left:auto;width:100%;border-radius:0;padding:9px 14px;margin:0;box-shadow:none;background:#fff0a2}.search-origin .header-search input{font-size:16px;padding:7px}.header-stage:has(.search-origin){margin-bottom:54px}.search-origin{position:absolute;top:100%;width:100%;line-height:normal;z-index:5}.site-header{position:relative}.main-nav .header-search input{font-size:16px}.main-nav .header-search{padding:8px}.back-to-top{right:14px;bottom:max(16px,env(safe-area-inset-bottom));width:46px;height:52px}.editorial-grid,.service-list{grid-template-columns:1fr}.modern-page{padding:30px 22px}.modern-intro h1{font-size:36px}.modern-intro>p:not(.eyebrow){font-size:16px}.editorial-card{padding:23px}.modern-contact{padding:24px;gap:18px}.legal-page{padding:30px 22px}.legal-page h1{font-size:33px}.proposal-ribbon{border-radius:0;margin:0;padding:10px 14px;font-size:11px}.modern-section{margin:32px 0}.editorial-note{padding:20px}.main-nav .nav-brand{font-size:21px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important}.main-nav,.back-to-top,.menu-toggle>span,.main-nav .header-search{transition:none!important}}

.section[id]{scroll-margin-top:90px}@media(max-width:820px){html:not(.js) .main-nav .nav-list{position:static;flex:1 0 100%;max-height:none;box-shadow:none}html:not(.js) .nav-inner{flex-wrap:wrap}html:not(.js) .menu-toggle,html:not(.js) .search-toggle{display:none}html:not(.js) .main-nav .menu-child{display:block}}

.site-header{position:relative}.search-origin{position:static}
.header-element-link{position:relative}.header-element-link:before{content:'';position:absolute;inset:-6px}
@media(max-width:560px){.site-header .header-stage:has(.search-origin),.site-header .header-stage{margin-bottom:0}.site-header .search-origin{position:relative;top:auto;height:54px;width:100%;z-index:5}.header-element-link:before{inset:-10px}.search-toggle{width:44px;height:44px}.menu-toggle{height:44px}}

/* Also adapt to narrow configured page widths on wide screens. */
.main-nav.compact-menu{padding:0 16px}.main-nav.compact-menu .nav-inner{min-height:62px;gap:10px}.main-nav.compact-menu .nav-brand{display:block;margin-right:auto;padding:8px 0;font-size:22px}.main-nav.compact-menu .menu-toggle{display:flex;align-items:center;justify-content:center;position:relative;width:78px;height:42px;padding:10px 10px 10px 35px;background:#22478c;color:#fff;border:0;border-radius:6px;flex-shrink:0;order:3}.main-nav.compact-menu .menu-toggle>span{position:absolute;left:10px;width:17px;height:2px;background:currentColor;transition:transform .2s,opacity .2s}.main-nav.compact-menu .menu-toggle>span:nth-child(1){top:14px}.main-nav.compact-menu .menu-toggle>span:nth-child(2){top:20px}.main-nav.compact-menu .menu-toggle>span:nth-child(3){top:26px}.main-nav.compact-menu .menu-toggle b{font-size:11px;font-weight:600}.main-nav.compact-menu.menu-open .menu-toggle>span:nth-child(1){transform:translateY(6px) rotate(45deg)}.main-nav.compact-menu.menu-open .menu-toggle>span:nth-child(2){opacity:0}.main-nav.compact-menu.menu-open .menu-toggle>span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.main-nav.compact-menu .search-toggle{display:flex;order:2}.main-nav.compact-menu .nav-list{position:absolute;left:-16px;right:-16px;top:100%;display:flex;flex-direction:column;align-items:stretch;background:#fff6c1;padding:10px 16px 16px;border-top:1px solid #d9c77a;box-shadow:0 12px 20px #172b4b18;max-height:70vh;overflow-y:auto}.js .main-nav.compact-menu .nav-list{display:none}.js .main-nav.compact-menu.menu-open .nav-list{display:flex}.main-nav.compact-menu .nav-list>li{width:100%}.main-nav.compact-menu .nav-list a{font-size:15px;padding:12px 14px;white-space:normal}.main-nav.compact-menu .has-submenu>a{padding-right:44px}.main-nav.compact-menu .submenu-toggle{top:3px;right:3px;width:40px;height:40px}.main-nav.compact-menu .menu-child{position:static;box-shadow:none;background:#fffbe5;margin:4px 0 8px;padding-left:14px;display:none}.main-nav.compact-menu li:hover>.menu-child,.main-nav.compact-menu li:focus-within>.menu-child{display:none}.main-nav.compact-menu li.submenu-open>.menu-child{display:block}.main-nav.compact-menu.search-compact .nav-search-slot{right:0}.main-nav.compact-menu .modern-page{padding:34px 26px}.main-nav.compact-menu .legal-page{padding:34px 28px}.main-nav.compact-menu .legal-layout{grid-template-columns:1fr;gap:24px}.main-nav.compact-menu .legal-toc{position:static;display:flex;flex-wrap:wrap;gap:3px 16px}.main-nav.compact-menu .legal-toc a{padding:4px 0}.main-nav.compact-menu .legal-page h1{font-size:36px}

/* Header objects can cross the clipped stage boundary. */
.header-element{opacity:var(--opacity,1);font-family:var(--element-font,Manrope),Arial,sans-serif}.header-text{background:color-mix(in srgb,var(--element-bg) calc(var(--bgopacity,1)*100%),transparent)}.header-text img{display:inline-block;max-width:100%;height:auto;vertical-align:middle}.main-nav .menu-child .menu-child{top:0;left:100%}
.main-nav.compact-menu .menu-child .menu-child{position:static;left:auto;top:auto}

.search-arrival{scroll-margin-top:110px}.search-arrival:focus{outline:none}.search-arrival-visible{animation:search-arrival-flash 5s ease-out}@keyframes search-arrival-flash{0%,65%{background-color:#fff5b8;outline:3px solid #22478c;outline-offset:6px}100%{background-color:transparent;outline:3px solid transparent;outline-offset:6px}}@media(prefers-reduced-motion:reduce){.search-arrival-visible{animation:none;outline:3px solid #22478c;outline-offset:6px}}

.citysun-logo{display:block;width:100%;height:auto}.main-nav .nav-brand{width:156px;flex-shrink:0;line-height:1;padding:5px 0}.main-nav .nav-brand .citysun-logo{width:156px;height:48px;object-fit:contain}.footer-brand .citysun-logo{width:240px;max-width:100%;height:auto}.main-nav.compact-menu .nav-brand{width:156px;font-size:0}.footer-brand small{display:block}

.footer-brand .citysun-logo{background:transparent;padding:0;border-radius:0;box-sizing:border-box;filter:brightness(0) invert(1);width:225px;max-width:100%;margin-bottom:8px}

/* Preserve the clean original lettering and color only the sun. */
.footer-brand{position:relative;display:inline-block;width:225px;max-width:100%}.footer-brand:after{content:"";position:absolute;left:0;top:0;width:100%;aspect-ratio:2170/725;background:url('/assets/branding/citysun-footer-color.png') center/100% 100% no-repeat;clip-path:inset(0 34.4% 0 40.6%);pointer-events:none}.footer-brand .citysun-logo{clip-path:polygon(0 0,40.6% 0,40.6% 100%,0 100%,0 0,100% 0,100% 100%,65.6% 100%,65.6% 0,100% 0)}

/* Menu variant: original navy lettering plus the yellow sun color layer. */
.main-nav .nav-brand{position:relative;line-height:0}
.main-nav .nav-brand .citysun-logo{height:auto;filter:none;clip-path:polygon(0 0,40.6% 0,40.6% 100%,0 100%,0 0,100% 0,100% 100%,65.6% 100%,65.6% 0,100% 0)}
.main-nav .nav-brand:after{content:"";position:absolute;left:0;top:5px;width:100%;aspect-ratio:2170/725;background:url('/assets/branding/citysun-footer-color.png') center/100% 100% no-repeat;clip-path:inset(0 34.4% 0 40.6%);pointer-events:none}
