*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth}
body{font-family:'Work Sans',sans-serif;background:#FFFFFE;color:#264653;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,h4{font-family:'Outfit',serif;font-weight:600}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}

.nav{display:flex;justify-content:center;align-items:center;padding:24px 60px;background:#264653;position:sticky;top:0;z-index:100}
.nav__brand{font-family:'Outfit',serif;font-size:1.8rem;font-weight:300;letter-spacing:0.15em;color:#fff}
.nav__links{position:absolute;right:60px;display:flex;gap:24px}.nav__links a{font-size:0.8rem;color:rgba(255,255,255,0.5);text-transform:uppercase;letter-spacing:0.1em;transition:color 0.3s}.nav__links a:hover{color:#E76F51}

.hero-re{position:relative;min-height:80vh;display:flex;align-items:center;justify-content:center;overflow:hidden}
.hero-re img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-re::after{content:'';position:absolute;inset:0;background:rgba(0,0,0,0.6)}
.hero-re__content{position:relative;z-index:2;text-align:center;color:#fff}
.hero-re__label{font-size:0.7rem;text-transform:uppercase;letter-spacing:0.3em;color:#E76F51;margin-bottom:16px}
.hero-re h1{font-size:clamp(2.4rem,5vw,4rem);color:#fff;font-weight:300;letter-spacing:0.1em;margin-bottom:16px}.hero-re p{color:rgba(255,255,255,0.6);font-size:1rem}
.btn-re{background:transparent;color:#E76F51;padding:14px 36px;border:1px solid #E76F51;font-size:0.8rem;letter-spacing:0.15em;text-transform:uppercase;cursor:pointer;margin-top:24px;transition:all 0.3s}.btn-re:hover{background:#E76F51;color:#264653}

.menu-re{padding:80px 60px;background:#264653}
.menu-re h2{text-align:center;color:#fff;font-size:1.8rem;font-weight:300;letter-spacing:0.1em;margin-bottom:48px}
.menu-re__grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;max-width:800px;margin:0 auto}
.menu-item{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px dotted rgba(255,255,255,0.15)}
.menu-item__name{color:rgba(255,255,255,0.8);font-size:0.9rem}.menu-item__desc{font-size:0.75rem;color:rgba(255,255,255,0.4)}
.menu-item__price{color:#E76F51;font-weight:700;font-size:0.9rem}

.gallery-re{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
.gallery-re img{width:100%;aspect-ratio:1;object-fit:cover;transition:opacity 0.3s}.gallery-re img:hover{opacity:0.8}

.reserve-re{padding:80px 60px;background:#264653;text-align:center}
.reserve-re h2{color:#fff;font-size:1.8rem;font-weight:300;letter-spacing:0.1em;margin-bottom:32px}
.reserve-form{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;max-width:700px;margin:0 auto}
.reserve-form input,.reserve-form select{padding:14px;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.15);color:#fff;font-size:0.85rem;outline:none}.reserve-form input::placeholder{color:rgba(255,255,255,0.4)}
.reserve-form button{grid-column:1/-1;padding:14px;background:#E76F51;color:#264653;border:none;font-weight:700;font-size:0.85rem;letter-spacing:0.08em;text-transform:uppercase;cursor:pointer}

@media(max-width:768px){
  .nav{padding:16px 24px}.nav__links{display:none;position:static}
  .hero-re__content{padding:0 24px}
  .menu-re{padding:48px 24px}.menu-re__grid{grid-template-columns:1fr}
  .gallery-re{grid-template-columns:1fr 1fr}.reserve-re{padding:48px 24px}.reserve-form{grid-template-columns:1fr 1fr}
}
.nav__links a:hover,.nav__links a.active{color:#A8DADC}
.nav__cta{background:#A8DADC;color:#fff;padding:10px 24px;border-radius:6px;font-size:0.85rem;font-weight:600;border:none;cursor:pointer;transition:background 0.3s}
.nav__cta:hover{background:#6BAEB2}
.page-hdr{min-height:40vh;display:flex;align-items:center;justify-content:center;text-align:center;background:linear-gradient(135deg,#A8DADCdd,#6BAEB2cc);position:relative;overflow:hidden}
.page-hdr__bg{position:absolute;inset:0}
.page-hdr__bg img{width:100%;height:100%;object-fit:cover;opacity:0.2;mix-blend-mode:luminosity}
.page-hdr__content{position:relative;z-index:2;padding:80px 40px}
.page-hdr h1{font-size:clamp(2rem,4vw,3rem);color:#fff;margin-bottom:12px}
.page-hdr p{font-size:1.1rem;color:rgba(255,255,255,0.8);max-width:560px;margin:0 auto}
.about-story{display:grid;grid-template-columns:1fr 1fr;gap:48px;padding:80px 60px;align-items:center}
.about-story__text h2{font-size:2rem;margin-bottom:16px;color:#264653}
.about-story__text p{font-size:1rem;color:#8AA29E;line-height:1.8;margin-bottom:16px}
.about-story__img{border-radius:8px;overflow:hidden}
.about-story__img img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
.about-mv{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:0 60px 80px}
.about-mv__card{background:#F1FAEE;padding:40px;border-radius:8px;border:1px solid #D4E8E0}
.about-mv__icon{width:48px;height:48px;background:#A8DADC;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.4rem;margin-bottom:16px}
.about-mv__card h3{font-size:1.3rem;margin-bottom:10px;color:#264653}
.about-mv__card p{font-size:0.9rem;color:#8AA29E;line-height:1.7}
.about-team{padding:80px 60px;background:#F1FAEE}
.about-team h2{font-size:2rem;text-align:center;margin-bottom:8px;color:#264653}
.about-team__sub{text-align:center;color:#8AA29E;margin-bottom:48px;font-size:1rem}
.about-team__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;max-width:900px;margin:0 auto}
.about-team__member{text-align:center}
.about-team__img{width:120px;height:120px;border-radius:50%;overflow:hidden;margin:0 auto 16px;border:3px solid #D4E8E0}
.about-team__img img{width:100%;height:100%;object-fit:cover}
.about-team__member h4{font-size:1.05rem;margin-bottom:4px;color:#264653}
.about-team__member span{font-size:0.8rem;color:#8AA29E}
.about-stats{display:grid;grid-template-columns:repeat(4,1fr);background:#FFFFFE;border-top:1px solid #D4E8E0;border-bottom:1px solid #D4E8E0}
.about-stat{text-align:center;padding:40px 20px;border-right:1px solid #D4E8E0}
.about-stat:last-child{border-right:none}
.about-stat__num{font-family:'Outfit',serif;font-size:2.8rem;font-weight:700;color:#A8DADC;line-height:1}
.about-stat__label{font-size:0.8rem;color:#8AA29E;text-transform:uppercase;letter-spacing:0.06em;margin-top:8px}
@media(max-width:480px){.about-team__grid,.about-stats{grid-template-columns:1fr}}
.footer{background:#264653;color:rgba(255,255,255,0.6);padding:60px}
.footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;max-width:1200px;margin:0 auto}
.footer__brand{font-family:'Outfit',serif;font-size:1.4rem;color:#fff;margin-bottom:12px}
.footer__desc{font-size:0.85rem;line-height:1.7;max-width:280px}
.footer__title{font-size:0.75rem;text-transform:uppercase;letter-spacing:0.12em;color:rgba(255,255,255,0.4);margin-bottom:16px}
.footer__links{list-style:none;display:flex;flex-direction:column;gap:10px}
.footer__links a{font-size:0.85rem;color:rgba(255,255,255,0.6);transition:color 0.3s}
.footer__links a:hover{color:#fff}
.footer__bar{border-top:1px solid rgba(255,255,255,0.1);margin-top:40px;padding-top:20px;text-align:center;font-size:0.8rem;max-width:1200px;margin-left:auto;margin-right:auto}
.svc-grid{padding:80px 60px;background:#FFFFFE}
.svc-grid h2{font-size:2rem;text-align:center;margin-bottom:8px;color:#264653}
.svc-grid__sub{text-align:center;color:#8AA29E;margin-bottom:48px;font-size:1rem}
.svc-grid__items{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.svc-card{background:#F1FAEE;padding:36px;border-radius:8px;transition:all 0.3s;border:1px solid transparent}
.svc-card:hover{border-color:#A8DADC;transform:translateY(-4px);box-shadow:0 12px 24px rgba(0,0,0,0.08)}
.svc-card__icon{width:48px;height:48px;background:#A8DADC;border-radius:10px;margin-bottom:20px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.4rem}
.svc-card h3{font-size:1.15rem;margin-bottom:10px;color:#264653}
.svc-card p{font-size:0.9rem;color:#8AA29E;line-height:1.65}
.svc-process{padding:80px 60px;background:#F1FAEE}
.svc-process h2{font-size:2rem;text-align:center;margin-bottom:48px;color:#264653}
.svc-process__steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;max-width:1000px;margin:0 auto}
.svc-step{text-align:center;position:relative}
.svc-step__num{width:56px;height:56px;border-radius:50%;background:#A8DADC;color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Outfit',serif;font-size:1.4rem;font-weight:700;margin:0 auto 16px}
.svc-step h4{font-size:1.05rem;margin-bottom:8px;color:#264653}
.svc-step p{font-size:0.85rem;color:#8AA29E;line-height:1.6}
.svc-cta{padding:80px 60px;background:linear-gradient(135deg,#A8DADC,  #6BAEB2);text-align:center}
.svc-cta h2{color:#fff;font-size:2rem;margin-bottom:12px}
.svc-cta p{color:rgba(255,255,255,0.8);margin-bottom:32px;font-size:1.05rem}
.svc-cta__btn{display:inline-block;padding:16px 40px;background:#E76F51;color:#264653;border-radius:6px;font-weight:600;font-size:0.95rem;border:none;cursor:pointer;transition:transform 0.2s}
.svc-cta__btn:hover{transform:translateY(-2px)}
.test-featured{padding:80px 60px;background:#F1FAEE;text-align:center}
.test-featured__quote{font-family:'Outfit',serif;font-size:1.6rem;color:#264653;line-height:1.5;max-width:700px;margin:0 auto 24px;font-style:italic}
.test-featured__icon{font-size:3rem;color:#A8DADC;margin-bottom:16px;opacity:0.3}
.test-featured__author{display:flex;align-items:center;justify-content:center;gap:12px}
.test-featured__avatar{width:56px;height:56px;border-radius:50%;overflow:hidden;border:2px solid #D4E8E0}
.test-featured__avatar img{width:100%;height:100%;object-fit:cover}
.test-featured__info h4{font-size:1rem;color:#264653;text-align:left}
.test-featured__info span{font-size:0.8rem;color:#8AA29E;text-align:left;display:block}
.test-grid{padding:80px 60px;background:#FFFFFE}
.test-grid h2{font-size:2rem;text-align:center;margin-bottom:48px;color:#264653}
.test-grid__items{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.test-card{background:#F1FAEE;padding:32px;border-radius:8px;border:1px solid #D4E8E0}
.test-card__icon{font-size:2rem;color:#A8DADC;opacity:0.2;margin-bottom:12px}
.test-card__text{font-size:0.9rem;color:#8AA29E;line-height:1.7;margin-bottom:20px;font-style:italic}
.test-card__divider{width:40px;height:2px;background:#A8DADC;margin-bottom:16px}
.test-card__author{display:flex;align-items:center;gap:12px}
.test-card__avatar{width:44px;height:44px;border-radius:50%;overflow:hidden}
.test-card__avatar img{width:100%;height:100%;object-fit:cover}
.test-card__name{font-size:0.9rem;font-weight:600;color:#264653}
.test-card__role{font-size:0.75rem;color:#8AA29E}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;padding:80px 60px}
.contact-form h2{font-size:1.6rem;margin-bottom:24px;color:#264653}
.contact-form__group{margin-bottom:20px}
.contact-form__label{display:block;font-size:0.8rem;color:#8AA29E;margin-bottom:6px;font-weight:600;text-transform:uppercase;letter-spacing:0.05em}
.contact-form__input{width:100%;padding:12px 16px;border:1px solid #D4E8E0;border-radius:6px;font-size:0.9rem;font-family:'Work Sans',sans-serif;background:#FFFFFE;color:#264653;outline:none;transition:border-color 0.3s}
.contact-form__input:focus{border-color:#A8DADC}
.contact-form__textarea{width:100%;padding:12px 16px;border:1px solid #D4E8E0;border-radius:6px;font-size:0.9rem;font-family:'Work Sans',sans-serif;background:#FFFFFE;color:#264653;outline:none;min-height:140px;resize:vertical;transition:border-color 0.3s}
.contact-form__textarea:focus{border-color:#A8DADC}
.contact-form__btn{padding:14px 40px;background:#A8DADC;color:#fff;border:none;border-radius:6px;font-size:0.9rem;font-weight:600;cursor:pointer;transition:background 0.3s;font-family:'Work Sans',sans-serif}
.contact-form__btn:hover{background:#6BAEB2}
.contact-info h2{font-size:1.6rem;margin-bottom:24px;color:#264653}
.contact-info__items{display:flex;flex-direction:column;gap:20px}
.contact-info__item{display:flex;gap:16px;align-items:flex-start;padding:20px;background:#F1FAEE;border-radius:8px;border:1px solid #D4E8E0}
.contact-info__icon{width:44px;height:44px;background:#A8DADC;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.2rem;flex-shrink:0}
.contact-info__item h4{font-size:1rem;margin-bottom:4px;color:#264653}
.contact-info__item p{font-size:0.85rem;color:#8AA29E;line-height:1.5}
.contact-map{height:300px;background:linear-gradient(135deg,#F1FAEE,#D4E8E0);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.contact-map::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 40px,#D4E8E044 40px,#D4E8E044 41px),repeating-linear-gradient(90deg,transparent,transparent 40px,#D4E8E044 40px,#D4E8E044 41px)}
.contact-map span{position:relative;z-index:1;font-size:0.9rem;color:#8AA29E;padding:12px 24px;background:#FFFFFE;border-radius:6px;border:1px solid #D4E8E0}
/* SitePilot: mobile nav toggle */
.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px;color:inherit}
@media(max-width:768px){
  .nav-toggle{display:block}
  .nav__cta{display:none}
  .nav__links{flex-direction:column;position:absolute;top:100%;left:0;right:0;background:rgba(255,255,255,0.98);backdrop-filter:blur(10px);padding:16px 24px;box-shadow:0 4px 12px rgba(0,0,0,0.1);gap:12px}
}
/* SitePilot: language flags */
.sp-lang-flags{display:flex;align-items:center;gap:4px;margin-left:auto}
.sp-lang-flags button{background:none;border:none;cursor:pointer;font-size:20px;opacity:0.35;transition:opacity 0.15s;padding:2px;line-height:1}
.sp-lang-flags button.active{opacity:1}
/* SitePilot: nav brand spacing */
.nav__brand{margin-right:32px;flex-shrink:0;white-space:nowrap}
/* SitePilot: CF7 form styling */
.wpcf7 .wpcf7-form p{margin-bottom:16px}
.wpcf7 .wpcf7-form label{display:block;font-weight:500;margin-bottom:4px;font-size:0.95rem}
.wpcf7 .wpcf7-form-control:not(.wpcf7-submit){width:100%;padding:12px 16px;border:1px solid rgba(255,255,255,0.15);border-radius:8px;background:rgba(255,255,255,0.06);color:inherit;font-size:1rem;transition:border-color 0.2s,box-shadow 0.2s;box-sizing:border-box}
.wpcf7 .wpcf7-form-control:not(.wpcf7-submit):focus{outline:none;border-color:var(--color-primary,#3b82f6);box-shadow:0 0 0 3px rgba(59,130,246,0.15)}
.wpcf7 textarea.wpcf7-form-control{min-height:140px;resize:vertical}
.wpcf7 .wpcf7-submit{display:inline-block;padding:12px 32px;background:var(--color-primary,#3b82f6);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background 0.2s,transform 0.1s}
.wpcf7 .wpcf7-submit:hover{background:var(--color-primary-dark,#2563eb);transform:translateY(-1px)}
.wpcf7 .wpcf7-submit:active{transform:translateY(0)}
.wpcf7 .wpcf7-spinner{display:inline-block;margin-left:8px}
.wpcf7 .wpcf7-response-output{margin:16px 0;padding:12px 16px;border-radius:8px;font-size:0.9rem}
/* SitePilot: Google Maps embed */
.contact-map iframe{width:100%;height:350px;border:none;border-radius:12px;margin-top:8px}
.contact-map{margin-bottom:24px}
