*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--f1:"Playfair Display",Georgia,serif;--f2:"Plus Jakarta Sans",-apple-system,sans-serif;--bg:#fffdf8;--bg2:#f5f0e8;--accent:#1a4a4a;--accent2:#256060;--gold:#c8a45c;--gold2:#a88838;--t1:#1a1a1a;--t2:#5a5550;--t3:#9a9590;--mw:1080px;--r:12px;--e:cubic-bezier(.22,1,.36,1)}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}body{font-family:var(--f2);color:var(--t1);background:var(--bg);font-size:.95rem;line-height:1.65}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}em{font-family:var(--f1);font-style:italic;font-weight:400}h2{font-family:var(--f1);margin-bottom:.5rem;font-size:clamp(1.8rem,4.5vw,2.8rem);font-weight:400;line-height:1.15}h3{font-family:var(--f1);margin-bottom:.4rem;font-size:1.1rem;font-weight:500}.header{z-index:100;transition:all .4s var(--e);padding:1rem 1.5rem;position:fixed;inset:0 0 auto}.header.scrolled{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffdf8f2;padding:.6rem 1.5rem;box-shadow:0 1px #0000000d}.header__inner{max-width:var(--mw);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.header__logo img{height:48px;transition:height .3s}.header.scrolled .header__logo img{height:36px}.header__nav{gap:2.5rem;display:flex}.header__nav a{color:var(--t3);font-size:.82rem;font-weight:500;transition:color .3s}.header__nav a:hover{color:var(--accent)}.header__cta{background:var(--accent);color:#fff;border-radius:100px;padding:.6rem 1.4rem;font-size:.78rem;font-weight:600;transition:all .3s}.header__cta:hover{background:var(--accent2)}.burger{cursor:pointer;background:0 0;border:none;width:28px;height:20px;display:none;position:relative}.burger span{background:var(--t1);border-radius:2px;width:100%;height:2px;transition:all .3s;position:absolute;left:0}.burger span:first-child{top:0}.burger span:nth-child(2){top:50%;transform:translateY(-50%)}.burger span:last-child{bottom:0}.burger.open span:first-child{top:50%;transform:rotate(45deg)}.burger.open span:nth-child(2){opacity:0}.burger.open span:last-child{bottom:50%;transform:rotate(-45deg)}.drawer{z-index:99;background:var(--bg);flex-direction:column;gap:2rem;padding:6rem 2rem;display:none;position:fixed;inset:0}.drawer.open{display:flex}.drawer a{font-family:var(--f1);color:var(--accent);font-size:2.2rem}.drawer__cta{font-family:var(--f2);background:var(--accent);color:#fff;text-align:center;border-radius:100px;margin-top:1rem;padding:1.1rem;font-size:.95rem;font-weight:600;display:block}.hero{text-align:center;justify-content:center;align-items:center;min-height:100dvh;display:flex;position:relative;overflow:hidden}.hero__bg{position:absolute;inset:0}.hero__bg img{object-fit:cover;width:100%;height:100%}.hero__overlay{background:linear-gradient(#1a4a4a26 0%,#1a4a4a66 40%,#1a4a4abf 100%);position:absolute;inset:0}.hero__content{z-index:2;max-width:540px;padding:0 1.5rem;position:relative}.hero__label{letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:1.5rem;font-size:.7rem;font-weight:600}.hero__title{font-family:var(--f1);color:#fff;margin-bottom:1.25rem;font-size:clamp(2.4rem,7vw,4rem);font-weight:400;line-height:1.1}.hero__title em{color:var(--gold)}.hero__text{color:#ffffff8c;margin-bottom:2.5rem;font-size:.9rem;line-height:1.8}.btn{cursor:pointer;transition:all .35s var(--e);border:none;border-radius:100px;justify-content:center;align-items:center;padding:.9rem 2.4rem;font-size:.85rem;font-weight:600;display:inline-flex}.btn--accent{background:var(--gold);color:var(--accent)}.btn--accent:hover{background:var(--gold2);transform:translateY(-2px);box-shadow:0 8px 24px #c8a45c4d}.btn--full{text-align:center;width:100%}.section{padding:6rem 2rem}.section--accent{background:var(--accent);color:#fff}.section--muted{background:var(--bg2)}.container{max-width:var(--mw);margin:0 auto}.section__head{margin-bottom:3.5rem}.section__head--light h2,.section__head--light em{color:#fff}.label{letter-spacing:.25em;text-transform:uppercase;color:var(--accent);margin-bottom:.5rem;font-size:.65rem;font-weight:700;display:inline-block}.label--light,.section--accent em{color:var(--gold)}.cards{grid-template-columns:repeat(2,1fr);gap:1.5rem;display:grid}.card{border-radius:var(--r);transition:transform .5s var(--e),box-shadow .5s;background:#fff;overflow:hidden;box-shadow:0 2px 8px #0000000a}.card:hover{transform:translateY(-8px);box-shadow:0 20px 48px #00000014}.card__img{aspect-ratio:1;overflow:hidden}.card__img img{object-fit:cover;width:100%;height:100%;transition:transform .6s var(--e)}.card:hover .card__img img{transform:scale(1.06)}.card__body{padding:1.5rem 1.75rem 1.75rem}.card__body p{color:var(--t2);margin-bottom:.75rem;font-size:.84rem;line-height:1.7}.card__meta{color:var(--accent);letter-spacing:.04em;font-size:.72rem;font-weight:600}.pricing{grid-template-columns:repeat(2,1fr);gap:3rem 5rem;max-width:720px;margin:0 auto;display:grid}.pricing__group h3{color:var(--gold);border-bottom:1px solid #ffffff1a;margin-bottom:.75rem;padding-bottom:.5rem}.pricing__row{color:#ffffff80;border-bottom:1px dotted #ffffff0f;justify-content:space-between;padding:.55rem 0;font-size:.88rem;display:flex}.pricing__row span:last-child{color:#fff;font-size:1rem;font-weight:700}.about{grid-template-columns:.45fr .55fr;align-items:center;gap:3.5rem;display:grid}.about__image{border-radius:var(--r);overflow:hidden}.about__image img{width:100%;height:auto}.about__text p{color:var(--t2);margin-bottom:.6rem;font-size:.9rem;line-height:1.8}.about__features{flex-direction:column;gap:.65rem;margin-top:1.5rem;display:flex}.feature{color:var(--t2);align-items:center;gap:.75rem;font-size:.85rem;font-weight:500;display:flex}.feature__dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:8px;height:8px}.contact{grid-template-columns:1fr 1fr;align-items:start;gap:4rem;display:grid}.contact__row{margin-top:1.25rem}.contact__row strong{letter-spacing:.15em;text-transform:uppercase;color:var(--accent);margin-bottom:.1rem;font-size:.62rem;font-weight:700;display:block}.contact__row p{color:var(--t2);font-size:.9rem}.contact__row a{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.contact__note{color:var(--t3);margin-top:1.5rem;font-size:.8rem}.hours{border-radius:var(--r);background:#fff;margin-bottom:1.25rem;padding:2.5rem;box-shadow:0 2px 8px #0000000a}.hours h3{text-align:center;margin-bottom:1.25rem;font-size:1.15rem}.hours__row{color:var(--t2);border-bottom:1px solid #0000000d;justify-content:space-between;padding:.7rem 0;font-size:.88rem;display:flex}.hours__row:last-of-type{border-bottom:none}.hours__row--alt{background:#1a4a4a0a;border-bottom:none;border-radius:6px;margin-top:.25rem;padding:.7rem .75rem}.hours__row span:last-child{color:var(--t1);font-weight:600}.hours .btn{margin-top:1.5rem}.contact__img{border-radius:var(--r);overflow:hidden}.contact__img img{object-fit:cover;width:100%;height:180px}.footer{background:var(--accent);text-align:center;padding:2.5rem 2rem}.footer__logo{opacity:.5;height:36px;margin:0 auto .75rem}.footer p{color:#ffffff59;margin-bottom:.25rem;font-size:.72rem}.footer__credit{color:#fff3;font-size:.62rem}.footer a{color:#fff6;text-decoration:underline}.rv{opacity:0;transition:opacity .9s var(--e),transform .9s var(--e);transform:translateY(24px)}.rv.on{opacity:1;transform:translateY(0)}@media (width<=768px){.header__nav,.header__cta{display:none}.burger{display:block}.header__logo img{height:40px}.header.scrolled .header__logo img{height:32px}.hero__title{font-size:clamp(2rem,9vw,3rem)}.hero__text{font-size:.85rem}.hero__content .btn{width:100%;max-width:280px;padding:1rem}.section{padding:4rem 1.25rem}.cards{grid-template-columns:1fr;gap:1.25rem}.card__img{aspect-ratio:16/9}.card__body{padding:1.25rem 1.5rem 1.5rem}.pricing,.about{grid-template-columns:1fr;gap:2rem}.about__image img{object-fit:cover;max-height:260px}.contact{grid-template-columns:1fr;gap:2rem}.contact__img img{height:160px}.hours{padding:2rem}}@media (width<=480px){.section{padding:3rem 1rem}.hours{padding:1.5rem}}@media (hover:none){.card:hover{transform:none;box-shadow:0 2px 8px #0000000a}.card:hover .card__img img{transform:none}}
