:root{--ink: #1a1918;--text: #2c2a29;--muted: #5a5450;--soft-muted: #7a7572;--sand: #faf5f0;--cream: #fdfbf7;--line: #eedcc5;--accent: #d4a373;--accent-dark: #c29262;--footer: #2c2a29;--footer-line: #3d3a38;--footer-text: #a39e9b;--white: #ffffff;--font-serif: "Playfair Display", Georgia, serif;--font-sans: "Plus Jakarta Sans", system-ui, sans-serif}*{box-sizing:border-box;letter-spacing:0}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,a{cursor:pointer}.site-shell{min-height:100vh;background:var(--cream)}.container{width:min(100% - 32px,1280px);margin:0 auto}.narrow-container{max-width:1024px;text-align:center}.top-bar{background:var(--ink);color:var(--sand);font-size:12px;padding:8px 16px;border-bottom:1px solid rgb(212 163 115 / 20%)}.top-bar-inner{max-width:1280px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.top-bar-links{display:flex;flex-wrap:wrap;gap:20px}.top-bar a{display:inline-flex;align-items:center;gap:6px}.site-header{position:sticky;top:0;z-index:50;background:#fdfbf7e5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgb(238 220 197 / 30%)}.header-inner{width:min(100% - 32px,1280px);height:80px;margin:0 auto;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;min-width:0}.brand-mark{width:40px;height:40px;flex:0 0 auto;display:grid;place-items:center;border-radius:999px;background:var(--accent);color:var(--white);box-shadow:0 4px 6px #0000001f}.brand-mark-small{width:32px;height:32px}.brand-name{display:block;font-family:var(--font-serif);font-weight:700;color:var(--ink);font-size:clamp(24px,3.5vw,38px);line-height:1}.brand-name-inverted{color:var(--white);font-size:20px}.brand-name span{color:var(--accent)}.brand-tagline{margin:-2px 0 0;color:var(--soft-muted);font-size:10px;font-weight:700;text-transform:uppercase}.desktop-nav{display:flex;align-items:center;gap:32px}.desktop-nav a{color:var(--muted);font-size:15px;font-weight:600;transition:color .16s ease}.desktop-nav a:hover{color:var(--accent)}.desktop-nav .nav-booking{padding:8px 24px;border-radius:999px;background:var(--accent);color:var(--white);box-shadow:0 1px 3px #0000001a;transition:background .16s ease,transform .16s ease}.desktop-nav .nav-booking:hover{background:var(--accent-dark);color:var(--white)}.desktop-nav .nav-booking:active,.button-link:active,.pricing-cta:active{transform:scale(.97)}.mobile-menu-button{display:none;border:0;background:transparent;color:var(--text);padding:8px}.mobile-menu-button:hover{color:var(--accent)}.mobile-nav{display:none;background:var(--cream);border-bottom:1px solid rgb(238 220 197 / 30%);padding:8px 16px 24px;box-shadow:inset 0 2px 8px #00000008}.mobile-nav a,.mobile-nav button{display:block;width:100%;border:0;border-radius:8px;background:transparent;color:var(--muted);padding:10px 12px;text-align:left;font-size:16px;font-weight:600}.mobile-nav a:hover{background:#eedcc533;color:var(--accent)}.mobile-nav button{margin-top:8px;background:var(--accent);color:var(--white);text-align:center;border-radius:999px;padding:12px;box-shadow:0 1px 3px #0000001a}.booking-notice{position:fixed;right:20px;bottom:20px;z-index:70;max-width:420px;display:flex;align-items:flex-start;gap:12px;padding:16px;background:var(--white);border-left:4px solid var(--accent);border-radius:8px;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;animation:notice-bounce 1s ease infinite}.booking-notice svg{flex:0 0 auto;color:var(--accent);margin-top:2px}.booking-notice h4{margin:0;color:var(--ink);font-family:var(--font-serif);font-weight:700}.booking-notice p{margin:4px 0 0;color:var(--muted);font-size:14px}.hero-section{overflow:hidden;padding:48px 0 96px;background:linear-gradient(to bottom,var(--sand),var(--cream))}.hero-grid,.split-grid,.about-grid{display:grid;grid-template-columns:repeat(12,1fr);align-items:center;gap:48px}.hero-copy,.split-copy{grid-column:span 6}.hero-copy{text-align:left}.location-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 16px;border-radius:999px;background:#eedcc566;color:#8c6e50;font-size:12px;font-weight:700;text-transform:uppercase}.hero-copy h1{margin:24px 0 0;color:var(--ink);font-family:var(--font-serif);font-size:clamp(40px,6vw,60px);line-height:1.15;font-weight:700}.hero-copy h1 span,.split-copy h2 span{color:var(--accent);font-style:italic}.hero-copy p{max-width:672px;margin:24px 0 0;color:var(--muted);font-size:20px;line-height:1.625}.hero-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:24px}.button-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:14px 32px;border-radius:999px;font-weight:700;transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease}.button-link-primary{background:var(--accent);color:var(--white);box-shadow:0 4px 6px #0000001a}.button-link-primary:hover{background:var(--accent-dark)}.button-link-outline{border:1px solid rgb(212 163 115 / 40%);color:var(--muted);background:transparent}.button-link-outline:hover{background:#eedcc533}.button-link-secondary{background:var(--footer);color:var(--white)}.button-link-secondary:hover{background:var(--ink)}.button-link-light{background:var(--white);color:var(--accent);box-shadow:0 10px 15px -3px #0000001a}.button-link-light:hover{background:var(--sand)}.inline-button{width:fit-content}.centered-button{margin-left:auto;margin-right:auto}.hero-stats{max-width:448px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:32px;padding-top:24px;border-top:1px solid rgb(238 220 197 / 30%)}.hero-stats div{display:flex;flex-direction:column}.hero-stats span{color:var(--accent);font-family:var(--font-serif);font-size:24px;font-weight:700}.hero-stats small{color:var(--soft-muted);font-size:12px;font-weight:700;text-transform:uppercase}.hero-media,.split-media{grid-column:span 6;position:relative}.image-glow{position:absolute;inset:-4px;border-radius:40px;background:linear-gradient(45deg,var(--accent),var(--line));filter:blur(16px);opacity:.3;transform:rotate(1deg)}.image-glow-soft{opacity:.2;transform:rotate(-1deg)}.framed-image{position:relative;overflow:hidden;border:4px solid var(--white);border-radius:40px;box-shadow:0 25px 50px -12px #00000040}.framed-image img{width:100%;height:450px;object-fit:cover;transition:transform .7s ease}.framed-image-large img{height:550px}.framed-image:hover img{transform:scale(1.03)}.white-section,.warm-section{padding:80px 0}.white-section{background:var(--white)}.warm-section{background:var(--sand);border-top:1px solid rgb(238 220 197 / 20%);border-bottom:1px solid rgb(238 220 197 / 20%)}.section-heading{max-width:768px;margin-bottom:64px}.section-heading-centered{margin-left:auto;margin-right:auto;text-align:center}.eyebrow,.section-heading .eyebrow{display:block;color:var(--accent);font-size:12px;font-weight:800;text-transform:uppercase}.section-heading h2,.split-copy h2,.about-copy h2,.faq-section h2,.contact-section h2,.booking-cta h2{margin:8px 0 0;color:var(--ink);font-family:var(--font-serif);font-size:clamp(32px,4vw,40px);line-height:1.2;font-weight:700}.heading-rule{width:80px;height:4px;margin:16px 0;border-radius:999px;background:var(--accent)}.section-heading-centered .heading-rule{margin-left:auto;margin-right:auto}.section-heading p,.split-copy p,.about-copy p{color:var(--muted);font-size:17px;line-height:1.625}.service-grid,.pricing-grid,.step-grid{display:grid;gap:32px}.service-grid{grid-template-columns:repeat(3,1fr)}.service-card{background:var(--cream);border:1px solid rgb(238 220 197 / 30%);border-radius:16px;padding:32px;box-shadow:0 1px 2px #0000000d;transition:box-shadow .22s ease,transform .22s ease}.service-card:hover{box-shadow:0 20px 25px -5px #0000001a;transform:translateY(-2px)}.service-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:12px;background:#eedcc566;color:var(--accent);font-size:20px;font-weight:700;transition:background .18s ease,color .18s ease}.service-card:hover .service-icon{background:var(--accent);color:var(--white)}.service-card h3{margin:20px 0 0;color:var(--ink);font-family:var(--font-serif);font-size:24px;font-weight:700}.service-card p{color:var(--muted);line-height:1.625}.service-card ul{display:grid;gap:8px;padding:8px 0 0;margin:0;list-style:none;color:var(--muted);font-size:14px}.service-card li,.feature-row,.about-checks div,.footer-contact li{display:flex;align-items:center;gap:8px}.service-card svg,.about-checks svg{flex:0 0 auto;color:var(--accent)}.split-media{order:-1}.split-copy h2,.about-copy h2{margin-top:8px}.feature-list{display:grid;gap:16px;margin:8px 0 24px}.feature-row{align-items:flex-start;gap:12px}.feature-row>div:first-child{margin-top:4px;padding:6px;border-radius:8px;background:#d4a37333;color:var(--accent)}.feature-row h4{margin:0 0 4px;color:var(--ink);font-size:16px}.feature-row p{margin:0;font-size:14px}.pricing-grid{grid-template-columns:repeat(4,1fr);max-width:1152px;margin:0 auto;gap:24px}.pricing-card{position:relative;min-height:325px;display:flex;flex-direction:column;justify-content:space-between;padding:32px;background:var(--cream);border:1px solid rgb(238 220 197 / 30%);border-radius:16px;transition:box-shadow .22s ease,transform .22s ease}.pricing-card:hover{box-shadow:0 10px 15px -3px #0000001a;transform:translateY(-2px)}.pricing-card-featured{background:var(--white);border:2px solid var(--accent)}.pricing-card>div>span{color:var(--soft-muted);font-size:12px;font-weight:800;text-transform:uppercase}.pricing-card-featured>div>span{color:var(--accent)}.pricing-card h3{margin:16px 0 0;color:var(--ink);font-family:var(--font-serif);font-size:20px}.price-line{display:flex;align-items:baseline;gap:4px;margin-top:8px}.price-line strong{color:var(--accent);font-family:var(--font-serif);font-size:40px}.price-line small,.pricing-card p{color:var(--soft-muted)}.pricing-card p{color:var(--muted);font-size:14px;line-height:1.625}.pricing-badge{position:absolute;top:0;left:50%;transform:translate(-50%,-50%);white-space:nowrap;border-radius:999px;background:var(--accent);color:var(--white);font-size:10px;font-weight:800;text-transform:uppercase;padding:4px 12px;box-shadow:0 1px 2px #0000001a}.pricing-cta{display:block;width:100%;margin-top:24px;padding:14px;border:1px solid rgb(212 163 115 / 40%);border-radius:999px;color:var(--accent);text-align:center;font-weight:700;transition:background .18s ease,color .18s ease,transform .18s ease}.pricing-cta:hover,.pricing-cta-primary{background:var(--accent);color:var(--white)}.pricing-cta-primary:hover{background:var(--accent-dark)}.surcharge-card{max-width:768px;margin:48px auto 0;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 32px;border:1px solid rgb(238 220 197 / 40%);border-radius:16px;background:var(--cream);box-shadow:0 1px 2px #0000000d}.surcharge-card h4{margin:0 0 8px;color:var(--ink);font-family:var(--font-serif);font-size:18px}.surcharge-card p{max-width:576px;margin:0;color:var(--muted);font-size:14px;line-height:1.625}.surcharge-card>div:last-child{min-width:140px;padding:16px 24px;border:1px solid rgb(238 220 197 / 30%);border-radius:12px;background:var(--white);box-shadow:inset 0 2px 4px #0000000f;text-align:center}.surcharge-card strong{display:block;color:var(--accent);font-family:var(--font-serif);font-size:24px}.surcharge-card span{color:var(--soft-muted);font-size:11px;font-weight:800;text-transform:uppercase}.step-grid{grid-template-columns:repeat(3,1fr);margin:24px 0 32px;text-align:left}.step-card{padding:24px;border:1px solid rgb(238 220 197 / 20%);border-radius:16px;background:var(--white);box-shadow:0 1px 2px #0000000d}.step-card div{width:32px;height:32px;display:grid;place-items:center;border-radius:999px;background:var(--accent);color:var(--white);font-size:14px;font-weight:800}.step-card h4{margin:12px 0 8px;color:var(--ink);font-size:18px}.step-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.625}.about-copy{grid-column:span 7}.about-checks{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;padding-top:16px}.about-checks span{color:var(--text);font-weight:600}.promise-card{grid-column:span 5;padding:32px;border:1px solid rgb(238 220 197 / 30%);border-radius:24px;background:var(--sand);box-shadow:0 20px 25px -5px #0000001a}.promise-label{display:flex;align-items:center;gap:8px;color:var(--accent)}.promise-label span{color:var(--soft-muted);font-size:12px;font-weight:800;text-transform:uppercase}.promise-card>p{color:var(--ink);font-family:var(--font-serif);font-size:18px;line-height:1.625}.promise-divider{height:1px;margin:24px 0;background:#eedcc566}.promise-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;text-align:center}.promise-stats div{padding:16px;border:1px solid rgb(238 220 197 / 20%);border-radius:12px;background:var(--white);box-shadow:0 1px 2px #0000000d}.promise-stats strong{display:block;color:var(--accent);font-family:var(--font-serif);font-size:30px}.promise-stats span{color:var(--soft-muted);font-size:12px;font-weight:800;text-transform:uppercase}.booking-cta{position:relative;overflow:hidden;padding:80px 0;background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:var(--white);text-align:center}.booking-cta .container{max-width:896px}.booking-cta span:first-child{display:block;color:#fdfbf7cc;font-size:12px;font-weight:800;text-transform:uppercase}.booking-cta h2{color:var(--white);font-size:clamp(32px,5vw,48px);margin-top:8px}.booking-cta p{max-width:672px;margin:24px auto;color:var(--sand);font-size:18px;line-height:1.625}.booking-cta small{display:block;margin-top:16px;color:#faf5f0b3;font-size:12px}.faq-section,.contact-section{padding:80px 16px;border-top:1px solid var(--line)}.faq-section{background:var(--cream)}.contact-section{background:var(--sand);border-bottom:1px solid var(--line)}.faq-container,.contact-container{max-width:800px;margin:0 auto;text-align:center}.faq-section h2,.contact-section h2{margin:0 0 16px;font-size:36px}.faq-section>div>p,.contact-section>div>p{margin:0 0 48px;color:var(--muted);font-size:18px;line-height:1.6}.faq-list{display:grid;gap:16px;text-align:left}.faq-list details{padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--white);box-shadow:0 2px 8px #00000005}.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none;color:var(--ink);font-family:var(--font-serif);font-size:18px;font-weight:700}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{color:var(--accent);font-size:20px;font-weight:400}.faq-list details[open] summary span{transform:rotate(180deg)}.faq-list p{margin:12px 0 0;color:var(--muted);font-size:15px;line-height:1.6}.contact-cards{display:flex;justify-content:center;flex-wrap:wrap;gap:40px;margin-bottom:40px}.contact-cards article{min-width:260px;flex:1;padding:24px;border:1px solid rgb(238 220 197 / 50%);border-radius:12px;background:var(--white);box-shadow:0 4px 12px #00000008}.contact-cards article>span{display:block;margin-bottom:12px;font-size:32px}.contact-cards h3{margin:0 0 8px;color:var(--ink);font-size:18px}.contact-cards a{color:var(--accent);font-size:16px;font-weight:700}.contact-button{display:inline-block;padding:14px 32px;border-radius:999px;background:var(--accent);color:var(--white);font-weight:700}.site-footer{padding:64px 0;background:var(--footer);color:var(--footer-text);border-top:1px solid var(--ink)}.footer-grid{display:grid;grid-template-columns:5fr 3fr 4fr;gap:48px;padding-bottom:48px;border-bottom:1px solid var(--footer-line)}.footer-brand p{max-width:384px;color:var(--footer-text);font-size:14px;line-height:1.625}.footer-socials{display:flex;gap:16px;padding-top:8px}.footer-socials a,.footer-links a,.footer-contact a,.footer-bottom a{color:var(--footer-text);transition:color .16s ease}.footer-socials a:hover,.footer-links a:hover,.footer-contact a:hover,.footer-bottom a:hover{color:var(--white)}.site-footer h4{margin:0 0 16px;color:var(--white);font-family:var(--font-serif);font-size:12px;font-weight:700;text-transform:uppercase}.footer-links,.footer-contact{display:grid;gap:12px;margin:0;padding:0;list-style:none;font-size:14px}.footer-contact li{align-items:flex-start;gap:10px}.footer-contact svg{flex:0 0 auto;color:var(--accent);margin-top:2px}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:32px;font-size:12px}.footer-bottom p{margin:0}.footer-bottom p span{display:block;margin-bottom:4px;color:var(--accent);font-family:var(--font-serif);font-size:18px;font-weight:700}.footer-bottom div{display:flex;gap:16px}@keyframes notice-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@media(max-width:1100px){.desktop-nav{gap:18px}.pricing-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.desktop-nav{display:none}.mobile-menu-button,.mobile-nav{display:block}.hero-grid,.split-grid,.about-grid{grid-template-columns:1fr}.hero-copy,.split-copy,.hero-media,.split-media,.about-copy,.promise-card{grid-column:1}.hero-copy{text-align:center}.hero-actions{justify-content:center}.hero-stats{margin-left:auto;margin-right:auto}.split-media{order:0}.service-grid,.step-grid,.footer-grid,.about-checks{grid-template-columns:1fr}.footer-bottom{flex-direction:column;align-items:flex-start}}@media(max-width:640px){.container,.header-inner{width:min(100% - 24px,1280px)}.top-bar-inner,.top-bar-links{justify-content:center}.brand-name{font-size:24px}.hero-section,.white-section,.warm-section,.booking-cta,.faq-section,.contact-section{padding-top:56px;padding-bottom:56px}.hero-copy h1{font-size:40px}.hero-copy p{font-size:18px}.button-link{width:100%}.inline-button{width:fit-content}.hero-stats{gap:8px}.hero-stats span{font-size:20px}.framed-image img,.framed-image-large img{height:380px}.pricing-grid{grid-template-columns:1fr}.surcharge-card,.contact-cards{flex-direction:column}.surcharge-card{text-align:center}.booking-notice{left:16px;right:16px}}
