.phone-frame-section{margin:clamp(1rem,3vw,2rem) 0;padding:0 clamp(.5rem,2vw,1rem);background:transparent;border:none;box-shadow:none;position:relative;overflow:visible;color:inherit}.phone-frame-content{display:flex;gap:clamp(20px,5vw,40px);align-items:center;max-width:1400px;margin:0 auto;padding:0}.phone-frame-text{flex:1;padding-right:clamp(10px,3vw,20px);min-width:0}.phone-frame-text p{font-size:inherit;line-height:inherit;color:inherit;margin-bottom:1rem;text-align:left}.phone-frame-device{flex:0 0 clamp(140px,25vw,240px);width:clamp(140px,25vw,240px);background:#000;border-radius:clamp(15px,4vw,25px);padding:clamp(6px,2vw,10px);border:clamp(1px,.4vw,2px) solid #18181b;box-shadow:0 clamp(10px,4vw,20px) clamp(20px,6vw,40px) #0003,0 0 0 1px #ffffff1a;position:relative;overflow:hidden;aspect-ratio:9/16;height:auto;min-height:clamp(249px,44vw,427px);text-decoration:none;display:block}.phone-frame-device-link{cursor:pointer;transition:transform .3s ease,box-shadow .3s ease}.phone-frame-device-link:hover{transform:translateY(-4px);box-shadow:0 clamp(14px,5vw,28px) clamp(28px,8vw,56px) #0000004d,0 0 0 1px #ffffff26}.phone-frame-device:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:60px;height:4px;background:#333;border-radius:2px;z-index:10}.phone-frame-container{position:absolute;top:clamp(15px,4vw,20px);left:0;right:0;bottom:clamp(10px,3vw,15px);border-radius:clamp(10px,3vw,14px);overflow:hidden;background:#1a1a1a}.phone-frame-screen{width:100%;height:100%;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#000}.phone-frame-screen img{width:100%;height:100%;object-fit:cover;border-radius:8px}.phone-frame-play-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background:transparent;opacity:1;transition:opacity .3s ease;pointer-events:none;z-index:5}.phone-frame-play-button{width:clamp(48px,15vw,72px);height:clamp(48px,15vw,72px);background:rgba(0,0,0,.4);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0003;transition:all .3s ease}.phone-frame-device-link:hover .phone-frame-play-button{transform:scale(1.1);background:rgba(0,0,0,.5);box-shadow:0 4px 16px #0000004d}.play-icon{width:clamp(24px,8vw,36px);height:clamp(24px,8vw,36px);color:#fff;margin-left:clamp(2px,.8vw,4px)}@media (max-width: 768px) and (orientation: portrait){.phone-frame-content{flex-direction:column;align-items:center;gap:clamp(1rem,4vw,1.5rem)}.phone-frame-text{padding-right:0;max-width:clamp(280px,90vw,500px);text-align:left}.phone-frame-text h2{text-align:left}.phone-frame-device{flex:0 0 auto;width:clamp(180px,40vw,220px);min-height:clamp(320px,71vw,391px);margin:0 auto}}@media (max-width: 480px){.phone-frame-container{top:clamp(12px,3vw,16px);bottom:clamp(8px,2vw,12px)}}.phone-frame-float{margin:0;padding:0 var(--spacing-md, 1.5rem) var(--spacing-md, 1.5rem);background:white;border-radius:0 0 12px 12px;box-shadow:0 2px 4px #0000001a}.text-section:has(+.phone-frame-float){border-radius:12px 12px 0 0;margin-bottom:0;padding-bottom:0}.phone-frame-float .phone-frame-content{display:block;max-width:none}.phone-frame-float .phone-frame-device{float:right;margin:0 0 clamp(1.5rem,3vw,2rem) clamp(2rem,4vw,3rem);flex:none;width:clamp(200px,28vw,300px);min-height:clamp(355px,50vw,533px);shape-outside:margin-box}.phone-frame-float .phone-frame-text{padding:0;min-width:auto}.phone-frame-float .phone-frame-text:after{content:"";display:block;clear:both}@media (max-width: 768px){.phone-frame-float .phone-frame-device{float:none;margin:0 auto clamp(1.5rem,4vw,2rem) auto;width:clamp(180px,45vw,240px);min-height:clamp(320px,80vw,427px);display:block}}.contact-form-container{margin:0;padding:0}.contact-form-trigger{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);font-family:var(--font-secondary);font-size:1rem;font-weight:500;color:#fff;background:rgba(255,255,255,.05);border:1.5px solid white;border-radius:var(--border-radius-md);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-sm);text-decoration:none}.contact-form-trigger:hover{color:var(--color-primary);border-color:var(--color-primary);background:rgba(255,255,255,.1);transform:translateY(-2px);box-shadow:var(--shadow-md)}.contact-form-trigger:active{transform:translateY(0)}.contact-button-text{letter-spacing:.25px}.contact-icon{font-size:16px;transition:transform var(--transition-base)}.contact-form-trigger:hover .contact-icon{transform:scale(1.1)}.contact-form-content{background:white;padding:2rem;border-radius:8px;box-shadow:0 4px 12px #0000001a;border:1px solid #e0e0e0}.contact-form-content h3{margin-top:0;margin-bottom:1rem;color:var(--color-h2);font-size:1.75rem}.contact-form-description{margin-bottom:2rem;color:var(--color-text-primary);line-height:1.6}.contact-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:600;color:var(--color-text-primary);font-size:.95rem}.form-group input,.form-group textarea{padding:.75rem;border:2px solid var(--color-border-strong);border-radius:4px;font-size:1rem;font-family:var(--font-family-primary);transition:border-color .2s ease;background-color:#fff;color:var(--color-text-primary);width:100%;box-sizing:border-box}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);border-width:2px;box-shadow:0 0 0 3px var(--color-primary-100)}.form-group textarea{resize:vertical;min-height:120px}.form-group .ValidationError{color:#dc3545;font-size:.875rem;margin-top:.25rem}.form-actions{display:flex;gap:1rem;margin-top:1rem}.submit-btn,.contact-cancel-btn{padding:.75rem 1.5rem;font-size:1rem;font-weight:600;border:none;border-radius:4px;cursor:pointer;transition:all .2s ease}.submit-btn{background:var(--color-primary);color:#fff;flex:1}.submit-btn:hover:not(:disabled){background:var(--color-primary-700)}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.contact-cancel-btn{background:#f5f5f5;color:#333}.contact-cancel-btn:hover{background:#e0e0e0}.contact-form-success{background:var(--color-primary-50);border:2px solid var(--color-primary-200);border-radius:8px;padding:2rem;text-align:center}.contact-form-success h3{color:var(--color-primary);margin-top:0;margin-bottom:.5rem}.contact-form-success p{color:var(--color-text-primary);margin-bottom:0}.contact-form-container.compact{margin:0;padding:0;max-width:none}.contact-form-trigger.compact{display:inline-flex;align-items:center;justify-content:center;width:auto;max-width:none;margin:0;padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);background:rgba(255,255,255,.9);border:1px solid rgba(0,0,0,.1);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:var(--transition-all);white-space:nowrap}.contact-form-trigger.compact:hover{background:rgba(255,255,255,1);border-color:var(--color-primary);transform:translateY(-1px);box-shadow:var(--shadow-md)}.contact-form-trigger.compact:active{transform:translateY(0)}.contact-form-trigger.compact .contact-text-desktop{display:inline}.contact-form-trigger.compact .contact-text-mobile{display:none}.contact-form-backdrop-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.3);z-index:9998;transition:var(--transition-opacity)}.contact-form-drawer{position:fixed;top:0;right:0;height:100vh;width:min(320px,90vw);max-width:320px;background:#ffffff;box-shadow:-4px 0 20px #00000026,-1px 0 4px #0000001a;z-index:10001;display:flex;flex-direction:column;transform:translate(100%);transition:transform var(--duration-300) var(--ease-out);box-sizing:border-box}.contact-form-drawer.open{transform:translate(0)}.contact-form-drawer.minimized{transform:translateY(calc(100vh - 36px));width:auto;right:calc((100vw - 62.5rem)/2 + 3rem);left:auto;border-radius:var(--radius-md) var(--radius-md) 0 0;box-shadow:0 -3px 15px #0000001f}@media (max-width: 1100px){.contact-form-drawer.minimized{right:3rem}}.contact-form-drawer.minimized .contact-form-drawer-content{display:none}.contact-form-drawer.minimized .contact-form-drawer-header{cursor:pointer;border-bottom:none;padding:var(--space-1\.5) var(--space-3);background:var(--color-primary, #2563eb);border-radius:var(--radius-md) var(--radius-md) 0 0;box-shadow:0 -2px 8px #00000026}.contact-form-drawer.minimized .contact-form-drawer-header h3{color:#fff;font-size:1.4rem;font-weight:400;line-height:1;margin:0;text-shadow:0 1px 2px rgba(0,0,0,.1)}.contact-form-minimized-tab{position:fixed;bottom:var(--space-6);right:var(--space-6);background:var(--color-primary, #2563eb);color:#fff;border:none;border-radius:var(--radius-xl);padding:var(--space-3) var(--space-6);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);font-family:var(--font-family-primary);cursor:pointer;z-index:10000;box-shadow:var(--shadow-lg);transition:var(--transition-all);animation:slideInFromBottom var(--duration-300) var(--ease-out)}@keyframes slideInFromBottom{0%{transform:translateY(100px);opacity:0}to{transform:translateY(0);opacity:1}}.contact-form-minimized-tab:hover{background:var(--color-secondary, #1e40af);transform:translateY(-2px);box-shadow:var(--shadow-xl)}.contact-form-minimized-tab:active{transform:translateY(0)}.contact-form-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-4);border-bottom:1px solid var(--color-border);background:linear-gradient(to bottom,#ffffff,var(--color-gray-50));flex-shrink:0;box-sizing:border-box}.contact-form-drawer-header h3{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.contact-form-drawer-controls{display:flex;gap:var(--space-2)}.drawer-minimize-btn,.drawer-close-btn{background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-text-secondary);font-size:var(--font-size-lg);transition:var(--transition-all);padding:0}.drawer-minimize-btn:hover,.drawer-close-btn:hover{background:var(--color-gray-100);border-color:var(--color-border-strong);color:var(--color-text-primary)}.drawer-minimize-btn:active,.drawer-close-btn:active{transform:scale(.95)}.contact-form-drawer-content{flex:1;min-height:0;overflow-y:auto;padding:var(--space-4);padding-bottom:var(--space-6);box-sizing:border-box}.contact-form-drawer-content .contact-form-description{margin-bottom:var(--space-6);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);font-size:var(--font-size-sm)}.contact-form-drawer-content .contact-form{display:flex;flex-direction:column;gap:var(--space-4)}.contact-form-drawer-content .form-actions{margin-top:var(--space-2)}.contact-form-drawer-content .submit-btn{width:100%}@media (max-width: 768px){.contact-form-content{padding:1.5rem}.contact-form-trigger:not(.compact){font-size:.9rem;padding:var(--spacing-xs) var(--spacing-md)}.contact-form-trigger:not(.compact) .contact-icon{font-size:14px}}@media (max-width: 480px){.contact-form-trigger:not(.compact){font-size:.85rem;padding:8px 14px}.contact-form-trigger:not(.compact) .contact-icon{font-size:14px}}@media (max-width: 768px){.contact-form-trigger.compact{padding:var(--space-1\.5) var(--space-2\.5);font-size:.8rem}.contact-form-drawer{width:100vw}.contact-form-drawer-header{padding:var(--space-4) var(--space-4)}.contact-form-drawer-header h3{font-size:var(--font-size-lg)}.contact-form-drawer-content{padding:var(--space-4)}.contact-form-minimized-tab{bottom:var(--space-4);right:var(--space-4);padding:var(--space-2\.5) var(--space-5);font-size:var(--font-size-sm)}.contact-form-drawer.minimized{right:var(--space-4)}.contact-form-drawer.minimized .contact-form-drawer-header h3{font-size:1.5rem}.form-actions{flex-direction:column}.submit-btn,.contact-cancel-btn{width:100%}}.l-footer{background:var(--color-black-blue);color:#fff;padding:clamp(1.5rem,4dvh,3rem) 0 clamp(.75rem,1.5dvh,1.5rem);margin-top:clamp(20px,4vw,30px);font-family:var(--font-family-primary);position:relative;z-index:100;overflow-x:hidden;overflow-y:visible;width:100%;min-height:auto}.l-constrain{max-width:1400px;margin:0 auto;padding:0 clamp(15px,3vw,20px);position:relative;z-index:2}.l-constrain--large{max-width:1400px}.l-grid{display:grid;gap:clamp(1.5rem,3vw,2.5rem)}.l-grid--4col{grid-template-columns:minmax(0,.9fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);align-items:start;gap:clamp(1rem,3vw,2.5rem);justify-items:start}@media (max-width: 1024px){.l-grid--4col{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.5rem,4vw,2rem)}}@media (max-width: 768px){.l-grid--4col{grid-template-columns:1fr;gap:clamp(1rem,4vw,1.5rem);text-align:center}.footer__logo-column,.footer__tagline-column,.footer__menu-column{justify-self:center;text-align:center;max-width:100%}.footer__tagline-column{text-align:left}}.l-grid--2col{grid-template-columns:400px 1fr;align-items:start}.footer__logo-column{display:flex;flex-direction:column;justify-content:flex-start;padding:clamp(.25rem,1dvh,.5rem)}.footer__tagline-column{display:flex;flex-direction:column;gap:clamp(15px,3vw,20px);justify-content:flex-start}.footer__menu-column{display:flex;flex-direction:column;justify-content:flex-start;padding:0 clamp(10px,4vw,40px)}.footer__left{display:flex;flex-direction:column;justify-content:flex-start}.footer__brand{display:flex;flex-direction:column;gap:15px;max-width:350px}.footer__logo{margin-bottom:0}.site-name{text-decoration:none;color:#fff}.rare-logo{height:clamp(4.5rem,8dvh,6.5rem);width:auto;margin-bottom:0}.site-slogan{color:var(--color-cyan);display:block;font-family:var(--font-family-secondary);font-size:clamp(1.3rem,2.5vw,1.8rem);font-weight:500;margin-bottom:clamp(.8rem,1.5dvh,1.2rem);line-height:1.2;letter-spacing:.02em}.menu--social{list-style:none;padding:0;margin:0;display:flex;gap:clamp(6px,1.2vw,10px);flex-wrap:wrap}.menu--social .menu__item{list-style:none}.menu--social .menu__item:before{content:none}.menu--social .menu__item{margin:0}.menu--social .menu__link{display:flex;align-items:center;justify-content:center;width:20px;height:20px;overflow:hidden;transition:opacity .3s ease,transform .3s ease;text-indent:-9999px;background-size:20px 20px;background-position:center;background-repeat:no-repeat;padding:12px}@media (max-width: 768px){.menu--social .menu__link{padding:12px}}.menu--social .menu__item--facebook .menu__link{background-image:linear-gradient(transparent,transparent),url(https://rare.org/wp-content/themes/rare/images/logo-facebook--white.svg)}.menu--social .menu__item--instagram .menu__link{background-image:linear-gradient(transparent,transparent),url(https://rare.org/wp-content/themes/rare/images/logo-instagram--white.svg)}.menu--social .menu__item--twitter .menu__link{background-image:linear-gradient(transparent,transparent),url(https://rare.org/wp-content/themes/rare/images/logo-twitter--white.svg)}.menu--social .menu__item--linkedin .menu__link{background-image:linear-gradient(transparent,transparent),url(https://rare.org/wp-content/themes/rare/images/logo-linkedin--white.svg)}.menu--social .menu__item--youtube .menu__link{background-image:linear-gradient(transparent,transparent),url(https://rare.org/wp-content/themes/rare/images/logo-youtube--white.svg)}.menu--social .menu__link:hover{opacity:.8;transform:translateY(-4px)}.footer-menu-section{width:100%;margin-top:0}h3.footer-menu-title{padding:0}.footer-menu-title{font-size:clamp(.9rem,1.8vw,1.1rem);font-weight:600;margin-bottom:0;margin-top:0;color:#fff;text-transform:uppercase;letter-spacing:.5px}.footer-menu-accordion-btn{width:100%;background:none;border:none;color:#fff;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:0;font-size:inherit;font-weight:inherit;text-transform:inherit;letter-spacing:inherit;font-family:inherit;transition:opacity .3s ease}.footer-menu-accordion-btn:hover{opacity:.8}.footer-accordion-icon{font-size:1.2rem;font-weight:300;transition:transform .3s ease;display:inline-block;width:1.5rem;text-align:center}.footer-menu-list{list-style:none;list-style-type:none;padding:0;padding-left:clamp(10px,2.5vw,15px);margin:0;transition:max-height .3s ease-in-out,opacity .3s ease-in-out,margin-top .3s ease-in-out}@media (min-width: 769px){.footer-menu-list{max-height:none;opacity:1;margin-top:.5rem}.footer-menu-accordion-btn{cursor:default;pointer-events:none}.footer-accordion-icon{display:none}}@media (max-width: 768px){.footer-menu-list{max-height:0;opacity:0;overflow:hidden;margin-top:0}.footer-menu-list--open{max-height:500px;opacity:1;margin-top:1rem}.footer-menu-accordion-btn{min-height:44px;padding:.5rem 0}}.footer-menu-list li{list-style:none;list-style-type:none}.footer-menu-list li:before{content:none}.footer-menu-list a{color:#ffffffe6;text-decoration:none;font-size:clamp(.8rem,1.8vw,.95rem);transition:opacity .3s ease;line-height:1.2}.footer-menu-list li{font-size:clamp(.8rem,1.5vw,.95rem);margin-bottom:clamp(.1rem,.3dvh,.2rem);font-weight:600}.footer-menu-list a:hover{opacity:.8;color:#fff}.footer-donate-btn-container{margin-top:clamp(1.5rem,3dvh,2rem);width:100%;display:flex;justify-content:center}.rare-donate-btn{background-color:#fff;color:#005bbb;padding:clamp(.7rem,1.2dvh,1rem) clamp(2rem,4vw,3rem);text-decoration:none;border-radius:25px;font-weight:600;display:block;text-align:center;transition:all .3s ease;text-transform:uppercase;font-size:clamp(.85rem,1.6vw,1rem);letter-spacing:.5px;width:fit-content;margin:0 auto}.rare-donate-btn:hover{background-color:#ffffffe6;transform:translateY(-2px);box-shadow:0 4px 12px #0003}.footer__copyright{margin-top:clamp(2rem,4dvh,3rem);padding-top:clamp(.8rem,1.5dvh,1.2rem);border-top:1px solid rgba(255,255,255,.3);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:clamp(.8rem,2vw,1.2rem)}.copyright{font-size:clamp(.8rem,1.8vw,.9rem);color:#fffc}.copyright-text{cursor:pointer;transition:all .3s ease;padding:.25rem .5rem;border-radius:4px;-webkit-user-select:none;user-select:none}.copyright-text:hover{background:rgba(255,255,255,.1);color:#fff}.copyright-text.authenticated{background:rgba(0,122,204,.2);border:1px solid rgba(0,122,204,.3)}.copyright-text.authenticated:hover{background:rgba(0,122,204,.3)}.menu--copyright{list-style:none;padding:0;margin:0;display:flex;gap:clamp(15px,4vw,30px);flex-wrap:wrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.menu--copyright::-webkit-scrollbar{height:2px}.menu--copyright::-webkit-scrollbar-thumb{background:rgba(255,255,255,.3);border-radius:2px}.menu--copyright .menu__item{margin:0}.menu--copyright .menu__link{color:#fffc;text-decoration:none;font-size:clamp(.8rem,1.8vw,.9rem);transition:opacity .3s ease;padding:clamp(.5rem,1vw,.7rem) clamp(.3rem,1vw,.5rem);min-height:44px;display:flex;align-items:center;border-radius:4px}.menu--copyright .menu__link:hover{opacity:1;color:#fff;background:rgba(255,255,255,.1)}@media (max-height: 700px){.l-footer{padding:clamp(1rem,2dvh,1.5rem) 0 clamp(.5rem,1dvh,.8rem)}.rare-logo{height:clamp(3rem,5dvh,4rem)}.l-grid--4col{gap:clamp(.8rem,2vw,1.5rem)}.site-slogan{font-size:clamp(1.1rem,2vw,1.4rem);margin-bottom:clamp(.5rem,1dvh,.8rem)}.footer-donate-btn-container{margin-top:clamp(1rem,2dvh,1.5rem)}.footer__copyright{margin-top:clamp(1.2rem,2.5dvh,2rem);padding-top:clamp(.5rem,1dvh,.8rem)}}@media (max-width: 768px) and (orientation: landscape) and (max-height: 500px){.l-footer{padding:clamp(.8rem,1.5dvh,1.2rem) 0 clamp(.4rem,.8dvh,.6rem)}.l-grid--4col{gap:clamp(.5rem,2vw,1rem)}.rare-logo{height:clamp(2.5rem,4dvh,3.5rem)}}@media (max-width: 768px) and (orientation: landscape){.l-footer{padding:clamp(1rem,2dvh,1.5rem) 0 clamp(.5rem,1dvh,.8rem)}.l-grid--4col{grid-template-columns:repeat(2,1fr);gap:clamp(.8rem,2.5vw,1.2rem)}.rare-logo{height:clamp(3rem,5dvh,4rem)}.site-slogan{font-size:clamp(1rem,2vw,1.2rem);margin-bottom:clamp(.4rem,1dvh,.6rem)}.footer__copyright{margin-top:clamp(1rem,2dvh,1.5rem);padding-top:clamp(.5rem,1dvh,.7rem)}.menu--social{gap:clamp(6px,1.5vw,10px)}}@media (max-width: 768px) and (orientation: portrait){.l-footer{padding:clamp(1.5rem,4dvh,2.5rem) 0 clamp(.8rem,1.5dvh,1.2rem)}}@media (max-width: 768px){.footer__copyright{flex-direction:column;align-items:center;text-align:center;gap:clamp(.8rem,2vw,1.2rem)}.menu--copyright{flex-direction:row;justify-content:center;gap:clamp(8px,2vw,12px);text-align:center;flex-wrap:wrap}.menu--copyright .menu__link{font-size:clamp(.75rem,1.6vw,.85rem);padding:.4rem .3rem}.menu--social{justify-content:flex-start}.site-slogan{text-align:left}.footer__menu-column{padding:0;margin-bottom:0}.footer-menu-list{padding-left:0}}@media (max-width: 480px){.l-footer{padding:clamp(1.5rem,3dvh,2rem) 0 clamp(.8rem,1.5dvh,1rem)}.rare-logo{height:clamp(3rem,6dvh,4rem)}.site-slogan{font-size:clamp(1rem,3.5vw,1.3rem);margin-bottom:clamp(.6rem,1.5dvh,.8rem)}.footer-menu-title{font-size:clamp(.9rem,3.5vw,1.1rem);margin-bottom:clamp(.5rem,1.5dvh,.7rem)}.footer-menu-list a{font-size:clamp(.85rem,3.5vw,1rem);padding:clamp(.4rem,1.5vw,.6rem) 0;display:block;min-height:44px}.footer-donate-btn-container{margin-top:clamp(1rem,2dvh,1.5rem)}.footer__copyright{margin-top:clamp(1.5rem,3dvh,2rem);padding-top:clamp(.6rem,1.2dvh,.9rem)}}.loading-screen{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--color-background);display:flex;align-items:center;justify-content:center;z-index:9999;font-family:var(--font-family-primary);opacity:1;transition:opacity .4s ease-out}.loading-screen.fade-out{opacity:0}.loading-content{text-align:center;display:flex;flex-direction:column;align-items:center;gap:2rem}.loading-logo{margin-bottom:1rem}.loading-logo-image{width:120px;height:auto;opacity:.8}.loading-text{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:500;margin-bottom:1rem}.dancing-dots{display:flex;align-items:center;justify-content:center;gap:.25rem}.dancing-dot{font-size:2rem;color:var(--color-primary);animation:dancingDots 1.4s ease-in-out infinite both}.dancing-dot:nth-child(1){animation-delay:-.32s}.dancing-dot:nth-child(2){animation-delay:-.16s}.dancing-dot:nth-child(3){animation-delay:0s}@keyframes dancingDots{0%,80%,to{transform:translateY(0);opacity:.4}40%{transform:translateY(-20px);opacity:1}}@media (max-width: 768px){.loading-logo-image{width:100px}.loading-progress-bar{width:160px}}.login-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.login-modal{background:white;border-radius:12px;padding:0;max-width:400px;width:90%;max-height:90vh;overflow:hidden;box-shadow:0 20px 40px #0000004d;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.login-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 0;border-bottom:1px solid #e5e5e5;margin-bottom:24px}.login-modal-header h2{margin:0;font-size:1.5rem;font-weight:600;color:#333}.login-modal-close{background:none;border:none;font-size:24px;cursor:pointer;padding:4px;color:#666;border-radius:4px;transition:all .2s ease}.login-modal-close:hover{background:#f0f0f0;color:#333}.login-form{padding:0 24px 24px}.login-form-group{margin-bottom:20px}.login-form-group label{display:block;margin-bottom:8px;font-weight:500;color:#333}.login-form-group input{width:100%;padding:12px 16px;border:2px solid #e1e1e1;border-radius:8px;font-size:16px;transition:border-color .2s ease;box-sizing:border-box}.login-form-group input:focus{outline:none;border-color:#007acc;box-shadow:0 0 0 3px #007acc1a}.token-help{display:block;margin-top:6px;color:#666;font-size:12px;line-height:1.3}.login-error{background:#fee;color:#c33;padding:12px;border-radius:6px;margin-bottom:16px;font-size:14px;border:1px solid #fcc}.login-form-actions{display:flex;gap:12px;justify-content:flex-end}.login-btn-cancel,.login-btn-submit{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.login-btn-cancel{background:#f5f5f5;border:1px solid #d1d1d1;color:#666}.login-btn-cancel:hover{background:#ebebeb;border-color:#b8b8b8}.login-btn-submit{background:#007acc;border:1px solid #007acc;color:#fff}.login-btn-submit:hover{background:#005fa3;border-color:#005fa3}.sticky-toolbar-container{position:fixed;top:0;left:0;right:0;z-index:9999;transition:all .2s ease-in-out;border-bottom:1px solid #ddd;box-shadow:0 2px 8px #0000001a}.editor-toolbar{transition:all .2s ease-in-out}.editor-toolbar.sticky{background:#f8f9fa;border-radius:0;margin:0;box-shadow:none;justify-content:center}@keyframes stickyToolbarFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.sticky-toolbar-container .editor-toolbar{animation:stickyToolbarFadeIn .2s ease-out}.chart-placeholder-content{background:#f8f9fa;border:2px dashed #dee2e6;border-radius:8px;padding:20px;text-align:center;margin:16px 0;color:#6c757d;font-family:monospace}.banner-title-editable.editing,.banner-subtitle-editable.editing,.banner-description-editable.editing{width:750px;max-width:95vw;box-sizing:border-box;z-index:1000;position:relative;overflow:visible}.banner-title-editable .editor-toolbar,.banner-subtitle-editable .editor-toolbar,.banner-description-editable .editor-toolbar{width:100%;padding:6px 8px;min-height:auto;max-width:none;line-height:1.3}.banner-title-editable .toolbar-btn,.banner-subtitle-editable .toolbar-btn,.banner-description-editable .toolbar-btn{padding:3px 8px;font-size:12px;margin:0 2px;height:26px;line-height:1.3}.banner-title-editable .editor-toolbar select,.banner-subtitle-editable .editor-toolbar select,.banner-description-editable .editor-toolbar select{padding:2px 6px;font-size:12px;height:26px;line-height:1.3}.banner-title-editable .mode-btn,.banner-subtitle-editable .mode-btn,.banner-description-editable .mode-btn{padding:3px 10px;font-size:12px;height:26px;line-height:1.3}.banner-title-editable .editor-mode-toggle,.banner-subtitle-editable .editor-mode-toggle,.banner-description-editable .editor-mode-toggle{margin-bottom:6px}.banner-title-editable .editor-toolbar span,.banner-subtitle-editable .editor-toolbar span,.banner-description-editable .editor-toolbar span{font-size:12px;margin:0 4px}.banner-title-editable .ProseMirror,.banner-subtitle-editable .ProseMirror,.banner-description-editable .ProseMirror{line-height:1.5}.editable-content{position:relative}.editable-content.has-unsaved-changes{background:rgba(255,193,7,.05);border-left:3px solid #ffc107;padding-left:12px;margin-left:-15px}.editable-content.has-saved-changes{background:rgba(40,167,69,.05);border-left:3px solid #28a745;padding-left:12px;margin-left:-15px}.editable-content.editable{cursor:pointer;border-radius:4px;transition:all .2s ease;padding:8px;margin:-8px}.editable-content.editable:hover{background:rgba(0,122,204,.05);border:2px dashed rgba(0,122,204,.3)}.edit-overlay{position:absolute;top:4px;right:4px;background:rgba(0,122,204,.9);color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;display:flex;align-items:center;gap:4px;opacity:0;transform:translateY(-4px);transition:all .2s ease;pointer-events:none;z-index:10}.editable-content.editable:hover .edit-overlay{opacity:1;transform:translateY(0)}.edit-icon{font-size:14px}.edit-hint{font-weight:500}.editable-content.editing{border:2px solid #007acc;border-radius:8px;padding:16px;background:white;box-shadow:0 4px 12px #00000026}.editable-content-display,.content-display{position:relative;z-index:1}.edit-actions{display:flex;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid #e1e1e1}.save-btn,.cancel-btn,.delete-btn{padding:6px 12px;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease;height:32px;line-height:1.2;box-sizing:border-box}.save-btn{background:#007acc;border:1px solid #007acc;color:#fff}.save-btn:hover{background:#005fa3;border-color:#005fa3}.cancel-btn{background:#f5f5f5;border:1px solid #d1d1d1;color:#666}.cancel-btn:hover{background:#ebebeb;border-color:#b8b8b8}.chart-placeholder{border:2px dashed #ddd;border-radius:8px;margin:20px 0}.chart-placeholder-content{padding:40px;text-align:center;background:#f8f9fa;border-radius:6px;font-family:monospace;font-size:14px;color:#6c757d;border:1px solid #dee2e6}.editable-content.editable.chart-placeholder:hover{border-color:#007acc;background:rgba(0,122,204,.02)}.chart-component{min-height:60px;display:flex;align-items:center;justify-content:center}@media (max-width: 768px){.edit-overlay{font-size:11px;padding:3px 6px}.edit-actions{flex-direction:column}.save-btn,.cancel-btn{width:100%}}.floating-save-container{position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;flex-direction:column;align-items:flex-end;gap:8px}.save-status-message{background:rgba(0,0,0,.8);color:#fff;padding:8px 14px;border-radius:6px;font-size:13px;font-weight:500;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:.9;text-align:center;max-width:280px;line-height:1.3}.floating-save-btn{background:#007acc;border:2px solid #007acc;color:#fff;padding:12px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #007acc4d;display:flex;align-items:center;gap:8px;min-width:140px;justify-content:center}.floating-save-btn:hover{background:#005fa3;border-color:#005fa3;transform:translateY(-2px);box-shadow:0 6px 16px #007acc66}.floating-save-btn:active{transform:translateY(0)}.floating-save-btn.saving{background:#666;border-color:#666;cursor:not-allowed}.floating-save-btn.saving:hover{background:#666;border-color:#666;transform:none}.floating-save-btn.success{background:#28a745;border-color:#28a745;animation:successPulse .6s ease-out}.floating-save-btn.success:hover{background:#218838;border-color:#218838}.floating-save-btn.deploying{background:#fd7e14;border-color:#fd7e14;animation:deployingPulse 2s ease-in-out infinite}.floating-save-btn.deploying:hover{background:#e8690b;border-color:#e8690b}.floating-save-btn.error{background:#dc3545;border-color:#dc3545;animation:errorShake .6s ease-out}.floating-save-btn.error:hover{background:#c82333;border-color:#c82333}.save-icon{font-size:16px;display:flex;align-items:center;justify-content:center}.save-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes successPulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes deployingPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.02);opacity:.9}}@keyframes errorShake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}@media (max-width: 768px){.floating-save-container{bottom:16px;right:16px}.floating-save-btn{padding:10px 16px;font-size:13px;min-width:120px}.save-status-message{font-size:12px;padding:5px 10px}}.floating-save-container{z-index:10001}.error-boundary{padding:2rem;margin:1rem 0;border:2px solid #ff6b6b;border-radius:8px;background:#fff5f5}.error-boundary-content{max-width:600px}.error-boundary h2{color:#d32f2f;margin:0 0 1rem;font-size:1.5rem}.error-boundary p{color:#666;margin:0 0 1rem;line-height:1.5}.error-details{margin:1rem 0;border:1px solid #ddd;border-radius:4px;background:#f9f9f9}.error-details summary{padding:.5rem;cursor:pointer;background:#f0f0f0;border-bottom:1px solid #ddd;font-weight:500}.error-details summary:hover{background:#e8e8e8}.error-details pre{padding:1rem;margin:0;overflow-x:auto;font-size:.8rem;line-height:1.4;color:#333;background:#f9f9f9}.error-retry-button{padding:.5rem 1rem;background:#2196f3;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background-color .2s}.error-retry-button:hover{background:#1976d2}.error-section{min-height:200px;display:flex;align-items:center;justify-content:center}.error-section .error-boundary-content{text-align:center}.error-section h1{color:#d32f2f;margin-bottom:1rem}.error-message{padding:.5rem 1rem;background:#ffebee;border:1px solid #ffcdd2;border-radius:4px;color:#c62828;font-family:monospace;font-size:.9rem;margin:1rem 0}.content-error{padding:1rem;border:1px solid #ff9800;border-radius:4px;background:#fff3e0;color:#ef6c00;text-align:center;margin:.5rem 0}.content-error small{display:block;margin-top:.5rem;font-size:.8rem;opacity:.8}.chart-error{padding:2rem;border:2px dashed #ff9800;border-radius:8px;background:#fff3e0;text-align:center;margin:1rem 0;min-height:200px;display:flex;align-items:center;justify-content:center}.chart-error-content h3{color:#ef6c00;margin:0 0 1rem}.chart-error-content p{color:#666;margin:0 0 1rem}.chart-error-content details{text-align:left;max-width:400px}.chart-error-content details summary{cursor:pointer;color:#ef6c00;font-weight:500}.chart-error-content details pre{background:#f5f5f5;padding:.5rem;border-radius:4px;font-size:.8rem;overflow-x:auto}.section-controls{margin-bottom:1rem;padding:.5rem;background:rgba(0,0,0,.05);border-radius:4px;border-left:4px solid var(--color-primary)}.visibility-toggle{display:flex;align-items:center;gap:.5rem;font-size:.9rem;cursor:pointer;-webkit-user-select:none;user-select:none}.visibility-toggle input[type=checkbox]{margin:0}.section-disabled{opacity:.6;position:relative}.section-disabled:before{content:"HIDDEN";position:absolute;top:1rem;right:1rem;background:rgba(255,0,0,.8);color:#fff;padding:.25rem .5rem;border-radius:3px;font-size:.75rem;font-weight:700;z-index:10}.editor-image{max-width:100%;height:auto;border-radius:4px;margin:10px 0;box-shadow:0 2px 8px #0000001a}.ProseMirror ul{list-style-type:disc;margin:1rem 0;padding-left:2rem;list-style:disc}.ProseMirror ol,.ProseMirror ol.ordered-list{list-style:none;list-style-type:none;margin:1rem 0;padding-left:2rem;counter-reset:list-counter}.ProseMirror ol li,.ProseMirror ol.ordered-list li,.ProseMirror .ordered-list li{position:relative;display:block;margin:.25rem 0;padding:0;counter-increment:list-counter;list-style:none;list-style-type:none}.ProseMirror ol li::marker,.ProseMirror ol.ordered-list li::marker,.ProseMirror .ordered-list li::marker{content:none;display:none}.ProseMirror ol li:before,.ProseMirror ol.ordered-list li:before,.ProseMirror .ordered-list li:before{content:counter(list-counter) ". ";position:absolute;left:-1.5rem;top:0;color:var(--color-text-muted);display:inline;font-weight:400}.ProseMirror ul.arrow-list{list-style:none;list-style-type:none;list-style-image:none;list-style-position:outside;padding-left:2rem;margin:1rem 0}.ProseMirror ul.arrow-list li{position:relative;display:block;margin:.25rem 0;padding:0;list-style:none;list-style-type:none}.ProseMirror ul.arrow-list li::marker{content:none;display:none}.ProseMirror ul.arrow-list li:before{content:"→ ";position:absolute;left:-1.5rem;top:0;color:var(--color-text-muted);display:inline;font-weight:400}.ProseMirror ul.arrow-list li p{margin:0;padding:0;display:block}.ProseMirror li{display:list-item;margin:.25rem 0;padding:0;position:static}.ProseMirror li:before{content:none;display:none}.ProseMirror li:has(b:first-child):before,.ProseMirror li:has(strong:first-child):before{content:none;display:none}.ProseMirror li p{margin:0;padding:0;display:block}.ProseMirror ul li::marker{content:"• "}.ProseMirror ol li::marker{content:counter(list-item) ". "}.ProseMirror .list-item,.ProseMirror .ordered-list{list-style:inherit;padding-left:0}.ProseMirror .list-item:before,.ProseMirror .ordered-list:before{content:none;display:none}.editable-content-display ul,.content-display ul,.text-section ul{list-style:disc;margin:var(--space-1) 0;padding-left:2rem}.editable-content-display ul li,.content-display ul li,.text-section ul li{display:list-item;padding-left:0;position:static;margin-bottom:var(--space-0\.5)}.editable-content-display ul ul,.content-display ul ul,.text-section ul ul{margin:0}.editable-content-display ul li:before,.content-display ul li:before,.text-section ul li:before{content:none;display:none}.editable-content-display ul li::marker,.content-display ul li::marker,.text-section ul li::marker{content:"• "}.editable-content-display ul li p,.content-display ul li p,.text-section ul li p{margin:0;padding:0}.editable-content-display ol,.content-display ol,.text-section ol,.editable-content-display ol.ordered-list,.content-display ol.ordered-list,.text-section ol.ordered-list{list-style:none;margin:var(--space-1) 0;padding-left:2rem;counter-reset:list-counter}.editable-content-display ol li,.content-display ol li,.text-section ol li,.editable-content-display .ordered-list li,.content-display .ordered-list li,.text-section .ordered-list li{position:relative;display:block;margin:.25rem 0;padding:0;counter-increment:list-counter;list-style:none}.editable-content-display ol li::marker,.content-display ol li::marker,.text-section ol li::marker,.editable-content-display .ordered-list li::marker,.content-display .ordered-list li::marker,.text-section .ordered-list li::marker{content:none;display:none}.editable-content-display ol li:before,.content-display ol li:before,.text-section ol li:before,.editable-content-display .ordered-list li:before,.content-display .ordered-list li:before,.text-section .ordered-list li:before{content:counter(list-counter) ". ";position:absolute;left:-1.5rem;top:0;color:var(--color-text-muted);display:inline;font-weight:400}.editable-content-display ul.arrow-list,.content-display ul.arrow-list,.text-section ul.arrow-list{list-style:none;padding-left:2rem;margin:1rem 0}.editable-content-display ul.arrow-list li,.content-display ul.arrow-list li,.text-section ul.arrow-list li{position:relative;display:block;margin:.25rem 0;padding:0;list-style:none}.editable-content-display ul.arrow-list li::marker,.content-display ul.arrow-list li::marker,.text-section ul.arrow-list li::marker{content:none;display:none}.editable-content-display ul.arrow-list li:before,.content-display ul.arrow-list li:before,.text-section ul.arrow-list li:before{content:"→ ";position:absolute;left:-1.5rem;top:0;color:var(--color-text-muted);display:inline;font-weight:400}.editable-content-display ul.arrow-list li p,.content-display ul.arrow-list li p,.text-section ul.arrow-list li p{margin:0;padding:0;display:block}.app-error{padding:40px;text-align:center;color:var(--color-error)}.app-error h1{margin-bottom:16px}.loading-section{padding:40px;text-align:center;color:var(--color-text-muted);font-style:italic}.error-section{padding:20px;background:var(--color-error-light);border:1px solid var(--color-error-border);border-radius:4px;color:var(--color-error-text)}.section-header h1{margin:2rem 0 1rem;font-size:var(--font-size-5xl);font-weight:700;color:var(--color-h1)}.section-header:first-child h1{margin-top:0}@media (max-width: 768px){.section-header h1{font-size:clamp(2.25rem,7vw,3.25rem);letter-spacing:.5px}}@media (max-width: 480px){.section-header h1{font-size:clamp(2.125rem,6.5vw,2.625rem);letter-spacing:.3px;word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;padding-left:4px;padding-right:4px}}.text-section+.text-section{margin-top:2rem}@media print{.info-button-download-hide{display:none}}.downloading .info-button-download-hide{display:none}.app-wrapper{width:100%;min-height:100vh;background:var(--color-background-app);opacity:0;transform:translateY(20px);transition:opacity .8s ease,transform .8s ease}.app-wrapper.fade-in{opacity:1;transform:translateY(0)}.report-container{font-family:var(--font-family-primary);max-width:62.5rem;margin:0 auto 50px;padding:2.5rem;padding-top:0;line-height:1.7;color:var(--color-text-inverse);box-sizing:border-box}.report-content{margin-top:40px}.report-section{margin-bottom:60px}.text-section{background:var(--color-background-text-section);border-radius:12px;padding:clamp(1rem,3vw,2.5rem);margin:0;color:var(--color-text-section-text);box-shadow:0 4px 6px #0000001a;line-height:1.6;overflow:visible;min-height:auto}.report-section p{background:none;border-radius:0;padding:0;margin:1rem 0;color:inherit;box-shadow:none}.text-section p{margin:clamp(.75rem,2vw,1.25rem) 0}.report-container .chart-section{margin:80px 0;border-top:2px solid var(--color-border);border-bottom:2px solid var(--color-border);padding:40px 80px}@media (max-width: 1024px){.report-container .chart-section{padding-left:40px;padding-right:40px}}@media (max-width: 768px){.report-container{padding:1rem;margin-bottom:2rem;max-width:calc(100vw - 2rem)}.report-section{margin-bottom:1rem}.text-section{padding:.75rem;margin:0}.report-container .chart-section{margin:.75rem 0;padding:.5rem .25rem}}@media (max-width: 480px){.report-container{padding:.75rem;max-width:calc(100vw - 1.5rem)}.text-section{padding:16px;margin:0;border-radius:8px}.report-section{margin-bottom:.75rem}.report-container .chart-section{margin:.5rem 0;padding:.5rem .125rem}}.button-row{display:flex;align-items:center;justify-content:center;gap:var(--spacing-md);margin-top:var(--spacing-xl);margin-bottom:var(--spacing-xl);flex-wrap:wrap}.button-row .contact-form-container{margin:0}.contact-section{padding:var(--spacing-xl) var(--spacing-md);display:flex;justify-content:center;align-items:center;background:linear-gradient(135deg,#f8fafc 0%,#e2e8f0 100%);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.contact-us-button{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);font-family:var(--font-secondary);font-size:1rem;font-weight:500;color:var(--color-text-primary);background:rgba(255,255,255,.9);border:1.5px solid rgba(0,0,0,.15);border-radius:var(--border-radius-md);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-sm);text-decoration:none}.contact-us-button:hover{color:var(--color-primary);border-color:var(--color-primary);background:rgba(255,255,255,1);transform:translateY(-2px);box-shadow:var(--shadow-md)}.contact-us-button .contact-button-text{letter-spacing:.25px}.contact-us-button .contact-icon{font-size:16px;transition:transform var(--transition-base)}.contact-us-button:hover .contact-icon{transform:scale(1.1)}@media (max-width: 768px){.button-row{flex-direction:column;gap:var(--spacing-sm)}.contact-section{padding:var(--spacing-lg) var(--spacing-sm)}.contact-us-button{width:100%;justify-content:center}}@media (max-width: 480px){.button-row{margin-left:0;margin-right:0}.contact-section{padding:var(--spacing-lg) 0}}
