@import"https://fonts.googleapis.com/css2?family=Playfair+Display:wght@300;400&family=Jost:wght@300;400&display=swap";:root{--bg-image: url(/public/photos/BACKGROUND.jpeg);--font-display: "Playfair Display", Georgia, serif;--font-ui: "Jost", sans-serif;--white: #ffffff}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%}body{font-family:var(--font-ui);background:#000;color:var(--white)}.navbar{position:absolute;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:1.5rem 3rem;z-index:10;background:transparent}.navbar-logo{font-size:2rem;color:var(--white)}.navbar-links{list-style:none;display:flex;gap:2rem}.navbar-links a{color:var(--white);text-decoration:none;text-transform:uppercase;letter-spacing:.2em;font-weight:300;font-size:.85rem;opacity:1;transition:opacity .2s}.navbar-links a:hover{opacity:.6}@media (max-width: 768px){.navbar-links{display:none}}@keyframes page-slide-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.page-transition{animation:page-slide-in .38s cubic-bezier(.25,.46,.45,.94) both;min-height:100%;width:100%}.home{position:relative}.hero{position:relative;width:100vw;height:100vh;overflow:hidden;display:flex;align-items:center;justify-content:center}.hero-bg{position:fixed;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;background-attachment:fixed;filter:brightness(.35);z-index:0}.hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,#b478b412,#5050781f);mix-blend-mode:multiply;pointer-events:none;z-index:1}.hero-center{position:relative;z-index:2;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1rem}.hero-display{font-family:var(--font-display);font-size:clamp(10vw,14vw,18vw);font-weight:300;color:var(--white);letter-spacing:.08em;mix-blend-mode:overlay;opacity:1;line-height:1}.hero-subtitle{font-family:var(--font-ui);font-size:clamp(.75rem,1rem,1.1rem);font-weight:300;letter-spacing:.45em;text-transform:uppercase;color:var(--white)}.hero-dots{display:flex;gap:.5rem;font-size:.5rem;color:var(--white)}.slider-prev,.slider-next{position:fixed;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--white);font-size:2rem;cursor:pointer;opacity:.7;transition:opacity .2s;z-index:10}.slider-prev{left:1.5rem}.slider-next{right:1.5rem}.slider-prev:hover,.slider-next:hover{opacity:1}@media (max-width: 768px){.hero-display{font-size:clamp(16vw,22vw,30vw)}.slider-prev,.slider-next{display:none}.hero-subtitle{letter-spacing:.25em}}.hero-footer{position:absolute;bottom:0;left:0;width:100%;padding:0 3rem 1.5rem;z-index:2}.hero-rule{border:none;border-top:1px solid rgba(255,255,255,.3);margin-bottom:1rem}.hero-socials{display:flex;justify-content:flex-end;gap:1rem}.hero-socials a{color:var(--white);text-decoration:none;font-size:1.1rem;opacity:.8;transition:opacity .2s;font-family:var(--font-ui);font-weight:300}.hero-socials a:hover{opacity:1}.home-section{position:relative;z-index:1;padding:6rem 3rem;color:var(--white)}.home-section:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:#0000;z-index:-1;pointer-events:none}.home-section-inner{max-width:860px;margin:0 auto}.section-label{display:block;font-family:var(--font-ui);font-size:.75rem;font-weight:300;letter-spacing:.35em;text-transform:uppercase;opacity:.8;margin-bottom:1.5rem}.section-heading{font-family:var(--font-display);font-size:clamp(2rem,4vw,3.5rem);font-weight:300;letter-spacing:.05em;line-height:1.15;margin-bottom:1.5rem}.section-body{font-family:var(--font-ui);font-size:1.05rem;font-weight:300;line-height:1.8;opacity:1;max-width:640px;margin-bottom:2rem}.section-cta{display:inline-block;color:var(--white);text-decoration:none;font-family:var(--font-ui);font-size:.8rem;font-weight:300;letter-spacing:.3em;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.5);padding-bottom:2px;transition:opacity .2s}.section-cta:hover{opacity:.6}.home-grid-section{background:#0000}.story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:2.5rem}.story-card{padding:2rem;background:#ffffff0d;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-top:1px solid rgba(255,255,255,.15);border-left:1px solid transparent;border-right:1px solid transparent;border-bottom:1px solid transparent;display:flex;flex-direction:column;gap:.75rem;transition:background .3s ease,border-color .3s ease,box-shadow .3s ease}.story-card:hover{background:#ffffff21;border-color:#ffffff73;box-shadow:0 0 18px #ffffff1f,0 0 40px #c8d2ff14}.story-card-label{font-family:var(--font-ui);font-size:.7rem;font-weight:300;letter-spacing:.3em;text-transform:uppercase;opacity:.8}.story-card-heading{font-family:var(--font-display);font-size:1.4rem;font-weight:300;letter-spacing:.04em;line-height:1.3}.story-card-excerpt{font-family:var(--font-ui);font-size:.9rem;font-weight:300;line-height:1.7;opacity:.7}.home-contact-section{padding:7rem 3rem}.contact-form{display:flex;flex-direction:column;gap:1rem;max-width:640px;margin-top:2rem}.contact-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.contact-input{width:100%;background:#ffffff12;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.2);color:var(--white);font-family:var(--font-ui);font-size:.9rem;font-weight:300;padding:.85rem 1rem;outline:none;transition:border-color .2s}.contact-input::placeholder{color:#fff6;letter-spacing:.05em}.contact-input:focus{border-color:#fff9}.contact-textarea{resize:vertical;min-height:140px}.contact-submit{align-self:flex-start;background:none;border:1px solid rgba(255,255,255,.5);color:var(--white);font-family:var(--font-ui);font-size:.75rem;font-weight:300;letter-spacing:.3em;padding:.75rem 2rem;cursor:pointer;transition:background .2s,opacity .2s}.contact-submit:disabled{opacity:.5;cursor:default}.contact-success{font-family:var(--font-ui);font-weight:300;font-size:1rem;letter-spacing:.1em;opacity:.8;margin-top:1rem}.contact-error{font-family:var(--font-ui);font-size:.85rem;font-weight:300;color:#ffa0a0e6}.home-chatbot-section{padding:7rem 3rem}.chatbot-window{margin-top:2.5rem;max-width:760px;background:#ffffff0d;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.12);height:420px;overflow-y:auto;padding:1.5rem;scroll-behavior:smooth;transition:background .3s ease,border-color .3s ease,box-shadow .3s ease}.chatbot-window:hover{background:#ffffff21;border-color:#ffffff73;box-shadow:0 0 18px #ffffff1f,0 0 40px #c8d2ff14}.chatbot-window::-webkit-scrollbar{width:3px}.chatbot-window::-webkit-scrollbar-thumb{background:#ffffff40;border-radius:2px}.chatbot-messages{display:flex;flex-direction:column;gap:1.5rem}.chatbot-bubble{display:flex;flex-direction:column;gap:.3rem;max-width:80%}.chatbot-bubble--user{align-self:flex-end;align-items:flex-end}.chatbot-bubble--assistant{align-self:flex-start;align-items:flex-start}.chatbot-bubble-role{font-family:var(--font-ui);font-size:.65rem;font-weight:300;letter-spacing:.35em;text-transform:uppercase;opacity:.5}.chatbot-bubble-text{font-family:var(--font-ui);font-size:.9rem;font-weight:300;line-height:1.7;color:var(--white);margin:0;padding:.75rem 1rem;background:#ffffff14;border:1px solid rgba(255,255,255,.1)}.chatbot-bubble--user .chatbot-bubble-text{background:#b48cc826;border-color:#b48cc833}.chatbot-typing{display:flex;gap:5px;align-items:center;padding:.75rem 1.25rem}.chatbot-typing span{display:inline-block;width:5px;height:5px;border-radius:50%;background:#ffffff80;animation:chatbot-bounce 1.2s infinite ease-in-out}.chatbot-typing span:nth-child(1){animation-delay:0s}.chatbot-typing span:nth-child(2){animation-delay:.2s}.chatbot-typing span:nth-child(3){animation-delay:.4s}@keyframes chatbot-bounce{0%,80%,to{transform:translateY(0);opacity:.4}40%{transform:translateY(-6px);opacity:1}}.chatbot-input-row{display:flex;gap:0;max-width:760px;margin-top:0}.chatbot-input{flex:1;background:#ffffff12;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.2);border-right:none;color:var(--white);font-family:var(--font-ui);font-size:.9rem;font-weight:300;padding:.85rem 1rem;outline:none;transition:border-color .2s}.chatbot-input::placeholder{color:#ffffff59;letter-spacing:.05em}.chatbot-input:focus{border-color:#ffffff80}.chatbot-input:disabled{opacity:.5}.chatbot-send{background:#ffffff14;border:1px solid rgba(255,255,255,.2);color:var(--white);font-size:1.2rem;padding:0 1.25rem;cursor:pointer;transition:background .2s,opacity .2s;line-height:1}.chatbot-send:hover:not(:disabled){background:#ffffff26}.chatbot-send:disabled{opacity:.3;cursor:default}@media (max-width: 768px){.story-grid{grid-template-columns:1fr}.home-section,.home-chatbot-section{padding:4rem 1.5rem}.chatbot-window{height:320px}.chatbot-bubble{max-width:95%}}.page-wrapper{position:relative;min-height:100vh;overflow:hidden}.page-bg{position:fixed;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;filter:blur(18px) brightness(.5);transform:scale(1.05);z-index:0}.page-bg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#00000059}.page-content{position:relative;z-index:1;padding:8rem 3rem 3rem;color:var(--white)}.page-content h1{font-family:var(--font-display);font-weight:300;font-size:3rem;letter-spacing:.08em}.page-header{max-width:1200px;margin:0 auto 3.5rem}.page-header h1{font-family:var(--font-display);font-weight:300;font-size:clamp(2.5rem,5vw,4rem);letter-spacing:.08em;margin-bottom:.75rem}.page-header-sub{font-family:var(--font-ui);font-size:.85rem;font-weight:300;letter-spacing:.35em;text-transform:uppercase;opacity:.55}.block-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:1200px;margin:0 auto;padding-bottom:6rem;align-items:start}.content-block{background:#ffffff0f;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.12);padding:2rem 2rem 2.25rem;display:flex;flex-direction:column;gap:.85rem;transition:background .3s ease,border-color .3s ease,box-shadow .3s ease}.content-block:hover{background:#ffffff21;border-color:#ffffff73;box-shadow:0 0 18px #ffffff1f,0 0 40px #c8d2ff14}.content-block--full{grid-column:span 3}.content-block--wide{grid-column:span 2}.content-block--half,.content-block--third{grid-column:span 1}.content-block--photo{padding:0;overflow:hidden;min-height:320px;position:relative}.block-photo{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:transform .5s ease}.content-block--photo:hover .block-photo{transform:scale(1.03)}.block-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(0,0,0,.72) 0%,rgba(0,0,0,.2) 50%,transparent 100%);display:flex;flex-direction:column;justify-content:flex-end;gap:.6rem;padding:1.5rem 1.75rem;z-index:1}.block-text{display:flex;flex-direction:column;gap:.85rem}.block-label{font-family:var(--font-ui);font-size:.65rem;font-weight:300;letter-spacing:.4em;text-transform:uppercase;opacity:.55;display:block}.block-heading{font-family:var(--font-display);font-weight:300;font-size:clamp(1.15rem,2vw,1.6rem);letter-spacing:.04em;line-height:1.25;margin:0}.content-block--full .block-heading{font-size:clamp(1.75rem,3vw,2.5rem)}.block-body{font-family:var(--font-ui);font-size:.9rem;font-weight:300;line-height:1.8;opacity:.8;margin:0}.block-tags{list-style:none;padding:0;margin:.25rem 0 0;display:flex;flex-wrap:wrap;gap:.5rem}.block-tag{font-family:var(--font-ui);font-size:.7rem;font-weight:300;letter-spacing:.2em;text-transform:uppercase;padding:.3rem .75rem;border:1px solid rgba(255,255,255,.25);opacity:.75}.block-link{display:inline-block;margin-top:.5rem;color:var(--white);text-decoration:none;font-family:var(--font-ui);font-size:.75rem;font-weight:300;letter-spacing:.25em;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.4);padding-bottom:2px;align-self:flex-start;transition:opacity .2s}.block-link:hover{opacity:.6}.contact-card{max-width:1200px;margin:2.5rem auto 6rem;background:#ffffff0f;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.12);padding:2.5rem 2.5rem 3rem;transition:background .3s ease,border-color .3s ease,box-shadow .3s ease}.contact-card:hover{background:#ffffff21;border-color:#ffffff73;box-shadow:0 0 18px #ffffff1f,0 0 40px #c8d2ff14}.contact-field{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.25rem}.contact-label{font-family:var(--font-ui);font-size:.65rem;font-weight:300;letter-spacing:.4em;text-transform:uppercase;opacity:.55}.contact-input{background:#ffffff0f;border:1px solid rgba(255,255,255,.18);color:var(--white);font-family:var(--font-ui);font-size:.9rem;font-weight:300;padding:.8rem 1rem;outline:none;width:100%;transition:border-color .2s;box-sizing:border-box}.contact-input::placeholder{color:#ffffff4d;letter-spacing:.05em}.contact-input:focus{border-color:#ffffff80}.contact-input:disabled{opacity:.45}.contact-textarea{resize:vertical;min-height:220px}.contact-submit{margin-top:.5rem;background:none;border:1px solid rgba(255,255,255,.45);color:var(--white);font-family:var(--font-ui);font-size:.75rem;font-weight:300;letter-spacing:.3em;padding:.75rem 2rem;cursor:pointer;transition:background .2s,opacity .2s}.contact-submit:hover:not(:disabled){background:#ffffff1a}.contact-submit:disabled{opacity:.4;cursor:default}.contact-error{font-family:var(--font-ui);font-size:.82rem;font-weight:300;color:#ffa0a0e6;margin-bottom:.75rem}.contact-success-wrap{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1rem 0;text-align:center}.contact-success-icon{font-size:1.5rem;opacity:.6}.contact-success-msg{font-family:var(--font-ui);font-size:1rem;font-weight:300;letter-spacing:.08em;opacity:.85}@media (max-width: 1024px){.block-grid{grid-template-columns:repeat(2,1fr)}.content-block--full,.content-block--wide{grid-column:span 2}}@media (max-width: 768px){.page-bg{filter:blur(12px)}.page-content{padding:6rem 1.5rem 2rem}.block-grid{grid-template-columns:1fr;gap:1rem}.content-block--full,.content-block--wide,.content-block--half,.content-block--third{grid-column:span 1}}
