/* Header & nav */
.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:var(--space-3);padding:8px 16px;background:rgba(250,246,239,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.site-logo img{height:60px;width:auto}.site-nav{margin-left:auto}.site-nav .menu{display:flex;gap:var(--space-3);list-style:none;margin:0;padding:0}
.site-nav a{text-decoration:none;font-weight:500;padding:8px 0;border-bottom:2px solid transparent;transition:border-color .25s}.site-nav a:hover,.site-nav .current-menu-item>a,.site-nav .current_page_parent>a{border-color:var(--gold)}
.site-actions{display:flex;align-items:center;gap:var(--space-2)}
.nav-toggle{display:none;background:none;border:1px solid var(--line);border-radius:999px;padding:8px 14px;font:inherit;cursor:pointer}
@media (max-width:900px){.nav-toggle{display:inline-flex;gap:8px;align-items:center;margin-left:auto}
 .site-nav{position:fixed;inset:77px 0 0;background:var(--cream);padding:var(--space-4);transform:translateX(100%);visibility:hidden;transition:transform .4s var(--ease),visibility 0s .4s;margin:0;z-index:40}
 .site-nav.open{transform:none;visibility:visible;transition:transform .4s var(--ease)}.site-nav .menu{flex-direction:column;font-size:1.4rem}.site-actions .btn{display:none}}
/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:999px;font-weight:600;text-decoration:none;border:1px solid transparent;cursor:pointer;font:inherit;line-height:1.2;transition:transform .25s var(--ease),box-shadow .25s}
.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.btn-gold{background:var(--gold-grad);color:var(--green)}.btn-outline{border-color:currentColor;background:transparent}
/* Cards */
.card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.service-card{display:flex;flex-direction:column}.service-card .media{aspect-ratio:4/3;overflow:hidden;display:block;background:var(--cream)}.service-card .media img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.service-card .media svg{width:60%;margin:8% auto;color:var(--gold)}
.service-card:hover .media img{transform:scale(1.04)}.service-card .body{padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-1);flex:1}
.service-card .name-vi{font-family:var(--font-head);font-size:1.6rem;color:var(--green);line-height:1.1}.service-card .name-en{color:var(--muted)}
.price-row{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:auto;align-items:baseline}.price{font-weight:600}.price small{color:var(--muted);font-weight:400}
/* Language switcher */
.lang-switcher{position:relative}.lang-current{background:none;border:1px solid var(--line);border-radius:999px;padding:8px 14px;font:inherit;cursor:pointer;color:inherit}
.lang-list{position:absolute;right:0;top:calc(100% + 6px);background:var(--white);color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);list-style:none;margin:0;padding:6px;min-width:170px;display:none;z-index:60}
.site-footer .lang-list{top:auto;bottom:calc(100% + 6px);right:auto;left:0}
.lang-switcher.open .lang-list{display:block}.lang-list a{display:block;padding:8px 12px;text-decoration:none;border-radius:8px}.lang-list a:hover,.lang-list [aria-selected=true] a{background:var(--cream);font-weight:600}
/* Footer */
.site-footer{background:var(--green);color:var(--cream);padding-block:var(--space-5) var(--space-3);position:relative;overflow:hidden}
.site-footer::before{content:"";position:absolute;inset:0;background:url("../patterns/tile-lattice-a.png") center/400px;opacity:.06;pointer-events:none}
.footer-grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));position:relative;align-items:start}.site-footer a{color:var(--gold-light)}.site-footer .menu{list-style:none;padding:0;margin:0 0 var(--space-2)}.site-footer h3{color:var(--gold-light);font-size:1.3rem}
.footer-copy{text-align:center;opacity:.7;font-size:.85rem;margin:var(--space-4) 0 0;position:relative}
/* Patterns */
.nt-pattern{color:var(--gold);display:block;width:100%;height:auto}.pattern-bg{position:absolute;inset:0;pointer-events:none;opacity:.06}
.pattern-divider{display:block;width:min(420px,70%);margin:var(--space-4) auto;color:var(--gold)}
.icon .nt-pattern,.icon svg{width:100%;height:100%}
img.icon{display:block;margin-bottom:var(--space-2)}.icon-fallback{width:60%;margin:8% auto;opacity:.5}
.cat-tile img.icon{width:56px;height:56px}.why-grid img.icon{width:44px;height:44px}
/* Hero */
.hero{position:relative;min-height:92svh;display:grid;align-items:end;color:var(--cream);isolation:isolate}
.hero .media{position:absolute;inset:0;z-index:-1;overflow:hidden}.hero .media picture{display:block;height:100%}.hero .media img{width:100%;height:100%;object-fit:cover;object-position:center 40%}
.hero{min-height:88svh}@media (max-width:640px){.hero{min-height:76svh}}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(25,53,32,.15),rgba(25,53,32,.78))}
.hero .content{padding:var(--space-6) 0;max-width:760px}.hero h1{color:var(--cream)}.hero .eyebrow{color:var(--gold-light)}
.hero .tagline{font-family:var(--font-head);font-size:clamp(1.5rem,3vw,2.3rem);color:var(--gold-light);margin:0 0 var(--space-3)}
.hero .btn-outline{color:var(--cream)}
/* Home sections */
.cat-tile{position:relative;padding:var(--space-4) var(--space-3);border:1px solid var(--line);border-radius:var(--radius);background:var(--white);text-decoration:none;display:block;transition:transform .3s var(--ease),box-shadow .3s}
.cat-tile:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.cat-tile .icon{width:56px;height:56px;color:var(--gold);margin-bottom:var(--space-2);display:block}.cat-tile .h3{display:block}.cat-tile .from{color:var(--muted);font-size:.9rem}
.space-strip{display:flex;gap:var(--space-2);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:var(--space-2);margin-bottom:var(--space-3)}
.space-strip figure{flex:0 0 min(78vw,520px);scroll-snap-align:start;margin:0;border-radius:var(--radius);overflow:hidden;position:relative}
.space-strip img{aspect-ratio:4/3;object-fit:cover;width:100%}.space-strip figcaption{position:absolute;left:0;right:0;bottom:0;padding:12px 16px;background:linear-gradient(transparent,rgba(25,53,32,.8));color:var(--cream)}
.why-grid{display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));margin-top:var(--space-4)}.why-grid .icon{width:44px;height:44px;color:var(--gold);display:block;margin-bottom:var(--space-2)}
.steps{padding-left:1.2em;margin:0 0 var(--space-3)}.steps li{margin-bottom:6px}
.map-embed iframe{width:100%;height:360px;border:0;border-radius:var(--radius)}
.signature-media img{aspect-ratio:4/3;object-fit:cover;width:100%}
/* Services */
.service-group{margin-top:var(--space-5)}.group-nav{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:var(--space-3) 0}
.addon-list{list-style:none;padding:0;max-width:640px;margin:0 auto}.addon-list li{padding:12px 0;border-bottom:1px solid var(--line)}
/* Booking */
.booking-form{padding:var(--space-4);display:grid;gap:var(--space-2)}.booking-form label{display:grid;gap:6px;font-weight:500}
.booking-form input,.booking-form select,.booking-form textarea{font:inherit;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff;width:100%}
.booking-form fieldset{border:1px solid var(--line);border-radius:10px;padding:12px;display:grid;gap:8px;margin:0}.booking-form fieldset label{display:inline-flex;gap:8px;align-items:center;font-weight:400}.booking-form fieldset input[type=radio]{width:auto}
.booking-form .hp{position:absolute;left:-9999px}.field-error,.form-error{color:var(--red);font-size:.9rem;font-weight:400}.consent{font-weight:400!important;grid-template-columns:auto 1fr;align-items:start}.consent input{width:auto!important;margin-top:4px}
/* Story */
.hero-short{min-height:56svh}.story-art{position:relative}.persimmons{position:absolute;inset:0;pointer-events:none}
.persimmon{position:absolute;width:28px;height:28px;border-radius:50% 50% 45% 45%;background:radial-gradient(circle at 35% 30%,#F3D98B,#C9902E 70%);box-shadow:0 0 18px rgba(221,196,147,.6)}
.drum{width:160px;margin:var(--space-4) auto 0}
/* Language hint */
.lang-hint{position:fixed;left:16px;right:16px;bottom:16px;z-index:80;background:var(--white);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:12px 16px;display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap}
