@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Nunito:wght@400;500;600&display=swap";*{box-sizing:border-box;margin:0;padding:0}body{color:#3d2c20;-webkit-font-smoothing:antialiased;background:#f8f2eb;font-family:Nunito,system-ui,sans-serif;font-size:15px}#root{flex-direction:column;min-height:100svh;display:flex}:root{--cream:#fcfdf7;--cream2:#f0e7da;--gold:#c9a882;--gold-dk:#a07850;--green:#3f5a50;--green-dk:#2e4439;--dark:#3d2c20;--muted:#8a7060;--white:#fff}header{z-index:100;justify-content:space-between;align-items:center;padding:.4rem 2.5rem;display:flex;position:sticky;top:0}.header-home{background:#fefbf6;border-bottom:1px solid #c9a88240}.header-app{background:var(--green)}.brand{letter-spacing:.08em;align-items:center;gap:.5rem;font-family:Cormorant Garamond,serif;font-size:1.25rem;font-weight:600;text-decoration:none;display:flex}.brand-logo{width:auto;height:78px;display:block}.header-home .brand{color:var(--green)}.header-app .brand{color:var(--cream)}header nav{align-items:center;gap:1.5rem;display:flex}header nav a{letter-spacing:.04em;font-size:.875rem;text-decoration:none;transition:color .2s}.header-home nav a{color:var(--muted)}.header-home nav a:hover,.header-home nav a.active{color:var(--green)}.header-app nav a{color:#ffffffa6}.header-app nav a:hover,.header-app nav a.active{color:var(--white)}.nav-login{border-radius:20px;padding:.38rem 1.1rem;font-weight:600;border:1.5px solid!important}.header-home .nav-login{color:var(--gold-dk)!important;border-color:var(--gold)!important}.home{background:var(--cream)}.hero{height:calc(100vh - 56px);display:flex}.hero-left{background:var(--green);flex-direction:column;flex-shrink:0;justify-content:center;width:42%;padding:0 4rem 0 5rem;display:flex}.hero-right{flex:1;overflow:hidden}.hero-img{object-fit:cover;object-position:right center;width:100%;height:100%;display:block}.hero-eyebrow{letter-spacing:.18em;text-transform:uppercase;color:#ffffffa6;margin-bottom:1.1rem;font-size:.75rem}.hero-left h1{color:var(--white);margin-bottom:2rem;font-family:Cormorant Garamond,serif;font-size:3.8rem;font-weight:400;line-height:1.15}.hero-left h1 em{color:#ffffffd1;font-style:italic}.pitch{align-items:center;gap:4rem;max-width:980px;margin:5rem auto;padding:0 2.5rem;display:flex}.pitch-logo-wrap{background:var(--white);cursor:zoom-in;border-radius:16px;flex-shrink:0;width:260px;transition:box-shadow .2s;overflow:hidden;box-shadow:0 4px 24px #c9a88240}.pitch-logo-wrap:hover{box-shadow:0 8px 36px #c9a88273}.pitch-logo{width:100%;display:block}.pitch-text h2{color:var(--dark);margin-bottom:1rem;font-family:Cormorant Garamond,serif;font-size:2.6rem;font-weight:500;line-height:1.25}.pitch-text h2 em{color:var(--gold-dk);font-style:italic}.pitch-text p{color:var(--muted);margin-bottom:1.5rem;font-size:.95rem;line-height:1.75}.services-section{background:var(--cream2);text-align:center;padding:4rem 2.5rem}.section-title{color:var(--green);letter-spacing:.06em;margin-bottom:2.5rem;font-family:Cormorant Garamond,serif;font-size:1.7rem;font-weight:500}.services-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:960px;margin:0 auto;display:grid}.service-card{background:var(--white);border-radius:14px;padding:2.25rem 1.75rem;box-shadow:0 2px 12px #3d2c2012}.service-icon{color:var(--gold);letter-spacing:.3em;margin-bottom:.85rem;font-size:1rem;display:block}.service-card h4{color:var(--green);margin-bottom:.6rem;font-family:Cormorant Garamond,serif;font-size:1.25rem;font-weight:600}.service-card p{color:var(--muted);font-size:.875rem;line-height:1.65}.ambiance{background:var(--cream);justify-content:center;align-items:center;display:flex;position:relative}.ambiance-img{width:100%;max-width:min(680px,90vw);height:auto;display:block;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 30% 70%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 30% 70%,#0000 100%)}.ambiance-overlay{background:#f8f2eb59;position:absolute;inset:0}.ambiance-text{z-index:1;justify-content:center;align-items:center;padding:0 2rem;display:flex;position:absolute;inset:0}.ambiance-text blockquote{color:var(--green);max-width:640px;font-family:Cormorant Garamond,serif;font-size:1.6rem;font-weight:400;line-height:1.5}.ambiance-text blockquote em{color:var(--gold-dk)}.modal-backdrop{z-index:999;cursor:zoom-out;background:#1e140fbf;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0}.modal-img{border-radius:20px;width:auto;max-width:min(560px,90vw);height:auto;max-height:90vh;animation:.2s modal-in;box-shadow:0 24px 80px #0006}@keyframes modal-in{0%{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}.cta-section{background:var(--cream);text-align:center;border-top:1px solid #c9a8824d;padding:3.5rem 2rem}.cta-section p{color:var(--dark);margin-bottom:1.5rem;font-family:Cormorant Garamond,serif;font-size:1.3rem}.btn-contact{background:var(--green);color:var(--white);letter-spacing:.06em;border-radius:30px;padding:.75rem 2.25rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:background .2s;display:inline-block}.btn-contact:hover{background:var(--green-dk)}.hero-left .btn-contact{color:var(--white);background:0 0;border:1.5px solid #ffffffbf}.hero-left .btn-contact:hover{background:var(--white);color:var(--green);border-color:var(--white)}.btn-secondary{border:1.5px solid var(--gold);color:var(--gold-dk);letter-spacing:.04em;border-radius:30px;padding:.6rem 1.5rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-block}.btn-secondary:hover{background:var(--gold);color:var(--white)}.contact-page{background:var(--cream)}.contact-hero{background:var(--green);color:var(--white);text-align:center;padding:4rem 2rem}.contact-hero h1{color:var(--white);margin-bottom:.75rem;font-family:Cormorant Garamond,serif;font-size:2.8rem;font-weight:500}.contact-hero p{color:#ffffffbf;font-size:1rem}.contact-body{grid-template-columns:1fr 1.6fr;align-items:start;gap:3rem;max-width:960px;margin:4rem auto;padding:0 2rem;display:grid}.contact-info{flex-direction:column;gap:1.75rem;display:flex}.contact-info-item{align-items:flex-start;gap:1rem;display:flex}.contact-info-icon{color:var(--gold);flex-shrink:0;width:28px;margin-top:.1rem;font-size:1.2rem}.contact-info-item strong{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:.2rem;font-size:.8rem;display:block}.contact-info-item a,.contact-info-item span{color:var(--dark);font-size:.95rem;text-decoration:none}.contact-info-item a:hover{color:var(--green)}.contact-form{background:var(--white);border-radius:14px;padding:2rem;box-shadow:0 2px 16px #3d2c2014}.contact-field{margin-bottom:1.1rem}.contact-field label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:.4rem;font-size:.8rem;font-weight:600;display:block}.contact-field input,.contact-field textarea{background:var(--cream);width:100%;color:var(--dark);resize:vertical;border:1px solid #c9a88266;border-radius:8px;padding:.6rem .85rem;font-family:inherit;font-size:.9rem;transition:border-color .2s}.contact-field input:focus,.contact-field textarea:focus{border-color:var(--green);outline:none}.btn-submit{background:var(--green);width:100%;color:var(--white);cursor:pointer;letter-spacing:.04em;border:none;border-radius:8px;margin-top:.5rem;padding:.75rem;font-family:inherit;font-size:.9rem;font-weight:600;transition:background .2s}.btn-submit:hover{background:var(--green-dk)}.contact-sent{color:var(--green);background:#e8f4ec;border-radius:8px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.9rem}@media (width<=700px){.contact-body{grid-template-columns:1fr}.contact-hero h1{font-size:2rem}}.site-footer{text-align:center;border-top:1px solid #c9a88226;padding:1.5rem}.footer-copy{color:var(--muted);opacity:.6;font-size:.75rem}.login-page{background:var(--cream);flex-direction:column;justify-content:center;align-items:center;min-height:70vh;padding:3rem 1.5rem;display:flex;position:relative;overflow:hidden}.login-intro{text-align:center;margin-bottom:1.75rem}.login-intro h2{color:var(--green);margin-bottom:.4rem;font-family:Cormorant Garamond,serif;font-size:2rem;font-weight:500}.login-intro p{color:var(--muted);font-size:.9rem;line-height:1.55}.login-card{background:var(--white);border-radius:18px;width:100%;max-width:420px;padding:2.5rem 2rem;position:relative;box-shadow:0 4px 32px #3d2c2017}.login-content{z-index:1;position:relative}.login-tabs{border-bottom:1px solid #c9a88240;gap:.5rem;margin-bottom:1.75rem;padding-bottom:.75rem;display:flex}.login-tab{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:1;padding:.5rem;font-family:inherit;font-size:.875rem;font-weight:500;transition:all .2s}.login-tab:hover{background:var(--cream);color:var(--dark)}.login-tab.active{background:var(--cream);color:var(--green);font-weight:600}.login-hint{color:var(--muted);margin-bottom:1.25rem;font-size:.85rem;line-height:1.55}.login-form{flex-direction:column;gap:.9rem;display:flex}.login-field{flex-direction:column;gap:.35rem;display:flex}.login-field label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.78rem;font-weight:600}.login-field input{background:var(--cream);color:var(--dark);border:1px solid #c9a88266;border-radius:8px;padding:.6rem .85rem;font-family:inherit;font-size:.9rem;transition:border-color .2s}.login-field input:focus{border-color:var(--green);outline:none}.btn-login{background:var(--green);color:var(--white);cursor:pointer;border:none;border-radius:8px;margin-top:.5rem;padding:.75rem;font-family:inherit;font-size:.9rem;font-weight:600;transition:background .2s}.btn-login:hover{background:var(--green-dk)}.btn-login:disabled{cursor:default;background:#999}.login-error{color:#c0392b;background:#fdecea;border-radius:8px;margin-bottom:.5rem;padding:.65rem .9rem;font-size:.85rem}.login-success{color:var(--green);background:#e8f4ec;border-radius:8px;margin-bottom:.5rem;padding:.65rem .9rem;font-size:.85rem}.client-portal{max-width:800px;margin:2.5rem auto;padding:0 1.5rem}.client-portal-header{border-bottom:1px solid #c9a88240;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1.25rem;display:flex}.client-welcome{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:.2rem;font-size:.8rem}.client-portal-header h2{color:var(--dark);font-family:Cormorant Garamond,serif;font-size:1.8rem;font-weight:500}.client-section-title{color:var(--green);letter-spacing:.04em;margin-bottom:1rem;font-family:Cormorant Garamond,serif;font-size:1.2rem;font-weight:500}.btn-logout{color:var(--muted);cursor:pointer;background:0 0;border:1px solid #c9a88280;border-radius:20px;padding:.45rem 1.1rem;font-family:inherit;font-size:.8rem;transition:all .2s}.btn-logout:hover{border-color:var(--gold);color:var(--gold-dk);background:0 0}main>div:not(.home):not(.contact-page):not(.login-page){max-width:1000px;margin:2rem auto;padding:0 1.5rem}h2{color:#333;margin-bottom:1rem;font-size:1.1rem}h3{color:#555;margin:1.5rem 0 .5rem;font-size:.95rem}.toolbar{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}table{border-collapse:collapse;background:var(--white);border-radius:6px;width:100%;margin-bottom:1.5rem;overflow:hidden;box-shadow:0 1px 4px #00000014}th,td{text-align:left;border-bottom:1px solid #eee;padding:.6rem 1rem;font-size:.9rem}th{background:#f0f0f0;font-weight:600}tr:last-child td{border-bottom:none}.field{margin-bottom:.75rem}.field label{margin-bottom:.25rem;font-size:.85rem;font-weight:600;display:block}.field input{border:1px solid #ccc;border-radius:4px;width:100%;max-width:480px;padding:.45rem .75rem;font-size:.9rem}form{background:var(--white);border-radius:6px;margin-bottom:1.5rem;padding:1.25rem;box-shadow:0 1px 4px #00000014}.actions{margin-top:1rem}button{background:var(--green);color:var(--white);cursor:pointer;border:none;border-radius:4px;padding:.45rem 1.1rem;font-family:inherit;font-size:.85rem}button:hover{background:var(--green-dk)}button:disabled{cursor:default;background:#999}.error{color:#c0392b;margin-bottom:1rem;font-size:.9rem}.empty{color:#888;font-size:.9rem;font-style:italic}@media (width<=700px){.hero{flex-direction:column;height:auto}.hero-left{order:2;width:100%;padding:3rem 1.75rem}.hero-right{flex:none;order:1;height:240px}.hero-left h1{font-size:2.4rem}.pitch{text-align:center;flex-direction:column}.pitch-logo-wrap{width:180px}.services-grid{grid-template-columns:1fr}.ambiance{height:260px}.ambiance-text blockquote{font-size:1.2rem}header{padding:.9rem 1.25rem}}
