:root{
    --gold:#d4a017; --gold-soft:#e8c45f; --deep:#0b2a2f; --deep-2:#123c43;
    --jade:#0f766e; --cream:#fbf8f1; --ink:#1c2b2d; --muted:#5c7074;
    --line:rgba(11,42,47,.12); --shadow:0 18px 50px -18px rgba(11,42,47,.35); --radius:18px;
  }
  *{box-sizing:border-box}
  html{scroll-behavior:smooth;zoom:.92}
  body{margin:0;background:var(--cream);color:var(--ink);font-family:'Inter',system-ui,-apple-system,sans-serif;font-size:16.5px;line-height:1.7;-webkit-font-smoothing:antialiased}
  h1,h2,h3,h4,.brand-name{font-family:'Playfair Display',Georgia,serif;font-weight:500;line-height:1.2;margin:0}
  img{display:block;max-width:100%}
  a{color:inherit}

  header.site{position:relative;z-index:60;background:rgba(255,255,255,.01);border-bottom:1px solid rgba(255,255,255,.22)}
  .navwrap{max-width:1220px;margin:0 auto;padding:1.25rem 1.4rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
  .brand{display:flex;align-items:center;gap:.7rem;text-decoration:none}
  .brand-mark{display:contents}
  .brand-mark img{width:120px;height:auto;object-fit:contain;display:block;filter:drop-shadow(0 4px 12px rgba(0,0,0,.45))}
  footer.site .brand-mark img{background:var(--deep);border-radius:14px;padding:10px;width:120px;filter:none}
  .brand-text{display:flex;flex-direction:column;line-height:1.05}
  .brand-name{font-size:1.35rem;font-weight:500;color:#fff;transition:color .35s}
  .brand-name em{color:var(--gold);font-style:normal}
  .brand-sub{font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.75);font-family:'Inter',sans-serif;transition:color .35s}
  nav.main ul{display:flex;gap:.05rem;list-style:none;margin:0;padding:0;align-items:center;flex-wrap:wrap}
  nav.main a{text-decoration:none;font-size:.83rem;font-weight:500;color:#fff;padding:.5rem .68rem;border-radius:999px;transition:.22s;display:block;white-space:nowrap}
  nav.main a:hover{background:rgba(212,160,23,.3);color:#ffe9b0}
  nav.main a.active{background:var(--gold);color:#241a00}
  nav.main a.nav-cta{color:#241a00!important}
  .nav-cta{background:linear-gradient(135deg,var(--gold),#c08d0d)!important;color:#241a00!important;font-weight:600}
  .burger{display:none;background:none;border:1px solid rgba(255,255,255,.4);border-radius:12px;padding:.45rem .65rem;font-size:1.15rem;color:#fff;cursor:pointer}

  .page{display:none;animation:fade .4s ease both}
  .page.active{display:block}
  @keyframes fade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
  .wrap{max-width:1220px;margin:0 auto;padding:0 1.4rem}
  section{padding:4.5rem 0}

  .banner{position:relative;min-height:44vh;display:flex;align-items:flex-end;background-size:cover;background-position:center;margin-top:-105px;padding-top:105px}
  .banner::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(5,25,29,.9),rgba(5,25,29,.35))}
  .banner .bin{position:relative;z-index:2;max-width:1220px;margin:0 auto;padding:3rem 1.4rem;width:100%;color:#fff}
  .banner h1{font-size:clamp(1.75rem,3.8vw,2.8rem);font-weight:500}
  .banner p{color:#d7e7e7;max-width:60ch;margin:.7rem 0 0;font-size:1rem}
  .banner .eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;font-weight:600;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.25);padding:.4rem .85rem;border-radius:999px;color:#ffe9b0;margin-bottom:1.1rem}

  .hero{position:relative;min-height:80vh;display:flex;flex-direction:column;align-items:stretch;justify-content:center;overflow:hidden;margin-top:-115px;padding-top:115px}
  .hero-bg{position:absolute;inset:0;background-size:cover;background-position:center 60%;animation:heroZoom 75s ease-in-out infinite}
  @keyframes heroZoom{0%{transform:scale(1)}30%{transform:scale(1.06)}100%{transform:scale(1)}}
  .hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(5,25,29,.9) 4%,rgba(5,25,29,.6) 44%,rgba(5,25,29,.26) 100%)}
  .hero-inner{position:relative;z-index:2;max-width:1220px;margin:0 auto;padding:5rem 1.4rem;width:100%}
  .hero-copy{max-width:660px;color:#fff}
  .hero h1{font-size:clamp(2.1rem,4.8vw,3.5rem);font-weight:500}
  .hero h1 em{font-style:italic;color:var(--gold-soft)}
  .hero p.lead{margin-top:1.2rem;font-size:1.06rem;color:#dfecec;max-width:56ch}
  .hero-actions{position:relative;z-index:3;display:flex;gap:.85rem;margin-top:2rem;flex-wrap:wrap}
  .hero-actions-mobile{display:none}
  .hero-tags{position:relative;z-index:2;display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;background:rgba(6,28,32,.6);border-top:1px solid rgba(255,255,255,.2);padding:1rem 1.4rem;backdrop-filter:blur(8px)}
  .hero-tags span{font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;color:#dfecec;border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:.4rem .95rem}
  .hero-tags span::before{content:"✦ ";color:var(--gold-soft)}

  .btn{display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;border-radius:999px;padding:.85rem 1.5rem;font-weight:600;font-size:.9rem;transition:.25s;border:1px solid transparent;cursor:pointer}
  .btn-gold{background:linear-gradient(135deg,var(--gold),#bf8c0b);color:#241a00;box-shadow:0 16px 34px -16px rgba(212,160,23,1)}
  .btn-gold:hover{transform:translateY(-2px)}
  .btn-ghost{border-color:rgba(255,255,255,.5);color:#fff}
  .btn-ghost:hover{background:rgba(255,255,255,.14)}
  .btn-dark{background:var(--deep);color:#fff}
  .btn-dark:hover{background:var(--deep-2)}
  .btn-line{border-color:var(--line);color:var(--deep);background:#fff}
  .btn-line:hover{border-color:var(--gold);color:#8a6508}

  .sec-head{max-width:720px;margin-bottom:2.5rem}
  .sec-head.center{margin-left:auto;margin-right:auto;text-align:center}
  .kicker{font-size:.73rem;letter-spacing:.26em;text-transform:uppercase;font-weight:700;color:var(--gold);margin-bottom:.65rem}
  .sec-head h2{font-size:clamp(1.45rem,2.8vw,2.15rem);font-weight:500;color:var(--deep)}
  .sec-head p{color:var(--muted);margin-top:.8rem}

  .grid{display:grid;gap:1.4rem}
  .g2{grid-template-columns:repeat(2,1fr)}
  .g3{grid-template-columns:repeat(3,1fr)}
  .g4{grid-template-columns:repeat(4,1fr)}
  .card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:.3s;display:flex;flex-direction:column}
  .card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:rgba(212,160,23,.5)}
  .card .thumb{height:185px;background-size:cover;background-position:center;position:relative}
  .card .thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(8,30,34,.5),transparent 60%)}
  .card .tag{position:absolute;left:14px;top:14px;z-index:2;background:rgba(251,248,241,.94);color:var(--deep);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;padding:.32rem .65rem;border-radius:999px}
  .card-body{padding:1.3rem 1.35rem 1.45rem;flex:1;display:flex;flex-direction:column}
  .card-body h3{font-size:1.08rem;font-weight:500;color:var(--deep)}
  .card-body p{color:var(--muted);font-size:.91rem;margin:.55rem 0 0;flex:1}
  .card-body ul{margin:.8rem 0 0;padding-left:1.05rem;color:var(--muted);font-size:.85rem}
  .card-body ul li{margin:.16rem 0}
  .card-link{margin-top:1rem;font-size:.83rem;font-weight:600;color:#8a6508;text-decoration:none;display:inline-flex;align-items:center;gap:.4rem}
  .card-link:hover{gap:.7rem;color:var(--gold)}
  .icon-badge{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;font-size:1.35rem;background:linear-gradient(140deg,rgba(212,160,23,.22),rgba(15,118,110,.18));margin-bottom:.85rem}

  .split{display:grid;grid-template-columns:1.05fr 0.5fr;gap:2rem;align-items:center}
  .split img{border-radius:22px;box-shadow:var(--shadow);width:80%;height:80%;object-fit:cover;min-height:330px}
  .split h2{font-size:clamp(1.4rem,2.5vw,2rem);font-weight:500;color:var(--deep);margin-bottom:1rem}
  .split p{color:var(--muted)}
  .checklist{list-style:none;padding:0;margin:1.3rem 0 0}
  .checklist li{display:flex;gap:.7rem;align-items:flex-start;margin:.55rem 0;font-size:.93rem}
  .checklist li::before{content:"✓";color:#fff;background:var(--jade);flex:0 0 22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:.7rem;font-weight:700;margin-top:.22rem}

  .strip{display:grid;grid-template-columns:repeat(4,1fr);gap:.85rem}
  .strip figure{margin:0;position:relative;border-radius:16px;overflow:hidden;height:250px}
  .strip img{width:100%;height:100%;object-fit:cover;transition:.6s}
  .strip figure:hover img{transform:scale(1.08)}
  .strip figcaption{position:absolute;left:0;right:0;bottom:0;padding:1.4rem .9rem .8rem;color:#fff;font-size:.8rem;font-weight:600;background:linear-gradient(to top,rgba(6,28,32,.88),transparent)}

  .band{background:var(--deep);color:#e6f2f2;position:relative;overflow:hidden}
  .band::before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(212,160,23,.25),transparent 68%);top:-190px;right:-130px}
  .band .sec-head h2{color:#fff}
  .band .sec-head p{color:#b8d2d2}
  .band .card{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.16)}
  .band .card:hover{background:rgba(255,255,255,.1);border-color:rgba(212,160,23,.6)}
  .band .card-body h3{color:#fff}
  .band .card-body p,.band .card-body ul{color:#b8d2d2}
  .band .icon-badge{background:rgba(212,160,23,.2)}
  .band .kicker{color:var(--gold-soft)}

  .gal{columns:3;column-gap:.9rem}
  .gal figure{margin:0 0 .9rem;position:relative;border-radius:16px;overflow:hidden;break-inside:avoid}
  .gal img{width:100%;transition:.6s}
  .gal figure:hover img{transform:scale(1.06)}
  .gal figcaption{position:absolute;left:0;right:0;bottom:0;padding:1.6rem .9rem .8rem;color:#fff;font-size:.8rem;font-weight:600;background:linear-gradient(to top,rgba(6,28,32,.9),transparent);opacity:0;transition:.35s}
  .gal figure:hover figcaption{opacity:1}

  .post{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:.3s}
  .post:hover{box-shadow:var(--shadow);transform:translateY(-5px)}
  .post .thumb{height:175px;background-size:cover;background-position:center}
  .post .pb{padding:1.25rem 1.35rem 1.4rem}
  .post .meta{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:700}
  .post h3{font-size:1.05rem;font-weight:500;color:var(--deep);margin:.5rem 0 0}
  .post p{color:var(--muted);font-size:.9rem;margin:.55rem 0 0}

  .panel{background:var(--deep);color:#e6f2f2;border-radius:22px;padding:2.2rem}
  .panel h3{color:#fff;font-size:1.3rem;font-weight:500}
  .panel .phone-big{font-family:'Playfair Display',serif;font-weight:500;font-size:clamp(1.4rem,2.8vw,1.95rem);color:var(--gold-soft);text-decoration:none;display:block;margin:.5rem 0 .2rem}
  .panel p{color:#b8d2d2;font-size:.89rem}
  .numlist{list-style:none;padding:0;margin:1.1rem 0 0}
  .numlist li{border-top:1px solid rgba(255,255,255,.13);padding:.55rem 0}
  .numlist a{color:#fff;text-decoration:none;font-weight:600;font-size:.97rem;letter-spacing:.02em}
  .numlist a:hover{color:var(--gold-soft)}
  .numlist small{display:block;color:#8fb3b3;font-size:.71rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600}
  .lightcard{background:#fff;border:1px solid var(--line);border-radius:22px;padding:2.2rem}
  .lightcard h3{color:var(--deep);font-size:1.2rem;font-weight:500}
  .maillist{list-style:none;padding:0;margin:1.1rem 0 0}
  .maillist li{border-bottom:1px dashed var(--line);padding:.6rem 0}
  .maillist li:last-child{border-bottom:none}
  .maillist a{text-decoration:none;color:var(--ink);font-weight:600;font-size:1rem;word-break:break-all}
  .maillist a:hover{color:#8a6508}
  .maillist small{display:block;color:var(--muted);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;font-weight:400}
  .office{display:flex;gap:.9rem;padding:1rem 0;border-bottom:1px dashed var(--line)}
  .office:last-child{border-bottom:none}
  .office .pin{font-size:1.3rem}
  .office b{display:block;color:var(--deep);font-family:'Inter',sans-serif;font-size:.94rem}
  .office span{color:var(--muted);font-size:.85rem}

  form.book{background:#fff;border:1px solid var(--line);border-radius:22px;padding:1.8rem}
  form.book label{display:block;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--muted);margin:1rem 0 .35rem}
  form.book input,form.book select,form.book textarea{width:100%;padding:.75rem .9rem;border:1px solid var(--line);border-radius:12px;font:inherit;font-size:.94rem;background:var(--cream);color:var(--ink)}
  form.book input:focus,form.book select:focus,form.book textarea:focus{outline:2px solid rgba(212,160,23,.45);border-color:var(--gold)}
  form.book .row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
  .note{background:rgba(212,160,23,.12);border:1px solid rgba(212,160,23,.35);border-radius:14px;padding:1rem 1.15rem;font-size:.87rem;color:#6b5104}
  .sent{display:none;background:rgba(15,118,110,.1);border:1px solid rgba(15,118,110,.4);border-radius:14px;padding:1.1rem 1.2rem;color:#0b5f59;font-size:.92rem;margin-top:1.2rem}
  .sent.show{display:block}
  .sent b{display:block;color:#0a514c;font-size:1rem;margin-bottom:.3rem}

  .cta{background:linear-gradient(120deg,var(--deep),var(--jade));border-radius:24px;color:#fff;padding:2.8rem 2.2rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;position:relative;overflow:hidden}
  .cta::after{content:"🇹🇭";position:absolute;font-size:10rem;right:-1rem;bottom:-3.2rem;opacity:.09}
  .cta h2{color:#fff;font-size:clamp(1.35rem,2.5vw,1.9rem);font-weight:500}
  .cta p{color:#cfe6e6;margin:.5rem 0 0;max-width:52ch;font-size:.94rem}
  .cta > div{position:relative;z-index:2}

  footer.site{background:var(--deep);color:#9fc0c0;padding:3.2rem 0 1.5rem}
  footer.site .cols{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:2rem}
  footer.site h4{color:#fff;font-family:'Inter',sans-serif;font-size:.76rem;letter-spacing:.2em;text-transform:uppercase;margin-bottom:.9rem}
  footer.site a{text-decoration:none;color:#9fc0c0;font-size:.87rem;display:block;padding:.2rem 0}
  footer.site a:hover{color:var(--gold-soft)}
  footer.site .brand-name{color:#fff}
  footer.site .brand-name em{color:var(--gold)}
  .foot-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:2.4rem;padding-top:1.2rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.77rem;color:#7fa3a3}
  .float-call{position:fixed;right:1.1rem;bottom:1.1rem;z-index:80;text-decoration:none;background:linear-gradient(135deg,var(--gold),#bf8c0b);color:#241a00;font-weight:700;font-size:.84rem;padding:.8rem 1.2rem;border-radius:999px;box-shadow:0 16px 34px -14px rgba(0,0,0,.5);display:flex;gap:.5rem;align-items:center}
  .float-call:hover{transform:translateY(-2px)}
  .reveal{opacity:0;transform:translateY(22px);transition:.7s cubic-bezier(.2,.7,.3,1)}
  .reveal.in{opacity:1;transform:none}

  @media (max-width:1020px){
    .g4{grid-template-columns:repeat(2,1fr)} .g3{grid-template-columns:repeat(2,1fr)}
    .strip{grid-template-columns:repeat(2,1fr)} .gal{columns:2}
    .split{grid-template-columns:1fr;gap:2rem}
    footer.site .cols{grid-template-columns:1fr 1fr}
    .burger{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;border:1px solid rgba(255,255,255,.4);background:rgba(6,28,32,.35)}
    nav.main{display:none;order:3;margin-left:auto} nav.main.open{display:block}
    header.site.menu-open{background:var(--deep);border-bottom:1px solid rgba(255,255,255,.12)}
    nav.main.open{width:min(300px,86vw);background:linear-gradient(160deg,var(--deep),var(--deep-2));border:1px solid rgba(255,255,255,.16);border-radius:18px;padding:.55rem;margin-top:.6rem;box-shadow:0 24px 50px -16px rgba(0,0,0,.6);animation:menuIn .28s cubic-bezier(.2,.8,.3,1)}
    @keyframes menuIn{from{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:none}}
    nav.main ul{flex-direction:column;align-items:stretch;gap:.15rem;padding:0}
    nav.main a{padding:.6rem .9rem;border-radius:10px;font-size:.92rem;color:#e6f2f2}
    nav.main a:hover{background:rgba(212,160,23,.22);color:#ffe9b0}
    nav.main a.active{background:var(--gold);color:#241a00}
  }
  @media (max-width:640px){
    .burger{font-size:1.35rem;padding:.55rem .8rem}
    .hero{min-height:92vh;justify-content:flex-start}
    .hero-inner{order:1;padding-top:3.5rem}
    .hero-tags{order:2;flex:0 0 auto}
    .hero-copy .hero-actions{display:none}
    .hero-actions-mobile{display:flex;position:relative;z-index:3;order:3;justify-content:center;width:100%;margin:2rem 0 2rem;padding:0 1.4rem}
    .g2,.g3,.g4{grid-template-columns:1fr} .strip{grid-template-columns:1fr} .gal{columns:1}
    .cta{padding:2.1rem 1.35rem}
    footer.site .cols{grid-template-columns:1fr;justify-items:center;text-align:center}
    footer.site .cols > div{width:100%;display:flex;flex-direction:column;align-items:center}
    footer.site .cols .brand{justify-content:center}
    footer.site .foot-bottom{justify-content:center;text-align:center}
    form.book .row{grid-template-columns:1fr} section{padding:3.2rem 0}
  }
  .rich-content{line-height:1.7}.rich-content h1,.rich-content h2,.rich-content h3,.rich-content h4{font-family:'Playfair Display',Georgia,serif;color:var(--deep);line-height:1.18;margin:.45em 0}.rich-content h1{font-size:clamp(1.7rem,3vw,2.4rem)}.rich-content h2{font-size:clamp(1.4rem,2.5vw,2rem)}.rich-content h3{font-size:1.3rem}.rich-content p{margin:.5em 0}.rich-content ul,.rich-content ol{padding-left:1.35rem}.rich-content li{margin:.25rem 0}.rich-content a{color:var(--jade);text-decoration:underline}.contact-cards-section{padding:1rem 0 3.5rem}.contact-cards .contact-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:1.7rem;box-shadow:0 14px 38px -22px rgba(6,28,32,.38);height:100%}.contact-card .contact-icon{font-size:1.7rem;margin-bottom:.7rem}.contact-card .tag{color:var(--gold);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;font-weight:800}.contact-card h3{font-family:'Playfair Display',Georgia,serif;color:var(--deep);font-size:1.25rem;font-weight:500;margin:.35rem 0 .55rem}.contact-card .contact-value{color:var(--jade);font-weight:700;margin:.8rem 0;word-break:break-word}.contact-card .card-link{display:inline-block;color:var(--jade);font-weight:700;text-decoration:none}.contact-card .card-link:hover{color:var(--gold)}
/* v5 contact layout + rich card sizing */
.contact-layout{grid-template-columns:minmax(0,1fr) minmax(420px,.95fr)}.contact-form-box{position:sticky;top:1.2rem}.contact-details .panel,.contact-details .lightcard{height:auto}.card-body .rich-content{font-size:.91rem;line-height:1.55;color:var(--muted)}.card-body .rich-content p{font-size:inherit;margin:.55rem 0 0}.card-body .rich-content ul,.card-body .rich-content ol{font-size:.85rem}.rich-content span[style*="font-size"]{line-height:inherit}@media(max-width:900px){.contact-layout{grid-template-columns:1fr}.contact-form-box{position:static}}
/* v6 card title + balanced CTA + contact layout */
.card-body .card-title-rich{color:var(--deep);margin:0;line-height:1.18}
.card-body .card-title-rich h1,.card-body .card-title-rich h2,.card-body .card-title-rich h3,.card-body .card-title-rich h4,.card-body .card-title-rich h5,.card-body .card-title-rich h6{font-family:'Playfair Display',Georgia,serif;color:var(--deep);line-height:1.18;margin:.05rem 0 .55rem;font-weight:500}
.card-body .card-title-rich p{margin:0 0 .55rem;color:var(--deep)}
.card-body .rich-content{flex:1}
.card-body .card-link{margin-top:auto}
.contact-info-grid{width:100%}
.contact-form-row{margin-top:1.4rem}
.contact-form-box{position:static!important;width:100%;box-sizing:border-box}
@media(max-width:900px){.contact-info-grid{grid-template-columns:1fr}.contact-form-row{margin-top:1rem}}
.contact-info-grid{grid-template-columns:1fr 1fr!important;gap:22px}.contact-form-row{margin-top:22px}.contact-form-box{width:100%}@media(max-width:760px){.contact-info-grid{grid-template-columns:1fr!important}}
