*{box-sizing:border-box;margin:0;padding:0}:root{--font-geist-sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-geist-mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace}html{scroll-behavior:smooth}body{color:#111;font-family:var(--font-geist-sans), system-ui, sans-serif;background:#f6f5f2;flex-direction:column;min-height:100vh;display:flex}#main-content{flex:1}img{max-width:100%;height:auto}a:focus-visible,button:focus-visible{outline-offset:3px;outline:2px solid #111}.skip-link{z-index:200;color:#fff;background:#111;padding:12px 20px;font-size:.9rem;text-decoration:none;position:absolute;top:-100%;left:16px}.skip-link:focus{top:16px}.site-header{z-index:100;position:relative}.navbar{justify-content:space-between;align-items:center;padding:30px 80px;display:flex}.logo-link{align-items:center;text-decoration:none;display:flex}.nav-links{gap:40px;display:flex}.nav-links a{color:#111;letter-spacing:.02em;font-size:.95rem;text-decoration:none;transition:opacity .2s}.nav-links a:hover,.nav-links a.nav-link-active{opacity:.55}.mobile-menu-btn{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:40px;height:40px;display:none}.mobile-menu-icon{background:#111;width:22px;height:2px;display:block;position:relative}.mobile-menu-icon:before,.mobile-menu-icon:after{content:"";background:#111;width:22px;height:2px;position:absolute;left:0}.mobile-menu-icon:before{top:-7px}.mobile-menu-icon:after{top:7px}.mobile-nav{background:#f6f5f2;border-top:1px solid #00000014;max-height:0;padding:0 20px;transition:max-height .3s,padding .3s;display:none;overflow:hidden}.mobile-nav-open{max-height:320px;padding:20px}.mobile-nav-links{flex-direction:column;gap:20px;display:flex}.mobile-nav-links a{color:#111;font-size:1.1rem;text-decoration:none;transition:opacity .2s}.mobile-nav-links a:hover,.mobile-nav-links a.nav-link-active{opacity:.55}.hero{grid-template-columns:1fr 1fr;align-items:center;gap:60px;min-height:90vh;padding:80px;display:grid}.subtitle{text-transform:uppercase;letter-spacing:3px;font-size:.8rem}.hero h1{margin:20px 0;font-family:Georgia,Times New Roman,serif;font-size:6rem;font-weight:300;line-height:.95}.hero p{max-width:500px;line-height:1.8}.hero-image img{aspect-ratio:3/2;object-fit:cover;width:100%;height:auto}.hero-buttons{flex-wrap:wrap;gap:20px;margin-top:30px;display:flex}.primary-btn,.secondary-btn{padding:14px 24px;text-decoration:none;transition:background .2s,color .2s,transform .2s;display:inline-block}.primary-btn{color:#fff;background:#111}.primary-btn:hover{background:#333}.secondary-btn{color:#111;border:1px solid #111}.secondary-btn:hover{color:#fff;background:#111}.gallery-section{padding:120px 80px}.gallery-section h2{margin-bottom:50px;font-family:Georgia,Times New Roman,serif;font-size:4rem;font-weight:300}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:30px;display:grid}.gallery-item{aspect-ratio:4/5;overflow:hidden}.gallery-item img{object-fit:cover;width:100%;height:100%;transition:transform .4s}.gallery-item:hover img{transform:scale(1.03)}.about-section{grid-template-columns:1fr 1fr;gap:50px;padding:120px 80px;display:grid}.about-section h2{font-family:Georgia,Times New Roman,serif;font-size:4rem;font-weight:300}.about-section p{line-height:2}.services-section{padding:120px 80px}.services-section h2{margin-bottom:50px;font-family:Georgia,Times New Roman,serif;font-size:4rem;font-weight:300}.services-grid{grid-template-columns:repeat(3,1fr);gap:30px;display:grid}.service-card{color:inherit;background:#fff;padding:40px;text-decoration:none;transition:transform .2s,box-shadow .2s}.service-card-link:hover{transform:translateY(-4px);box-shadow:0 12px 32px #00000014}.service-card h3{margin-bottom:20px;font-family:Georgia,Times New Roman,serif;font-weight:400}.service-card span{margin-top:20px;font-weight:700;display:block}.contact-section{text-align:center;padding:140px 20px}.contact-section h2{margin-bottom:20px;font-family:Georgia,Times New Roman,serif;font-size:5rem;font-weight:300}.contact-section p{max-width:560px;margin-bottom:30px;margin-left:auto;margin-right:auto;line-height:1.8}.contact-actions{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.footer{text-align:center;border-top:1px solid #00000014;padding:80px 20px 60px}.footer-brand{letter-spacing:.05em;margin-bottom:24px;font-family:Georgia,Times New Roman,serif;font-size:3rem;font-weight:300}.footer-nav{flex-wrap:wrap;justify-content:center;gap:20px 32px;margin-bottom:24px;display:flex}.footer-nav a,.footer-email,.footer-social{color:#111;font-size:.9rem;text-decoration:none;transition:opacity .2s}.footer-nav a:hover,.footer-email:hover,.footer-social:hover{opacity:.55}.footer-email{margin-bottom:16px;display:block}.footer-copy{color:#555;margin-top:24px;font-size:.85rem}.page-hero{margin-bottom:60px}.page-hero h1{margin-bottom:20px;font-family:Georgia,Times New Roman,serif;font-size:5rem;font-weight:300;line-height:1}.page-hero p{color:#333;max-width:640px;line-height:1.8}.contact-page,.legal-page,.not-found-page{max-width:1100px;margin:0 auto;padding:80px}.contact-grid{grid-template-columns:repeat(2,1fr);gap:30px;margin-bottom:60px;display:grid}.contact-card{background:#fff;flex-direction:column;gap:16px;padding:40px;display:flex}.contact-card h2{font-family:Georgia,Times New Roman,serif;font-size:1.5rem;font-weight:400}.contact-card p{flex:1;line-height:1.7}.contact-direct{text-align:center;padding:40px 0}.contact-email{color:#111;margin:12px 0 20px;font-size:1.2rem;text-decoration:none;transition:opacity .2s;display:inline-block}.contact-email:hover{opacity:.55}.contact-note{color:#555;font-size:.95rem}.contact-note a{color:#111}.legal-content{max-width:720px}.legal-content h2{margin:40px 0 12px;font-family:Georgia,Times New Roman,serif;font-size:1.4rem;font-weight:400}.legal-content h2:first-child{margin-top:0}.legal-content p{color:#333;margin-bottom:12px;line-height:1.8}.legal-content a{color:#111}.not-found-actions{flex-wrap:wrap;gap:16px;display:flex}.portfolio-page{padding:80px}.portfolio-hero{margin-bottom:80px}.portfolio-hero h1{margin-bottom:20px;font-family:Georgia,Times New Roman,serif;font-size:6rem;font-weight:300}.portfolio-hero p{max-width:600px;line-height:2}.portfolio-grid{grid-template-columns:repeat(3,1fr);gap:44px 28px;display:grid}.portfolio-image-wrap{aspect-ratio:4/5;background:#ebe9e4;overflow:hidden}.portfolio-image-wrap img{object-fit:cover;width:100%;height:100%;transition:transform .4s}.portfolio-item:hover .portfolio-image-wrap img{transform:scale(1.03)}.portfolio-item h2{margin-top:14px;font-family:Georgia,Times New Roman,serif;font-size:1.25rem;font-weight:400}.booking-page{padding:80px}.booking-hero{margin-bottom:80px}.booking-hero h1{margin-bottom:20px;font-family:Georgia,Times New Roman,serif;font-size:6rem;font-weight:300}.booking-hero p{max-width:600px;line-height:2}.booking-grid{grid-template-columns:repeat(3,1fr);gap:30px;display:grid}.booking-card{background:#fff;flex-direction:column;padding:50px;transition:transform .2s,box-shadow .2s;display:flex}.booking-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #00000014}.booking-card h2{margin-bottom:20px;font-family:Georgia,Times New Roman,serif;font-weight:400}.booking-card p{margin-bottom:20px}.booking-card span{margin-bottom:30px;font-size:1.3rem;font-weight:700}.booking-btn{color:#fff;text-align:center;background:#111;margin-top:auto;padding:14px 20px;text-decoration:none;transition:background .2s}.booking-btn:hover{background:#333}@media (max-width:900px){.navbar{padding:20px}.nav-links{display:none}.mobile-menu-btn{display:flex}.mobile-nav{display:block}.hero{grid-template-columns:1fr;min-height:auto;padding:40px 20px}.hero h1{font-size:4rem}.gallery-grid,.about-section,.services-grid{grid-template-columns:1fr}.gallery-section,.about-section,.services-section{padding:80px 20px}.contact-section h2{font-size:3rem}.portfolio-page,.booking-page,.contact-page,.legal-page,.not-found-page{padding:60px 20px}.portfolio-grid{grid-template-columns:repeat(2,1fr);gap:32px 20px}.portfolio-hero{margin-bottom:48px}.portfolio-hero h1,.booking-hero h1{font-size:4rem}.booking-grid,.contact-grid{grid-template-columns:1fr}}@media (max-width:600px){.portfolio-grid{grid-template-columns:1fr}.portfolio-item h2{font-size:1.35rem}.page-hero h1{font-size:3.5rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.gallery-item:hover img,.portfolio-item:hover .portfolio-image-wrap img{transform:none}}
