:root{--color-bg:#F9F8F6;--color-surface:#FFFFFF;--color-surface-dim:#F0EFEA;--color-text:#1C1917;--color-text-muted:#57534E;--color-text-light:#A8A29E;--color-accent:#9b6c50;--color-accent-hover:#7F5841;--color-border:#E7E5E4;--font-heading:'Cormorant Garamond',serif;--font-sans:'Inter',sans-serif;--font-accent:'Pinyon Script',cursive;--max-width:1400px;--spacing-xs:0.5rem;--spacing-sm:1rem;--spacing-md:2rem;--spacing-lg:4rem;--spacing-xl:8rem;--radius-sm:4px;--radius-md:8px;--radius-lg:16px;--shadow-soft:0 10px 40px -10px rgba(0,0,0,0.06);--shadow-float:0 20px 40px -10px rgba(0,0,0,0.12);--transition-smooth:opacity 0.6s cubic-bezier(0.16,1,0.3,1),transform 0.6s cubic-bezier(0.16,1,0.3,1);--transition-fast:opacity 0.3s ease,transform 0.3s ease,background-color 0.3s ease,color 0.3s ease,border-color 0.3s ease;} *,*::before,*::after{box-sizing:border-box;margin:0;padding:0;} html{scroll-behavior:smooth;font-size:16px;} body{font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-text);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;} h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:400;line-height:1.1;color:var(--color-text);margin-bottom:var(--spacing-sm);} h1{font-size:clamp(3rem,6vw,6rem);letter-spacing:-0.02em;} h2{font-size:clamp(2rem,4vw,3.5rem);letter-spacing:-0.01em;} h3{font-size:clamp(1.5rem,2vw,2rem);} p{margin-bottom:var(--spacing-md);font-size:1.125rem;color:var(--color-text-muted);font-weight:300;} a{color:inherit;text-decoration:none;transition:var(--transition-fast);} .font-script{font-family:var(--font-accent);color:var(--color-accent);} .navbar-modern{position:fixed;top:0;left:0;width:100%;z-index:1000;background:rgba(249,248,246,0.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(231,229,228,0.5);padding:1rem 0;transition:var(--transition-smooth);} .navbar-modern .nav-container{max-width:var(--max-width);margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center;} .logo-modern{font-family:var(--font-heading);font-size:1.5rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--color-accent);} .nav-links-modern{display:flex;gap:3rem;list-style:none;} .nav-links-modern a{font-size:0.85rem;text-transform:uppercase;letter-spacing:1.5px;font-weight:300;color:var(--color-text);position:relative;padding-bottom:4px;} .nav-links-modern a::after{content:'';position:absolute;bottom:0;left:0;width:0%;height:1px;background-color:var(--color-text);transition:var(--transition-smooth);} .nav-links-modern a:hover::after,.nav-links-modern a.active::after{width:100%;} .hero-modern{height:100vh;display:flex;padding-top:80px;} .hero-half{flex:1;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;cursor:pointer;} .hero-half::before{content:'';position:absolute;inset:0;background:rgba(0,0,0,0.15);z-index:1;transition:var(--transition-smooth);} .hero-half:hover::before{background:rgba(0,0,0,0.4);} .hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;transition:transform 1.2s cubic-bezier(0.16,1,0.3,1);} .hero-half:hover .hero-image{transform:scale(1.05);} .hero-content{position:relative;z-index:2;text-align:center;color:white;padding:2rem;} .hero-content h1{color:white;margin-bottom:0.5rem;text-shadow:0 4px 12px rgba(0,0,0,0.2);} .hero-content p{color:rgba(255,255,255,0.9);font-size:1.25rem;letter-spacing:1px;} .hero-btn{display:inline-block;margin-top:2rem;padding:1rem 3rem;border:1px solid white;color:white;background:transparent;font-size:0.85rem;text-transform:uppercase;letter-spacing:2px;backdrop-filter:blur(4px);transition:var(--transition-fast);opacity:0;transform:translateY(20px);} .hero-half:hover .hero-btn{opacity:1;transform:translateY(0);} .hero-btn:hover{background:white;color:var(--color-text);} .section{padding:var(--spacing-xl) 2rem;max-width:var(--max-width);margin:0 auto;} .section-header{text-align:center;max-width:800px;margin:0 auto var(--spacing-xl);} .section-header .subtitle{font-family:var(--font-sans);font-size:0.85rem;text-transform:uppercase;letter-spacing:2px;color:var(--color-accent);margin-bottom:1rem;display:block;} .bento-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:minmax(300px,auto);gap:1.5rem;} .bento-item{position:relative;border-radius:var(--radius-sm);overflow:hidden;background:var(--color-border);} .bento-item img{width:100%;height:100%;object-fit:cover;transition:var(--transition-smooth);} .bento-item:hover img{transform:scale(1.04);} .bento-content{position:absolute;bottom:0;left:0;right:0;padding:2rem;background:linear-gradient(to top,rgba(0,0,0,0.8),transparent);color:white;} .bento-content h3{color:white;font-size:2rem;margin-bottom:0.5rem;} .bento-item.large{grid-column:span 8;grid-row:span 2;} .bento-item.medium{grid-column:span 4;grid-row:span 2;} .bento-item.wide{grid-column:span 12;grid-row:span 1;} .bento-item.small{grid-column:span 4;grid-row:span 1;} .footer-modern{background-color:var(--color-surface);border-top:1px solid var(--color-border);padding:var(--spacing-lg) 2rem 2rem;margin-top:var(--spacing-xl);} .footer-modern .container{max-width:var(--max-width);margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:3rem;margin-bottom:var(--spacing-lg);} .footer-modern h3{font-size:1.25rem;margin-bottom:1.5rem;} .footer-modern ul{list-style:none;} .footer-modern li{margin-bottom:0.75rem;} .footer-modern a{color:var(--color-text-muted);font-size:0.95rem;} .footer-modern a:hover{color:var(--color-accent);} .footer-modern .bottom{text-align:center;border-top:1px solid var(--color-border);padding-top:2rem;color:var(--color-text-light);font-size:0.85rem;} .sub-navbar-modern{--sub-nav-height:54px;--sub-nav-orange:rgba(255,160,0,0.4);position:sticky;top:62px;z-index:990;margin-top:62px;height:var(--sub-nav-height);width:100%;background:linear-gradient(to top,var(--sub-nav-orange),rgba(255,200,0,0.1),transparent);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);display:flex;align-items:center;justify-content:center;border:none;} .sub-navbar-modern .sub-nav-links{display:flex;align-items:center;justify-content:center;gap:3.5rem;padding:0 2rem;margin:0 auto;max-width:var(--max-width);height:100%;list-style:none;} .sub-navbar-modern a{font-family:var(--font-sans);font-size:0.85rem;font-weight:300;color:var(--color-text);text-transform:uppercase;letter-spacing:1.5px;text-decoration:none;height:100%;display:flex;align-items:center;justify-content:center;position:relative;transition:color 0.3s ease;} .sub-navbar-modern a::after{content:'';position:absolute;bottom:0;left:0;width:0%;height:2px;background-color:var(--color-accent);transition:width 0.3s ease;} .sub-navbar-modern a:hover::after,.sub-navbar-modern a.active::after{width:100%;} .sub-navbar-modern a:hover,.sub-navbar-modern a.active{color:var(--color-accent);} .sub-navbar-modern a:hover,.sub-navbar-modern a.active{color:var(--color-accent);} .navbar-modern{position:fixed;top:0;left:0;width:100%;z-index:1000;background:rgba(249,248,246,0.95);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(231,229,228,0.5);padding:0.8rem 0;transition:var(--transition-smooth);box-shadow:0 2px 10px rgba(0,0,0,0.05);} .page-header{background-color:var(--color-bg);min-height:50vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:6rem 2rem 4rem;position:relative;border-bottom:1px solid var(--color-border);margin-top:56px;} .sub-navbar-modern+.page-header{margin-top:0;} .cta-modern{padding:8rem 2rem;text-align:center;background:linear-gradient(rgba(0,0,0,0.65),rgba(0,0,0,0.65)),url('../images/cta_background.webp');background-size:cover;background-position:center;background-attachment:fixed;color:white;position:relative;border:none;} .cta-modern .container{max-width:800px;margin:0 auto;} .cta-modern .cta-subtitle{display:block;font-size:1.8rem;color:var(--color-accent);margin-bottom:1rem;} .cta-modern h2{font-family:var(--font-heading);font-size:clamp(2.5rem,5vw,4rem);margin-bottom:1.5rem;font-weight:300;text-transform:none;color:#ffffff;} .cta-modern p{font-size:1.1rem;line-height:1.8;margin-bottom:3rem;color:#ffffff;opacity:1;max-width:600px;margin-inline:auto;} .btn-cta-premium{display:inline-block;padding:1.2rem 3.5rem;background-color:var(--color-accent);color:white;text-transform:uppercase;letter-spacing:3px;font-size:0.85rem;font-weight:600;transition:all 0.5s cubic-bezier(0.4,0,0.2,1);border:1px solid var(--color-accent);position:relative;z-index:1;overflow:hidden;} .btn-cta-premium:hover{background-color:transparent;color:white;letter-spacing:5px;} .hero-content{position:relative;z-index:2;padding:2rem;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;width:100%;min-height:250px;contain:layout paint;} .hero-content h1{font-size:clamp(3rem,6vw,6rem);color:var(--color-text-light);margin-bottom:0.5rem;line-height:1.1;letter-spacing:0.05em;font-weight:300;text-shadow:0 4px 12px rgba(0,0,0,0.5);min-height:1.2em;} .hero-content .font-script{font-size:clamp(2rem,4vw,3.5rem);color:var(--color-primary);margin-bottom:3rem;text-shadow:0 2px 8px rgba(0,0,0,0.4);min-height:1.5em;} .page-header h1{font-size:clamp(3rem,6vw,5rem);margin-bottom:0.5rem;line-height:1.1;color:#ffffff !important;text-shadow:2px 2px 4px rgba(0,0,0,0.5);} .page-header p.font-script{font-size:clamp(2rem,4vw,3rem);color:#ffffff !important;text-shadow:1px 1px 3px rgba(0,0,0,0.5);} .page-header-image{background-size:cover;background-position:center;position:relative;color:white;border-bottom:none;} .page-header-image::before{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,0.3) 0%,rgba(0,0,0,0.6) 100%);z-index:1;} .page-header-image .header-content{position:relative;z-index:2;max-width:800px;margin:0 auto;} .page-header-image h1{text-shadow:0 2px 10px rgba(0,0,0,0.5);color:white;} .gallery-modern{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:var(--max-width);margin:0 auto var(--spacing-xl);padding:0 2rem;} .gallery-modern img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-sm);transition:var(--transition-smooth);} .gallery-modern img:hover{transform:scale(1.03);box-shadow:var(--shadow-float);} .feature-split-modern{display:flex;align-items:center;gap:4rem;max-width:var(--max-width);margin:0 auto var(--spacing-xl);padding:0 2rem;} .feature-split-modern.reverse{flex-direction:row-reverse;} .feature-image-modern{flex:1;border-radius:var(--radius-md);overflow:hidden;} .feature-image-modern img{width:100%;aspect-ratio:4/5;object-fit:cover;} .feature-text-modern{flex:1;} @media (max-width:900px){.gallery-modern{grid-template-columns:repeat(2,1fr);} .feature-split-modern{flex-direction:column;gap:2rem;} .feature-split-modern.reverse{flex-direction:column;} } @media (max-width:600px){.gallery-modern{grid-template-columns:1fr;} } .journal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:3rem;max-width:var(--max-width);margin:var(--spacing-lg) auto;padding:0 2rem;} .journal-card{display:flex;flex-direction:column;padding:2.5rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:var(--transition-smooth);text-decoration:none;color:inherit;height:100%;} .journal-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-float);border-color:var(--color-accent);} .card-meta{font-size:0.75rem;text-transform:uppercase;letter-spacing:2px;color:var(--color-accent);margin-bottom:1rem;} .card-title{font-family:var(--font-heading);font-size:1.8rem;line-height:1.2;margin-bottom:1.5rem;color:var(--color-text);} .card-excerpt{font-size:1rem;color:var(--color-text-muted);margin-bottom:2rem;flex-grow:1;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;} .journal-card .read-more-link{font-size:0.8rem;text-transform:uppercase;letter-spacing:1px;font-weight:600;color:var(--color-text);border-bottom:1px solid var(--color-accent);padding-bottom:4px;align-self:flex-start;} .reveal{opacity:0;transform:translateY(30px);transition:var(--transition-smooth);} .reveal.active{opacity:1;transform:translateY(0);} @media (max-width:900px){.nav-links-modern{display:none;} .hero-modern{flex-direction:column;} .bento-item.large,.bento-item.medium,.bento-item.wide,.bento-item.small{grid-column:span 12;} h1{font-size:2.5rem;} h2{font-size:2rem;} } .marquee-wrapper{width:100%;overflow:hidden;position:relative;mask-image:linear-gradient(to right,transparent,black 10%,black 90%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,black 10%,black 90%,transparent);} .marquee-track{display:flex;gap:3rem;width:max-content;animation:marqueeScroll 35s linear infinite;padding:1rem 0;} .marquee-wrapper:hover .marquee-track{animation-play-state:paused;} .marquee-review{width:450px;flex-shrink:0;} .chat-bubble-container{display:flex;align-items:flex-end;gap:1rem;text-align:left;} .chat-avatar{width:45px;height:45px;border-radius:50%;background-color:var(--color-accent);color:white;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;flex-shrink:0;box-shadow:0 4px 10px rgba(0,0,0,0.3);font-family:var(--font-heading);} .chat-content{display:flex;flex-direction:column;} .chat-bubble{background-color:rgba(255,255,255,0.95);padding:1.2rem 1.5rem;border-radius:20px 20px 20px 0;box-shadow:0 8px 20px rgba(0,0,0,0.15);margin-bottom:0.5rem;position:relative;border:1px solid rgba(255,255,255,0.2);backdrop-filter:blur(10px);} .chat-bubble p{font-family:var(--font-body);font-size:1.05rem !important;line-height:1.5 !important;color:#333 !important;margin:0 !important;font-style:normal !important;} .chat-bubble::before{content:'';position:absolute;bottom:0;left:-10px;width:20px;height:20px;background-color:rgba(255,255,255,0.95);clip-path:polygon(100% 0,100% 100%,0 100%);border-bottom-left-radius:5px;} .chat-content > span{font-size:0.9rem;color:rgba(255,255,255,0.9);text-transform:uppercase;letter-spacing:2px;padding-left:0.5rem;font-weight:600;text-shadow:0 2px 4px rgba(0,0,0,0.3);} @keyframes marqueeScroll{0%{transform:translateX(0);} 100%{transform:translateX(-50%);} } @media (max-width:600px){.marquee-review{width:320px;} .chat-bubble p{font-size:0.95rem !important;} }
html, body { overflow-x: hidden; overflow-y: auto; }
