:root{
    --color-text: #373925;
    --color-text-soft: #8a8978;
    --color-accent: #624a36;
    --color-accent-soft: #dbcbb9;
    --color-border: #d1d6d4;
    --color-bg: #ffffff;
    --color-bg-alt: #f5f3ee;
    --color-dark: #373925;
    --color-white: #ffffff;
    --color-rust: #a8481f;
    --color-olive: #3a3f2e;
    --color-olive-light: #565c43;
    --max-w: 1200px;
    --pad-x: 4rem;
    --ease: cubic-bezier(.22,.61,.36,1);
}
*{margin:0;margin-top: -0,5px;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
    font-family:'Noto Sans TC','Inter',sans-serif;
    color:var(--color-text);
    background:var(--color-bg-alt);
    overflow-x:hidden;
    font-weight:300;
}
h1,h2,h3{font-family:'Noto Serif TC','Fraunces',serif;font-weight:500;letter-spacing:.01em;}
a{color:inherit;text-decoration:none;}
img{display:block;width:100%;height:100%;object-fit:cover;}
button{font-family:inherit;border:none;background:none;cursor:pointer;}
.eyebrow {
    font-size: 0.7rem; /* 11.2px */
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: var(--color-text-soft);
    font-weight: 500;
}

/* Standard heading size untuk konsistensi */
.section-title {
    font-size: clamp(2rem, 3.4vw, 2.7rem);
    line-height: 1.35;
    color: var(--color-text);
    margin-top: 0.9rem;
}

/* Atau jika ingin semua heading h2 di sections konsisten */
section h2 {
    font-size: clamp(2rem, 3.4vw, 2.7rem);
    line-height: 1.35;
    color: var(--color-text);
}
header { display:none !important; }

.btn{
    padding:.95rem 2.2rem;font-size:.78rem;
    letter-spacing:.14em;text-transform:uppercase;transition:all .35s var(--ease);
	border-radius: 4px;
}
.btn-solid{background:var(--color-olive);color:var(--color-white);border-radius: 4px;}
.btn-solid:hover{background:var(--color-olive-light);text-decoration:none;}
.btn-outline{border:1px solid rgba(255,255,255,.55);color:var(--color-white);border-radius: 4px;}
.btn-outline:hover{border-color:var(--color-white);background:rgba(255,255,255,.08);text-decoration:none;}

/* ===== reveal on scroll ===== */
.reveal{
    opacity:0;
    transform:translateY(26px);
    transition:opacity .9s var(--ease), transform .9s var(--ease);
}
.reveal.in{
    opacity:1;
    transform:translateY(0);
}

@media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    .reveal{opacity:1;transform:none;transition:none;}
}

/* ===== HERO NAV — static top bar, POSITION ONLY (dipakai semua page) ===== */
.hero-nav{
    position:absolute;
    top:0; left:0; right:0;
    height:auto;
    z-index:4;
    pointer-events:auto;
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    padding:1.8rem var(--pad-x);
}
.corner{
    position:static;
    padding:0;
    margin-bottom:0;
}
.corner.tl{ order:1; }
.corner.bl{ order:2; margin-left:1.6rem; }
.corner.tr{ order:3; margin-left:auto; }
.corner.br{ order:4; margin-left:1.6rem; }
.corner a{
    font-size:1.10rem;
    letter-spacing:.2em;
    text-transform:uppercase;
    padding-bottom:2px;
    transition:border-color .3s var(--ease), opacity .3s var(--ease);
    white-space:nowrap;
    display:inline-block;
}
.dropdown-menu li,
.dropdown-menu .menu-item{
    list-style:none;
}
.scroll-cue{
    display:none; /* nav udah bukan pinned lagi, scroll-cue nggak relevan di semua page */
}

/* ===== DROPDOWN "MORE" — structure only, top-anchored (karena nav di atas) ===== */
.dropdown-nav{
    position:relative;
    display:inline-block;
    pointer-events:auto;
}
.dropdown-btn{
    background:none;
    border:none;
    font-size:1.10rem;
    letter-spacing:.2em;
    text-transform:uppercase;
    cursor:pointer;
    padding-bottom:2px;
    border-bottom:1px solid transparent;
    transition:border-color .3s var(--ease), opacity .3s var(--ease);
    font-family:inherit;
    white-space:nowrap;
}
.dropdown-menu{
    position:absolute;
    top:calc(100% + 20px);
    right:-8px;
    min-width:140px;
    padding:.6rem 0;
    opacity:0;
    visibility:hidden;
    transform:translateY(-6px);
    transition:opacity .3s var(--ease), transform .3s var(--ease), visibility .3s var(--ease);
    pointer-events:none;
}
.dropdown-menu.show{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
    pointer-events:auto;
}
.dropdown-menu a,
.dropdown-menu .menu-item a{
    display:block;
    padding:.35rem 0 .35rem 1.2rem;
    font-size:.7rem;
    letter-spacing:.18em;
    text-transform:uppercase;
    border-bottom:none !important;
    transition:opacity .25s var(--ease);
    text-align:right;
    white-space:nowrap;
}

/* ===== RESPONSIVE — NAV position (shared semua page) ===== */
@media (max-width:900px){
    :root{ --pad-x:1.6rem; }
    /*.hero-nav{
        flex-wrap:wrap;
        row-gap:1rem;
        padding:1.4rem var(--pad-x);
    }
    .corner{ padding:0; font-size:.62rem; }
    .corner.tl{ order:1; }
    .corner.bl{ order:2; margin-left:1.2rem; }
    .corner.tr{ order:3; margin-left:auto; }
    .corner.br{ order:4; margin-left:1.2rem; }*/
}
@media (max-width:900px) and (min-width:380px){
    .hero-fixed-wrap .hero-nav,
    .hero-nav{
        flex-wrap:wrap;
        row-gap:.9rem;
        column-gap:1.6rem;
        padding:1.4rem var(--pad-x);
        justify-content:center;
    }
    .hero-fixed-wrap .hero-nav .corner,
    .corner{ padding:0; font-size:.7rem; }
    .hero-fixed-wrap .hero-nav .corner.tl,
    .corner.tl{ order:1; margin-left:0; }
    .hero-fixed-wrap .hero-nav .corner.bl,
    .corner.bl{ order:2; margin-left:0; }
    .hero-fixed-wrap .hero-nav .corner.tr,
    .corner.tr{ order:3; margin-left:0; }
    .hero-fixed-wrap .hero-nav .corner.br,
    .corner.br{
        order:4;
        flex:1 0 100%;
        display:flex;
        justify-content:center;
        margin-left:0;
    }
    .dropdown-menu{
        right:auto;
        left:50%;
        transform:translateY(-6px) translateX(-50%);
    }
    .dropdown-menu.show{
        transform:translateY(0) translateX(-50%);
    }
    .dropdown-menu a,
    .dropdown-menu .menu-item a{
        text-align:center;
        padding-left:1.2rem;
        padding-right:1.2rem;
    }
}
@media (max-width:560px){
    :root{ --pad-x:1.1rem; }
    /*.corner.tr{ margin-left:0; }
    .hero-nav{
        position:static;
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:.75rem 1rem;
        padding:1.2rem var(--pad-x);
        justify-items:center;
    }
    .corner{ position:static; margin:0; padding:0; }
    .corner.tl{ grid-column:1; grid-row:1; }
    .corner.bl{ grid-column:2; grid-row:1; }
    .corner.tr{ grid-column:1; grid-row:2; }
    .corner.br{ grid-column:2; grid-row:2; }
    .corner a{ font-size:.62rem; letter-spacing:.12em; }
    .dropdown-menu{
        right:auto;
        left:50%;
        transform:translate(-50%,-6px);
    }
    .dropdown-menu.show{
        transform:translate(-50%,0);
    }*/
}

/* ===== FOOTER ===== */
footer{
    padding:1.8rem var(--pad-x) 1.8rem;
    max-width:var(--max-w);
    margin:0 auto;
    font-size:.8rem;letter-spacing:.03em;color:var(--color-text-soft);
}
.footer-top{
    display:flex;
    justify-content:space-between;
    align-items:flex-end; 
    padding-bottom:1.1rem;
    gap:2rem;
    flex-wrap:wrap;
}
footer .wordmark{
    font-family:'Noto Serif TC',serif;
    font-size:1.15rem;
    color:var(--color-text);
    letter-spacing:.05em;
    display:block;
    margin-bottom:.6rem;
}
.footer-logo{
    display:inline-block;
	padding-bottom: 5px;
}
.footer-logo__img{
    width:auto;
    height:32px;
    object-fit:contain;
}
footer .tagline{
    font-size:.7rem;
    letter-spacing:.22em;
    text-transform:uppercase;
    color:var(--color-text-soft);
}
.footer-social-wrap{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:.5rem;
	padding-top: 5px;
}
.footer-social{
    display:flex;
    flex-direction:row;
    gap:1rem;
}
.footer-social a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:32px;
    height:32px;
    color:var(--color-text-soft);
}
.footer-social a svg{
    width:18px;
    height:18px;
}
.footer-social a:hover{
    color:var(--color-accent);
	text-decoration: none;
}
.footer-social a.social-link{
    width:auto;
    min-width:32px;
    height:32px;
    padding:0 .55rem;
    gap:.3rem;
    border:1px solid var(--color-border);
    border-radius:4px;
}
.footer-social a.social-link svg{
    width:14px;
    height:14px;
}
.footer-social a.social-link span{
    font-size:.62rem;
    letter-spacing:.08em;
    text-transform:uppercase;
    font-weight:500;
}
.footer-social a.social-link:hover{
    border-color:var(--color-accent);
}
.footer-links-top{
    display:flex;
    gap:1.2rem;
    flex-wrap:wrap;
}
.footer-links-top li{
    list-style:none;
}
.footer-divider{
    height:1px;
    background:var(--color-border);
}
.footer-bottom{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding-top:1.1rem;
    flex-wrap:wrap;
    gap:1.6rem;
}
.footer-copy{
    font-size:.72rem;
    color:var(--color-text-soft);
}
.footer-addr{
	font-size: .81rem;
    color: var(--color-text-soft);
    text-align: right;
    display: flex;
    gap: 5px;
    flex-direction: column;
    align-self: center;
}
.footer-bottom{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    padding-top:1.1rem;
    flex-wrap:nowrap;
    gap:1.6rem;
}
.footer-bottom-left{
    display:flex;
    flex-direction:column;
	gap: 5px;
}
.footer-links-top{
    display:flex;
    gap:1.2rem;
    flex-wrap:wrap;
}
.footer-copy{
    font-size:.72rem;
    color:var(--color-text-soft);
}
/* ===== REZERV MODAL (shared by Schedule & Book) ===== */
.rezerv-modal{
    position:fixed;
    inset:0;
    z-index:1000;
    display:none;
}
.rezerv-modal.is-open{
    display:block;
}
.rezerv-modal__overlay{
    position:absolute;
    inset:0;
    background:rgba(20,15,10,.55);
    backdrop-filter:blur(2px);
}
.rezerv-modal__box{
    position:relative;
    z-index:1;
    background:var(--color-bg-alt);
    width:min(94vw,1080px);
    height:88vh;
    margin:6vh auto;
    display:flex;
    flex-direction:column;
    border-radius:4px;
    overflow:hidden;
    box-shadow:0 24px 60px rgba(0,0,0,.28);
}
.rezerv-modal__header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:1.1rem 1.4rem;
    border-bottom:1px solid var(--color-border);
    flex-shrink:0;
}
.rezerv-modal__title{
    font-size:.72rem;
    letter-spacing:.2em;
    text-transform:uppercase;
    color:var(--color-text);
}
.rezerv-modal__close{
    font-size:1.6rem;
    line-height:1;
    color:var(--color-text-soft);
    padding:.2rem .4rem;
    transition:color .25s var(--ease);
}
.rezerv-modal__close:hover{
    color:var(--color-text);
}
.rezerv-modal__body{
    flex:1;
    overflow-y:auto;
    overflow-x:hidden;
    padding:1rem;
}
.rezerv-modal__body iframe{
    display:block;
    width:100%;
    height:100%;
    border:none;
}
@media (max-width:900px){
    .footer-top{
        flex-direction:column;
		gap: 1rem;
    }
	.footer-social-wrap{
        align-items:flex-start !important;
    }
    .footer-bottom{
        flex-direction:column;
        align-items:flex-start;
    }
    .footer-addr{
        text-align:left;
    }
}
@media (max-width:740px){
    .rezerv-modal__box{
        width:100vw;
        max-height:100vh;
        height:100vh;
        margin:0;
        border-radius:0;
    }
}