:root{--navy: #2a3f54;--navy-light: #354a62;--gold: #c9a227;--gold-light: #e0b83d;--white: #ffffff;--gray: #6b7c8f;--gray-dark: #1a2634}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:1rem;line-height:1.6;color:var(--white);background:var(--navy);min-height:100vh;display:flex;flex-direction:column}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");pointer-events:none;z-index:0}.site-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;background:var(--gray-dark);position:sticky;top:0;z-index:10;border-bottom:2px solid var(--gold)}.logo-link{display:block;line-height:0}.logo-img{height:48px;width:auto;display:block}.main-nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:1.5rem}.main-nav a{color:var(--white);text-decoration:none;font-weight:500;padding:.5rem 0;transition:color .2s}.main-nav a:hover{color:var(--gold-light)}.nav-trigger{background:none;border:none;color:var(--white);font:inherit;font-weight:500;cursor:pointer;padding:.5rem 0;display:flex;align-items:center;gap:.35rem;transition:color .2s}.nav-trigger:hover{color:var(--gold-light)}.nav-trigger:after{content:"";width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid currentColor;margin-left:.25rem}.has-dropdown{position:relative}.dropdown{position:absolute;top:100%;left:0;min-width:160px;background:var(--navy-light);border:1px solid var(--gold);border-radius:6px;padding:.5rem 0;margin-top:.25rem;opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .2s,transform .2s,visibility .2s;box-shadow:0 8px 20px #0000004d}.has-dropdown.is-open .dropdown{opacity:1;visibility:visible;transform:translateY(0)}.dropdown li{margin:0}.dropdown a{display:block;padding:.6rem 1rem;color:var(--white)}.dropdown a:hover{background:#c9a22726;color:var(--gold-light)}main{flex:1;position:relative;z-index:1;padding:3rem 2rem 4rem;max-width:960px;margin:0 auto;width:100%}.hero{text-align:center;padding:3rem 0 4rem}.hero-tagline{font-family:Cormorant Garamond,serif;font-size:clamp(2rem,5vw,3rem);font-weight:600;line-height:1.2;margin:0 0 1rem;letter-spacing:.02em}.hero-tagline-accent{color:var(--gold-light)}.hero-lead{font-size:1.1rem;color:#ffffffe6;max-width:560px;margin:0 auto 2rem}.cta-button{display:inline-block;background:var(--gold);color:var(--gray-dark);text-decoration:none;font-weight:600;padding:.85rem 2rem;border-radius:6px;transition:background .2s,transform .1s}.cta-button:hover{background:var(--gold-light);transform:translateY(-1px)}.value-section{padding:2rem 0 3rem}.value-section h2{font-family:Cormorant Garamond,serif;font-size:1.75rem;text-align:center;margin-bottom:2rem;color:var(--gold-light)}.value-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem}.value-card{background:var(--navy-light);border:1px solid rgba(201,162,39,.3);border-radius:8px;padding:1.5rem}.value-card h3{font-size:1.1rem;margin:0 0 .5rem;color:var(--gold-light)}.value-card p{margin:0;color:#ffffffd9;font-size:.95rem}.cta-section{text-align:center;padding:2rem 0;border-top:1px solid rgba(255,255,255,.1)}.cta-text{margin:0 0 1rem;color:#ffffffe6}.cta-button-secondary{background:transparent;color:var(--gold);border:2px solid var(--gold)}.cta-button-secondary:hover{background:#c9a22726;color:var(--gold-light);border-color:var(--gold-light)}.site-footer{padding:1.25rem 2rem;text-align:center;background:var(--gray-dark);border-top:1px solid rgba(201,162,39,.3);position:relative;z-index:1}.site-footer p{margin:0;font-size:.9rem;color:var(--gray)}.bill-pay-page{padding-top:2rem}.bill-pay-hero{text-align:center;margin-bottom:2.5rem}.bill-pay-hero h1{font-family:Cormorant Garamond,serif;font-size:2.25rem;margin:0 0 .5rem;color:var(--gold-light)}.bill-pay-hero p{margin:0;color:#ffffffe6}.bill-pay-card{background:var(--navy-light);border:1px solid rgba(201,162,39,.3);border-radius:12px;padding:2rem;max-width:480px;margin:0 auto}.bill-pay-card h2{font-size:1.25rem;margin:0 0 1rem;color:var(--white)}.bill-pay-desc{margin:0 0 1.5rem;color:#ffffffd9;font-size:.95rem}.paypal-button{display:inline-flex;align-items:center;gap:.5rem;background:#ffc439;color:#003087;text-decoration:none;font-weight:600;padding:.9rem 1.75rem;border-radius:6px;border:1px solid #d4a017;transition:background .2s,transform .1s}.paypal-button:hover{background:#ffd25a;transform:translateY(-1px)}.paypal-button-wrapper{min-height:3rem}.paypal-loading{margin:0;color:#ffffffe6}.paypal-loading.paypal-fallback a{color:var(--gold-light);text-decoration:underline}.paypal-loading.paypal-fallback a:hover{color:var(--gold)}.paypal-form-wrap{margin-top:1rem}.paypal-pay-form{display:inline-grid;justify-items:center;align-content:start;gap:.5rem}.paypal-powered{font-size:.75rem;color:#ffffffbf}.invoice-card{margin-top:2rem}.invoice-actions{display:flex;flex-direction:column;align-items:center;gap:1rem;margin-top:1rem}.invoice-btn{display:inline-block;background:var(--gold);color:var(--gray-dark);text-decoration:none;font-weight:600;padding:.85rem 2rem;border-radius:6px;transition:background .2s,transform .1s}.invoice-btn:hover{background:var(--gold-light);transform:translateY(-1px)}.invoice-link{font-size:.9rem;color:var(--gold-light);text-decoration:none}.invoice-link:hover{text-decoration:underline;color:var(--gold)}.invoice-create-wrap{margin-bottom:1.5rem}.invoice-form{display:flex;flex-direction:column;gap:.75rem;max-width:400px}.invoice-form label{font-size:.9rem;color:#ffffffe6}.invoice-form input{padding:.5rem .75rem;border:1px solid rgba(201,162,39,.4);border-radius:6px;background:#0003;color:var(--white);font-size:1rem}.invoice-list-wrap{margin-top:1.5rem}.invoice-list-wrap h3,.invoice-list-wrap h4{font-size:1rem;margin:0 0 .5rem;color:var(--gold-light)}.invoice-list-wrap h4{margin-top:1rem}.invoice-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;padding:.75rem 0;border-bottom:1px solid rgba(255,255,255,.1)}.inv-main{flex:1;min-width:0}.inv-desc{color:#ffffffe6}.inv-assignee{font-size:.85rem;color:#fff9;margin-left:.5rem}.inv-amount{color:var(--gold-light)}.inv-status{font-size:.8rem;text-transform:uppercase;margin-left:.5rem}.inv-status.paid{color:#86efac}.inv-status.sent{color:var(--gold-light)}.inv-actions{display:flex;gap:.5rem;align-items:center}.invoice-mark-paid{padding:.35rem .75rem;font-size:.85rem;background:var(--gold);color:var(--gray-dark);border:none;border-radius:4px;cursor:pointer}.invoice-mark-paid:hover{background:var(--gold-light)}.invoice-empty{color:#fff9;font-size:.95rem}.contact-page{padding-top:2rem}.contact-hero{text-align:center;margin-bottom:2.5rem}.contact-hero h1{font-family:Cormorant Garamond,serif;font-size:2.25rem;margin:0 0 .5rem;color:var(--gold-light)}.contact-hero p{margin:0;color:#ffffffe6}.contact-card{background:var(--navy-light);border:1px solid rgba(201,162,39,.3);border-radius:12px;padding:2rem;max-width:480px;margin:0 auto}.contact-form{display:flex;flex-direction:column;gap:.75rem}.contact-form label{font-size:.9rem;color:#ffffffe6}.contact-form input,.contact-form textarea{padding:.6rem .75rem;border:1px solid rgba(201,162,39,.4);border-radius:6px;background:#0003;color:var(--white);font-size:1rem;font-family:inherit}.contact-form textarea{resize:vertical;min-height:120px}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#ffffff80}.contact-btn{margin-top:.5rem;cursor:pointer;border:none;font-size:1rem}.contact-btn:disabled{opacity:.7;cursor:not-allowed}.contact-feedback{margin:1rem 0 0;font-size:.95rem;min-height:1.5em}.contact-feedback-success{color:#86efac}.contact-feedback-error{color:#f87171}.flywheel-section{width:100%;margin-top:clamp(2.5rem,6vw,4rem);padding:clamp(2rem,4vw,2.5rem) 0 clamp(2.5rem,5vw,3rem);position:relative;z-index:1;overflow:hidden}.flywheel-section:before,.flywheel-section:after{display:none}.flywheel-header{max-width:960px;margin:0 auto;padding:0 2rem;text-align:center}.flywheel-heading{font-family:Cormorant Garamond,serif;font-size:clamp(1.5rem,4vw,1.75rem);text-align:center;margin:0 0 .35rem;color:var(--gold-light)}.flywheel-sub{text-align:center;margin:0 0 clamp(1.5rem,4vw,2rem);font-size:clamp(.875rem,2vw,.95rem);color:#ffffffbf}.flywheel-track-wrap{overflow:hidden;width:100%;padding:0}.flywheel-track{display:flex;gap:clamp(.75rem,2.5vw,1.25rem);padding:0 1rem;animation:flywheel-scroll 45s linear infinite;width:max-content;margin:0 auto}.flywheel-track:hover{animation-play-state:paused}@keyframes flywheel-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.flywheel-card{flex:0 0 min(300px,85vw);min-width:240px;background:none;border:none;padding:clamp(1rem,2.5vw,1.5rem);display:flex;flex-direction:column;gap:clamp(.5rem,1.5vw,.75rem)}.flywheel-stars{color:var(--gold);font-size:clamp(1rem,2.5vw,1.1rem);letter-spacing:.15em;line-height:1}.flywheel-quote{margin:0;font-size:clamp(.875rem,2.2vw,.95rem);line-height:1.55;color:#ffffffeb;font-style:italic;flex:1}.flywheel-quote:before{content:'"';color:var(--gold);opacity:.8}.flywheel-quote:after{content:'"';color:var(--gold);opacity:.8}.flywheel-task{margin:0;font-size:clamp(.7rem,1.8vw,.8rem);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--gold-light)}.flywheel-name{margin:0;font-size:clamp(.875rem,2.2vw,.95rem);font-weight:600;color:var(--white)}.flywheel-date{font-size:clamp(.75rem,1.8vw,.8rem);color:#ffffff8c}@media (max-width: 640px){.flywheel-track{animation-duration:60s}.flywheel-card{min-width:220px}.flywheel-header{padding:0 1rem}}.login-page .login-card{max-width:400px}.login-page .login-card h1{font-size:1.5rem;margin-bottom:.5rem}.login-form{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.login-form label{font-size:.9rem;color:#ffffffe6}.login-form .optional{font-weight:400;color:#fff9}.login-form input{padding:.6rem .75rem;border:1px solid rgba(201,162,39,.4);border-radius:6px;background:#0003;color:var(--white);font-size:1rem}.login-form input::placeholder{color:#ffffff80}.login-form button{margin-top:.5rem;cursor:pointer;border:none}.login-error{margin-top:1rem;color:#f87171;font-size:.9rem}.placeholder-note{margin:1.5rem 0 0;padding:1rem;background:#0003;border-radius:6px;font-size:.85rem;color:#fffc}.placeholder-note code{background:#0000004d;padding:.15rem .4rem;border-radius:4px;font-size:.9em}@media (max-width: 640px){.site-header{padding:1rem}main{padding:2rem 1rem 3rem}.hero{padding:2rem 0 3rem}.bill-pay-card{padding:1.5rem}}
