:root {
    --koa-deep: #2C1810;
    --koa-mid: #3D2517;
    --sunset-orange: #E07B39;
    --sunset-gold: #D4A84B;
    --taro-purple: #6B5B7A;
    --ocean-teal: #3A7D7B;
    --ti-leaf: #4A7D28;
    --sand-cream: #F5EDE4;
    --sand-light: #F5F0E8;
    --warm-white: #FDFBF8;
    --text-primary: #2C1810;
    --text-secondary: #5D4E47;
    --danger: #D94F4F;
    --font-display: 'Dela Gothic One', cursive;
    --font-body: 'Outfit', sans-serif;
    --radius-sm: 8px; --radius-md: 14px; --radius-lg: 24px; --radius-xl: 28px; --radius-full: 100px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);background:var(--warm-white);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased}
.container{max-width:1200px;margin:0 auto;padding:0 2rem}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
.text-center{text-align:center}
.highlight{color:var(--sunset-orange)}

/* NAV */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(253,251,248,0.92);backdrop-filter:blur(12px);border-bottom:1px solid rgba(44,24,16,0.06);transition:all 0.3s}
.nav.scrolled{box-shadow:0 4px 20px rgba(44,24,16,0.08)}
.nav-inner{max-width:1200px;margin:0 auto;padding:0.75rem 2rem;display:flex;align-items:center;justify-content:space-between}
.nav-logo{display:flex;align-items:center;gap:0.75rem;font-family:var(--font-display);font-size:1rem;color:var(--koa-deep)}
.nav-logo img{border-radius:50%;width:42px;height:42px;object-fit:cover}
.nav-links{display:flex;align-items:center;gap:1.75rem}
.nav-links a{font-size:0.9rem;font-weight:500;color:var(--text-secondary);transition:color 0.2s}
.nav-links a:hover{color:var(--sunset-orange)}
.nav-cta{background:linear-gradient(135deg,var(--sunset-orange),var(--sunset-gold));color:white !important;padding:0.5rem 1.25rem;border-radius:var(--radius-full);font-weight:600 !important}
.nav-cta:hover{transform:translateY(-1px);box-shadow:0 4px 15px rgba(224,123,57,0.35)}
.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px}
.nav-toggle span{width:24px;height:2px;background:var(--koa-deep);border-radius:2px;transition:all 0.3s}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;padding:1rem 2rem;border-radius:var(--radius-full);font-family:var(--font-body);font-size:1rem;font-weight:700;cursor:pointer;border:none;transition:all 0.3s}
.btn-primary{background:linear-gradient(135deg,var(--sunset-orange),var(--sunset-gold));color:white;box-shadow:0 8px 25px rgba(224,123,57,0.35)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 40px rgba(224,123,57,0.45)}
.btn-outline{background:transparent;color:var(--koa-deep);border:2px solid var(--koa-deep)}
.btn-outline:hover{background:var(--koa-deep);color:white}
.btn-full{width:100%}

/* SECTION UTILS */
.section-label{font-size:0.8rem;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;color:var(--sunset-orange);margin-bottom:0.75rem}
.section-label-light{color:var(--sunset-gold)}
.section-label.text-center{text-align:center}
.section-title{font-family:var(--font-display);font-size:clamp(1.8rem,4vw,2.8rem);color:var(--koa-deep);line-height:1.2;margin-bottom:0.75rem}
.section-title span{color:var(--sunset-orange)}
.section-title-light{color:white}
.section-title-light span{color:var(--sunset-gold)}
.section-sub{font-size:1.05rem;color:var(--text-secondary);max-width:600px;margin:0 auto 3rem;line-height:1.6}
.section-sub-light{color:rgba(255,255,255,0.7);max-width:600px;margin:0 auto 3rem;font-size:1.05rem;line-height:1.6;text-align:center}

/* HERO */
.hero{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:6rem 2rem 2rem;max-width:1200px;margin:0 auto;gap:2rem;position:relative;overflow:hidden}
.hero-bg{position:fixed;inset:0;background:radial-gradient(ellipse at 15% 0%,rgba(224,123,57,0.07) 0%,transparent 50%),radial-gradient(ellipse at 85% 90%,rgba(107,91,122,0.05) 0%,transparent 50%),linear-gradient(160deg,var(--warm-white) 0%,var(--sand-cream) 100%);z-index:-2}
.hero-illustration{display:none}
.hero-watercolor{display:none}

/* Ko'olau mountains - in full-width wrapper so they span edge to edge */
.hero-wrapper{position:relative;overflow:hidden}
.hero-mountains{
    position:absolute;bottom:-38%;left:0;right:0;
    width:100%;height:auto;
    z-index:0;pointer-events:none;
    opacity:0.52;
    mask-image:linear-gradient(to top, rgba(0,0,0,1) 0%, rgba(0,0,0,1) 50%, rgba(0,0,0,0.7) 70%, rgba(0,0,0,0.4) 85%, rgba(0,0,0,0.15) 95%, transparent 100%);
    -webkit-mask-image:linear-gradient(to top, rgba(0,0,0,1) 0%, rgba(0,0,0,1) 50%, rgba(0,0,0,0.7) 70%, rgba(0,0,0,0.4) 85%, rgba(0,0,0,0.15) 95%, transparent 100%);
    filter:saturate(0.65) contrast(0.9);
}

/* Authentic Palaka - Hawaiian checkered twill plaid */
/* Wide woven bands cross to form darker check squares at intersections */
.palaka-bg{position:relative}
.palaka-bg::before{
    content:'';position:absolute;inset:0;z-index:0;pointer-events:none;
    background:
        /* Horizontal bands */
        repeating-linear-gradient(0deg,
            transparent 0px, transparent 16px,
            var(--palaka-band, rgba(44,24,16,0.05)) 16px, var(--palaka-band, rgba(44,24,16,0.05)) 28px,
            transparent 28px, transparent 44px
        ),
        /* Vertical bands - crossing creates darker squares */
        repeating-linear-gradient(90deg,
            transparent 0px, transparent 16px,
            var(--palaka-band, rgba(44,24,16,0.05)) 16px, var(--palaka-band, rgba(44,24,16,0.05)) 28px,
            transparent 28px, transparent 44px
        ),
        /* Diagonal twill weave texture */
        repeating-linear-gradient(45deg,
            transparent 0px, transparent 2px,
            var(--palaka-twill, rgba(44,24,16,0.012)) 2px, var(--palaka-twill, rgba(44,24,16,0.012)) 3px,
            transparent 3px, transparent 8px
        )
    ;
}
.palaka-bg>*:not(.flora){position:relative;z-index:1}

/* Color-tinted palaka for different sections */
.story-section.palaka-bg{--palaka-band:rgba(224,123,57,0.045);--palaka-twill:rgba(224,123,57,0.012)}
.education-section.palaka-bg{--palaka-band:rgba(74,103,65,0.045);--palaka-twill:rgba(74,103,65,0.012)}
.popup-menu-section.palaka-bg{--palaka-band:rgba(44,24,16,0.045);--palaka-twill:rgba(44,24,16,0.012)}
.faq-section.palaka-bg{--palaka-band:rgba(107,91,122,0.045);--palaka-twill:rgba(107,91,122,0.012)}
.hero-content{padding-right:2rem;position:relative;z-index:1}
.hero-eyebrow{font-size:0.85rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--sunset-orange);margin-bottom:1.25rem;animation:fadeInUp 0.6s ease-out}
.hero h1{font-family:var(--font-display);font-size:clamp(2.5rem,5.5vw,4rem);color:var(--koa-deep);line-height:1.15;margin-bottom:1.5rem;animation:fadeInUp 0.6s ease-out 0.1s both}
.hero-sub{font-size:1.1rem;color:var(--text-secondary);line-height:1.7;margin-bottom:2rem;max-width:480px;animation:fadeInUp 0.6s ease-out 0.2s both}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:3rem;animation:fadeInUp 0.6s ease-out 0.3s both}
.hero-stats{display:flex;align-items:center;gap:1.5rem;animation:fadeInUp 0.6s ease-out 0.4s both}
.stat{text-align:center}
.stat strong{display:block;font-family:var(--font-display);font-size:1.5rem;color:var(--sunset-orange)}
.stat span{font-size:0.8rem;color:var(--text-secondary);font-weight:500}
.stat-divider{width:1px;height:40px;background:rgba(44,24,16,0.15)}
.hero-image-area{display:flex;justify-content:center;align-items:center;animation:fadeInUp 0.8s ease-out 0.3s both;position:relative;z-index:1}
.hero-plate-img{width:100%;max-width:520px;border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 30px 80px rgba(44,24,16,0.2);transform:rotate(2deg);transition:transform 0.4s}
.hero-plate-img:hover{transform:rotate(0deg) scale(1.02)}
.hero-plate-img img{width:100%}
@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}

/* STORY */
.story-section{padding:6rem 0;background:linear-gradient(180deg,var(--sand-cream) 0%,var(--warm-white) 100%)}
.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.story-content p{color:var(--text-secondary);margin-bottom:1rem;line-height:1.7}
.story-quote{margin-top:2rem;padding:1.5rem;background:white;border-radius:var(--radius-md);border-left:4px solid var(--sunset-orange);box-shadow:0 8px 30px rgba(44,24,16,0.06)}
.story-quote blockquote{font-family:var(--font-display);font-size:1.1rem;color:var(--koa-deep);margin-bottom:0.5rem}
.story-quote cite{font-size:0.9rem;color:var(--sunset-orange);font-style:normal;font-weight:600}
.story-image{position:relative}
.story-image img{border-radius:var(--radius-lg);box-shadow:0 25px 60px rgba(44,24,16,0.15)}
.image-caption{text-align:center;margin-top:0.75rem;font-size:0.85rem;font-weight:600;color:var(--text-secondary);letter-spacing:0.04em}

/* EDUCATION */
.education-section{padding:6rem 0;text-align:center;position:relative;overflow:hidden;background:linear-gradient(180deg,var(--sand-cream) 0%,var(--warm-white) 50%,var(--sand-cream) 100%)}
.education-section>*:not(.flora){position:relative;z-index:1}
.edu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:2rem}
.edu-card{background:white;padding:2rem 1.5rem;border-radius:var(--radius-lg);box-shadow:0 8px 30px rgba(44,24,16,0.06);transition:transform 0.3s}
.edu-card:hover{transform:translateY(-4px)}
.edu-card-icon{width:80px;height:80px;margin:0 auto 1rem}
.edu-card-icon svg{width:100%;height:100%;filter:drop-shadow(0 3px 6px rgba(0,0,0,0.12))}
.edu-card h3{font-family:var(--font-display);font-size:1.2rem;color:var(--koa-deep);margin-bottom:0.25rem}
.edu-hawaiian{font-size:0.85rem;color:var(--sunset-orange);font-style:italic;margin-bottom:1rem;font-weight:500}
.edu-card p:last-child{font-size:0.92rem;color:var(--text-secondary);line-height:1.6}

/* CATERING CALCULATOR - KOA WOOD */
.catering-calc-section{position:relative;overflow:hidden;padding:6rem 0}
.catering-calc-bg{position:absolute;inset:0;background:linear-gradient(175deg,#2C1810 0%,#3D2517 35%,#2C1810 65%,#231008 100%);z-index:0}
.catering-calc-bg::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(2deg,transparent 0px,transparent 18px,rgba(255,200,140,0.025) 18px,rgba(255,200,140,0.025) 19px,transparent 19px,transparent 24px,rgba(80,40,15,0.08) 24px,rgba(80,40,15,0.08) 25px),repeating-linear-gradient(178deg,transparent 0px,transparent 35px,rgba(255,180,100,0.018) 35px,rgba(255,180,100,0.018) 36px,transparent 36px,transparent 55px,rgba(60,30,10,0.06) 55px,rgba(60,30,10,0.06) 56px)}
.catering-calc-bg::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 25% 30%,rgba(139,90,43,0.12) 0%,transparent 50%),radial-gradient(ellipse at 70% 60%,rgba(101,67,33,0.1) 0%,transparent 45%),radial-gradient(ellipse at 50% 85%,rgba(160,100,50,0.06) 0%,transparent 40%)}
.cc-container{position:relative;z-index:1}

/* TABS */
.cc-tabs{display:flex;gap:0.5rem;justify-content:center;margin-bottom:2.5rem}
.cc-tab{padding:0.75rem 2rem;border-radius:var(--radius-full);font-family:var(--font-body);font-size:0.95rem;font-weight:700;cursor:pointer;border:2px solid rgba(255,255,255,0.15);background:rgba(255,255,255,0.06);color:rgba(255,255,255,0.6);transition:all 0.3s}
.cc-tab:hover{background:rgba(255,255,255,0.1);color:white}
.cc-tab.active{background:var(--sunset-orange);border-color:var(--sunset-orange);color:white;box-shadow:0 8px 25px rgba(224,123,57,0.35)}
.cc-panel{display:none}
.cc-panel.active{display:block}

/* PER HEAD */
.cc-layout{display:grid;grid-template-columns:1fr 380px;gap:2rem;align-items:start}
.cc-menu-showcase{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.08);border-radius:var(--radius-lg);padding:2rem;backdrop-filter:blur(4px)}
.cc-menu-title{font-family:var(--font-display);font-size:1.1rem;color:white;margin-bottom:0.5rem}
.cc-menu-sub{font-size:0.88rem;color:rgba(255,255,255,0.5);margin-bottom:1.5rem}
.cc-items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:0.75rem}
.cc-item{background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.06);border-radius:var(--radius-md);padding:1rem;text-align:center}
.cc-item-icon{width:55px;height:55px;margin:0 auto 0.5rem}
.cc-item-icon svg{width:100%;height:100%;filter:drop-shadow(0 2px 4px rgba(0,0,0,0.2))}
.cc-item h4{font-weight:700;font-size:0.85rem;color:white;margin-bottom:0.1rem}
.cc-item .cc-hawaiian{font-size:0.72rem;color:var(--sunset-gold);font-style:italic}

/* ADDONS */
.cc-addons{margin-top:1.5rem}
.cc-addons-title{font-family:var(--font-display);font-size:0.95rem;color:white;margin-bottom:1rem}
.cc-addon-row{display:flex;align-items:center;justify-content:space-between;padding:0.75rem 1rem;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.06);border-radius:var(--radius-sm);margin-bottom:0.5rem;cursor:pointer;transition:all 0.2s}
.cc-addon-row:hover{background:rgba(255,255,255,0.08)}
.cc-addon-row.selected{background:rgba(224,123,57,0.15);border-color:var(--sunset-orange)}
.cc-addon-row .cc-addon-left{display:flex;align-items:center;gap:0.75rem}
.cc-addon-check{width:22px;height:22px;border-radius:6px;border:2px solid rgba(255,255,255,0.2);display:flex;align-items:center;justify-content:center;font-size:0.7rem;color:transparent;transition:all 0.2s;flex-shrink:0}
.cc-addon-row.selected .cc-addon-check{background:var(--sunset-orange);border-color:var(--sunset-orange);color:white}
.cc-addon-name{font-size:0.9rem;color:white;font-weight:500}
.cc-addon-desc{font-size:0.75rem;color:rgba(255,255,255,0.4)}
.cc-addon-price{font-family:var(--font-display);font-size:0.9rem;color:var(--sunset-gold);white-space:nowrap}

/* PAN ORDERS */
.cc-pans-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}
.cc-pan-card{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.08);border-radius:var(--radius-lg);padding:1.5rem;backdrop-filter:blur(4px)}
.cc-pan-card h4{font-family:var(--font-display);font-size:1rem;color:white;margin-bottom:0.75rem}
.cc-pan-sizes{display:flex;flex-direction:column;gap:0.5rem}
.cc-pan-size{display:flex;align-items:center;gap:0.5rem;padding:0.5rem 0.75rem;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.06);border-radius:var(--radius-sm);transition:all 0.2s}
.cc-pan-size:hover{background:rgba(255,255,255,0.08)}
.cc-pan-size.selected{background:rgba(224,123,57,0.15);border-color:var(--sunset-orange)}
.cc-pan-size-left{display:flex;align-items:center;gap:0.5rem}
.cc-pan-label{font-size:0.85rem;color:white}
.cc-pan-feeds{font-size:0.72rem;color:rgba(255,255,255,0.4)}
.cc-pan-price{font-family:var(--font-display);font-size:1rem;color:var(--sunset-gold)}
.cc-qty-controls{display:flex;align-items:center;gap:0.4rem;margin-left:auto;padding-left:0.75rem}
.cc-qty-btn{width:26px;height:26px;border-radius:50%;border:1.5px solid rgba(255,255,255,0.2);background:rgba(255,255,255,0.06);color:rgba(255,255,255,0.6);font-size:0.9rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.2s;padding:0;line-height:1}
.cc-qty-btn:hover{background:var(--sunset-orange);border-color:var(--sunset-orange);color:white}
.cc-qty-num{font-weight:700;font-size:0.9rem;color:white;min-width:20px;text-align:center}
.cc-pan-card.has-selection{border-color:var(--sunset-orange);background:rgba(224,123,57,0.08)}
.cc-pan-size-info{display:flex;flex-direction:column}

/* SIDEBAR */
.cc-sidebar{position:sticky;top:5rem}
.cc-preview-card{background:rgba(255,255,255,0.95);border-radius:var(--radius-xl);padding:1.5rem;box-shadow:0 25px 60px rgba(0,0,0,0.3)}
.cc-preview-header{text-align:center;margin-bottom:1rem}
.cc-preview-header h3{font-family:var(--font-display);font-size:1.1rem;color:var(--koa-deep);margin-bottom:0.4rem}
.cc-price-tag{display:inline-block;background:linear-gradient(135deg,var(--sunset-orange),var(--sunset-gold));color:white;padding:0.3rem 0.85rem;border-radius:var(--radius-full);font-size:0.85rem;font-weight:700}
.cc-guests{display:flex;align-items:center;justify-content:space-between;background:var(--sand-cream);border-radius:var(--radius-sm);padding:0.6rem 0.85rem;margin-bottom:1rem}
.cc-guests>span{font-weight:600;font-size:0.85rem}
.cc-guest-controls{display:flex;align-items:center;gap:0.6rem}
.cc-guest-btn{width:30px;height:30px;border-radius:50%;border:2px solid var(--koa-deep);background:white;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;font-weight:600;transition:all 0.2s}
.cc-guest-btn:hover{background:var(--koa-deep);color:white}
.cc-guest-count{font-size:1.2rem;font-weight:700;min-width:35px;text-align:center}
.cc-summary{border-top:2px dashed var(--sand-cream);padding-top:1rem}
.cc-summary-row{display:flex;justify-content:space-between;margin-bottom:0.35rem;font-size:0.85rem}
.cc-summary-row.cc-total{font-weight:700;font-size:1.1rem;color:var(--koa-deep);border-top:2px solid var(--sand-cream);padding-top:0.6rem;margin-top:0.4rem}
.cc-estimate-note{font-size:0.7rem;color:var(--text-secondary);text-align:center;margin-top:0.4rem;font-style:italic}
.cc-cta{width:100%;padding:0.9rem;background:linear-gradient(135deg,var(--sunset-orange),var(--sunset-gold));color:white;border:none;border-radius:var(--radius-full);font-family:var(--font-body);font-size:0.95rem;font-weight:700;cursor:pointer;transition:all 0.3s;box-shadow:0 8px 25px rgba(224,123,57,0.35);display:flex;align-items:center;justify-content:center;gap:0.5rem;margin-top:1rem}
.cc-cta:hover{transform:translateY(-2px);box-shadow:0 14px 40px rgba(224,123,57,0.45)}
.cc-sidebar-section{margin-bottom:1rem}
.cc-toggle-row{display:flex;align-items:center;gap:0.75rem;padding:0.75rem;background:var(--sand-cream);border-radius:var(--radius-sm);cursor:pointer;transition:all 0.2s;margin-bottom:0.5rem}
.cc-toggle-row:hover{background:rgba(224,123,57,0.08)}
.cc-toggle-check{width:24px;height:24px;border-radius:6px;border:2px solid #ccc;display:flex;align-items:center;justify-content:center;font-size:0.75rem;color:transparent;flex-shrink:0;transition:all 0.2s}
.cc-toggle-row.active .cc-toggle-check{background:var(--sunset-orange);border-color:var(--sunset-orange);color:white}
.cc-toggle-row strong{font-size:0.9rem;color:var(--koa-deep)}
.cc-breakdown-label{font-size:0.72rem;text-transform:uppercase;letter-spacing:0.08em;color:var(--text-secondary);font-weight:600;margin:0.6rem 0 0.25rem;padding-top:0.5rem;border-top:1px dashed var(--sand-cream)}

/* SOCIAL PROOF */
.proof-section{padding:6rem 0;background:var(--sand-light)}
.proof-top{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-bottom:3rem;align-items:center}
.proof-clients h3{font-family:var(--font-display);font-size:1.1rem;color:var(--koa-deep);margin-bottom:1rem}
.proof-clients p{color:var(--text-secondary);font-size:0.92rem;line-height:1.6}
.proof-photo{border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 15px 40px rgba(44,24,16,0.12)}
.proof-photo img{width:100%;height:280px;object-fit:cover}
.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;text-align:left}
.testimonial-card{background:white;border-radius:var(--radius-lg);padding:2rem;box-shadow:0 4px 15px rgba(44,24,16,0.04)}
.testimonial-card p{font-size:0.92rem;color:var(--text-secondary);line-height:1.6;font-style:italic;margin-bottom:0.75rem}
.testimonial-card cite{font-size:0.82rem;color:var(--sunset-orange);font-weight:600;font-style:normal}

/* POPUP MENU (condensed) */
.popup-menu-section{padding:5rem 0;background:var(--sand-cream)}
.popup-menu-section .section-label{color:var(--sunset-orange)}
.popup-menu-section .section-title{color:var(--koa-deep)}
.popup-menu-section .section-title span{color:var(--sunset-orange)}
.popup-menu-section .section-sub{text-align:center;color:var(--text-secondary)}
.menu-table-wrap{max-width:800px;margin:0 auto}
.menu-table-category{margin-bottom:2rem}
.menu-table-category h3{font-family:var(--font-display);font-size:1rem;color:var(--koa-deep);padding-bottom:0.5rem;border-bottom:2px solid var(--sunset-orange);margin-bottom:0.75rem;display:inline-block}
.menu-table{width:100%}
.menu-table-row{display:flex;align-items:center;justify-content:space-between;padding:0.6rem 0;border-bottom:1px solid rgba(44,24,16,0.1)}
.menu-table-row:last-child{border-bottom:none}
.menu-table-name{font-weight:600;font-size:0.92rem;color:var(--koa-deep)}
.menu-table-desc{font-size:0.82rem;color:var(--text-secondary);flex:1;margin:0 1.5rem}
.menu-table-price{font-family:var(--font-display);font-size:1rem;color:var(--sunset-orange);white-space:nowrap}
.menu-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem;max-width:800px;margin-left:auto;margin-right:auto}
.menu-photo{border-radius:var(--radius-md);overflow:hidden;box-shadow:0 8px 25px rgba(44,24,16,0.1)}
.menu-photo img{width:100%;height:200px;object-fit:cover;transition:transform 0.4s}
.menu-photo:hover img{transform:scale(1.05)}

/* LOCATIONS */
.locations-section{padding:6rem 0;text-align:center;position:relative;overflow:hidden}
.locations-section>*:not(.flora){position:relative;z-index:1}
.locations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem;margin-top:2rem}
.location-card{background:white;border-radius:var(--radius-lg);padding:2rem;box-shadow:0 4px 15px rgba(44,24,16,0.04);text-align:left;transition:transform 0.3s;border-top:3px solid transparent}
.location-card:hover{transform:translateY(-3px)}
.location-card.featured{border-top-color:var(--sunset-orange)}
.location-day{font-family:var(--font-display);font-size:0.8rem;color:var(--sunset-orange);margin-bottom:0.4rem;text-transform:uppercase}
.location-card h3{font-family:var(--font-display);font-size:1.05rem;color:var(--koa-deep);margin-bottom:0.35rem}
.location-card p{font-size:0.85rem;color:var(--text-secondary);margin-bottom:0.5rem;line-height:1.4}
.location-time{font-weight:700;font-size:0.88rem;color:var(--koa-deep)}
.location-note{margin-top:0.4rem;font-size:0.78rem;color:var(--taro-purple);font-style:italic}
.location-directions{display:inline-block;margin-top:0.75rem;font-size:0.82rem;font-weight:600;color:var(--sunset-orange);text-decoration:none;transition:color 0.2s}
.location-directions:hover{color:var(--koa-deep)}

/* CONTACT FORM */
.form-section{padding:6rem 0;background:var(--sand-light);position:relative;overflow:hidden}
.form-section::after{content:'';position:absolute;top:0;left:0;right:0;height:50%;background:url(../images/koolau-watercolor.png) no-repeat 80% top / 110% auto;opacity:0.15;pointer-events:none;mask-image:linear-gradient(to bottom,rgba(0,0,0,0.4) 0%,rgba(0,0,0,0.15) 40%,transparent 70%);-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,0.4) 0%,rgba(0,0,0,0.15) 40%,transparent 70%);filter:saturate(0.5)}
.form-section>*:not(.flora){position:relative;z-index:1}
.form-card{max-width:700px;margin:0 auto;background:white;border-radius:var(--radius-xl);padding:3rem;box-shadow:0 25px 60px rgba(44,24,16,0.1)}
.phone-link{color:var(--sunset-orange);font-weight:600}
.form-note{font-size:0.78rem;color:var(--text-secondary);text-align:center;margin-top:1rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form-group{margin-bottom:1rem}
.form-group label{display:block;font-weight:600;font-size:0.85rem;margin-bottom:0.3rem;color:var(--koa-deep)}
.req{color:var(--danger)}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:0.7rem 0.85rem;border:2px solid var(--sand-cream);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:0.92rem;transition:border-color 0.2s;background:white}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--sunset-orange)}
.form-group textarea{resize:vertical;min-height:80px}

/* FOOTER */
.footer{background:var(--koa-deep);padding:4rem 0 2rem;color:rgba(255,255,255,0.7)}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:3rem;margin-bottom:3rem}
.footer-brand img{border-radius:50%;margin-bottom:1rem}
.footer-brand h3{font-family:var(--font-display);color:white;font-size:1.1rem;margin-bottom:0.75rem}
.footer-brand p{font-size:0.88rem;line-height:1.6}
.footer-links h4,.footer-contact h4{font-family:var(--font-display);color:white;font-size:0.9rem;margin-bottom:1rem}
.footer-links a,.footer-contact a{display:block;font-size:0.88rem;margin-bottom:0.6rem;transition:color 0.2s}
.footer-links a:hover,.footer-contact a:hover{color:var(--sunset-orange)}
.footer-payment{margin-top:1rem;font-size:0.82rem}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.1);padding-top:1.5rem;text-align:center;font-size:0.82rem}

/* MODAL */
.cc-modal-overlay{display:none;position:fixed;inset:0;background:rgba(44,24,16,0.6);backdrop-filter:blur(8px);z-index:1000;align-items:center;justify-content:center;padding:1rem}
.cc-modal-overlay.active{display:flex}
.cc-modal{background:white;border-radius:var(--radius-xl);padding:2.5rem;max-width:520px;width:100%;max-height:90vh;overflow-y:auto;animation:slideUp 0.4s ease-out;position:relative}
@keyframes slideUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
.cc-modal-close{position:absolute;top:1rem;right:1rem;width:36px;height:36px;border-radius:50%;border:none;background:var(--sand-cream);cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:all 0.2s}
.cc-modal-close:hover{background:var(--koa-deep);color:white}
.cc-modal h2{font-family:var(--font-display);font-size:1.5rem;color:var(--koa-deep);margin-bottom:0.25rem}
.cc-modal-sub{color:var(--text-secondary);font-size:0.9rem;margin-bottom:1.5rem;line-height:1.5}
.cc-modal-summary{background:var(--sand-cream);border-radius:var(--radius-md);padding:0.85rem 1rem;margin-bottom:1.5rem;font-size:0.85rem}
.cc-modal-summary strong{display:block;margin-bottom:0.2rem;color:var(--koa-deep)}
.cc-submit-btn{width:100%;padding:1rem;background:linear-gradient(135deg,var(--sunset-orange),var(--sunset-gold));color:white;border:none;border-radius:var(--radius-full);font-family:var(--font-body);font-size:1.05rem;font-weight:700;cursor:pointer;transition:all 0.3s;box-shadow:0 8px 25px rgba(224,123,57,0.3);margin-top:0.5rem}
.cc-submit-btn:hover{transform:translateY(-2px)}
.cc-disclaimer{font-size:0.75rem;color:var(--text-secondary);text-align:center;margin-top:0.75rem}
.cc-success{text-align:center;padding:2rem 0}
.cc-success-emoji{font-size:4rem;display:block;margin-bottom:1rem}
.cc-success h2{font-family:var(--font-display);color:var(--koa-deep);margin-bottom:0.5rem}
.cc-success p{color:var(--text-secondary);line-height:1.6}

/* ===== FLORA ACCENTS ===== */
/* Two flowers per section, flanking content — not hidden in corners */
.flora{position:absolute;pointer-events:none;z-index:0}

/* HERO - plumeria bottom-left, anthurium top-right */
.flora-hero-bl{
    bottom:8%;left:2%;width:140px;height:auto;
    opacity:0.3;transform:rotate(20deg);
    filter:saturate(0.7);
}
.flora-hero-tr{
    top:12%;right:1%;width:120px;height:auto;
    opacity:0.25;transform:rotate(-25deg) scaleX(-1);
    filter:saturate(0.65);
}

/* EDUCATION - hibiscus top-right near title, plumeria bottom-left */
.flora-edu-tr{
    top:4%;right:4%;width:160px;height:auto;
    opacity:0.3;transform:rotate(-12deg);
    filter:saturate(0.7);
}
.flora-edu-bl{
    bottom:4%;left:4%;width:130px;height:auto;
    opacity:0.25;transform:rotate(25deg);
    filter:saturate(0.65);
}

/* LOCATIONS - anthurium bottom-left, hibiscus top-right */
.flora-loc-bl{
    bottom:5%;left:3%;width:140px;height:auto;
    opacity:0.28;transform:rotate(15deg) scaleX(-1);
    filter:saturate(0.65);
}
.flora-loc-tr{
    top:4%;right:3%;width:130px;height:auto;
    opacity:0.25;transform:rotate(-20deg) scaleX(-1);
    filter:saturate(0.6);
}

@media(max-width:900px){
    .flora-hero-bl{width:110px;opacity:0.28}
    .flora-hero-tr{width:95px;opacity:0.22}
    .flora-edu-tr{width:130px;right:2%;opacity:0.28}
    .flora-edu-bl{width:105px;left:2%;opacity:0.22}
    .flora-loc-bl{width:110px;opacity:0.25}
    .flora-loc-tr{width:105px;opacity:0.22}
}
@media(max-width:600px){
    /* Flowers stay inside overflow:hidden bounds - no negative positions */
    .flora-hero-bl{width:120px;opacity:0.32;bottom:2%;left:0}
    .flora-hero-tr{width:100px;opacity:0.28;top:6%;right:0}
    .flora-edu-tr{width:140px;right:0;top:0;opacity:0.35}
    .flora-edu-bl{width:115px;left:0;bottom:0;opacity:0.3}
    .flora-loc-bl{width:120px;left:0;bottom:2%;opacity:0.3}
    .flora-loc-tr{width:110px;right:0;top:1%;opacity:0.28}
}

/* SCROLL REVEAL */
.reveal{opacity:0;transform:translateY(20px);transition:opacity 0.6s ease-out,transform 0.6s ease-out}
.reveal.visible{opacity:1;transform:translateY(0)}

/* RESPONSIVE */
@media(max-width:900px){
    .hero{grid-template-columns:1fr;text-align:center;padding-top:5rem}
    .hero-content{padding-right:0}
    .hero-mountains{opacity:0.35;bottom:0;top:0;height:100%;object-fit:cover;object-position:center 40%;
        mask-image:linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.3) 10%, rgba(0,0,0,0.5) 25%, rgba(0,0,0,0.6) 50%, rgba(0,0,0,0.5) 75%, rgba(0,0,0,0.3) 90%, transparent 100%);
        -webkit-mask-image:linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.3) 10%, rgba(0,0,0,0.5) 25%, rgba(0,0,0,0.6) 50%, rgba(0,0,0,0.5) 75%, rgba(0,0,0,0.3) 90%, transparent 100%)
    }
    .hero-sub{margin:0 auto 2rem}
    .hero-actions{justify-content:center}
    .hero-stats{justify-content:center}
    .hero-plate-img{max-width:380px;transform:none}
    .story-grid{grid-template-columns:1fr}
    .story-image{order:-1}
    .edu-grid{grid-template-columns:1fr;max-width:400px;margin:2rem auto 0}
    .cc-layout{grid-template-columns:1fr}
    .cc-sidebar{position:relative;top:0;order:-1;max-width:400px;margin:0 auto 2rem}
    .proof-top{grid-template-columns:1fr}
    .footer-grid{grid-template-columns:1fr;text-align:center}
    .nav-links{display:none}
    .nav-links.open{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:white;padding:1.5rem;box-shadow:0 10px 30px rgba(44,24,16,0.1);gap:1rem}
    .nav-toggle{display:flex}
}
@media(max-width:600px){
    .hero-mountains{opacity:0.38;bottom:0;top:0;height:100%;object-fit:cover;object-position:center 35%;
        mask-image:linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.35) 8%, rgba(0,0,0,0.55) 20%, rgba(0,0,0,0.65) 50%, rgba(0,0,0,0.55) 80%, rgba(0,0,0,0.35) 92%, transparent 100%);
        -webkit-mask-image:linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.35) 8%, rgba(0,0,0,0.55) 20%, rgba(0,0,0,0.65) 50%, rgba(0,0,0,0.55) 80%, rgba(0,0,0,0.35) 92%, transparent 100%)
    }
    .cc-tabs{flex-direction:column;max-width:280px;margin-left:auto;margin-right:auto}
    .cc-items-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}
    .cc-pans-grid{grid-template-columns:1fr}
    .form-row{grid-template-columns:1fr}
    .cc-modal{padding:1.5rem}
    .locations-grid{grid-template-columns:1fr}
    .menu-photos{grid-template-columns:1fr}
    .menu-table-row{flex-wrap:wrap}
    .menu-table-desc{margin:0.25rem 0;flex-basis:100%;order:3}
}

/* ===== FOOD HIGHLIGHTS GALLERY ===== */
.food-gallery-section{padding:5rem 0;background:linear-gradient(180deg,var(--sand-cream) 0%,var(--warm-white) 40%,var(--warm-white) 60%,var(--sand-cream) 100%)}
.food-gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;margin-top:2.5rem}
.food-gallery-item{position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:2/3;cursor:pointer;box-shadow:0 8px 30px rgba(44,24,16,0.1)}
.food-gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform 0.5s cubic-bezier(0.4,0,0.2,1)}
.food-gallery-item:hover img{transform:scale(1.06)}
.food-gallery-overlay{position:absolute;bottom:0;left:0;right:0;padding:1.5rem 1.25rem;background:linear-gradient(0deg,rgba(44,24,16,0.85) 0%,rgba(44,24,16,0.4) 60%,transparent 100%);color:white;transform:translateY(10px);opacity:0;transition:all 0.35s ease}
.food-gallery-item:hover .food-gallery-overlay{transform:translateY(0);opacity:1}
.food-gallery-overlay h3{font-family:'Dela Gothic One',cursive;font-size:1.1rem;margin-bottom:0.25rem;color:white}
.food-gallery-overlay p{font-size:0.85rem;opacity:0.9;line-height:1.4}
@media(max-width:900px){.food-gallery-grid{grid-template-columns:1fr 1fr;gap:1rem}}
@media(max-width:500px){.food-gallery-grid{grid-template-columns:1fr;max-width:340px;margin-left:auto;margin-right:auto}}

/* ===== CORPORATE CATERING SECTION ===== */
.corporate-section{padding:5rem 0;background:linear-gradient(180deg,var(--warm-white) 0%,var(--sand-cream) 100%);position:relative;overflow:hidden}
.corporate-section::after{content:'';position:absolute;bottom:-25%;left:0;right:0;height:80%;background:url(../images/koolau-watercolor.png) no-repeat center bottom / 140% auto;opacity:0.55;pointer-events:none;mask-image:linear-gradient(to top,rgba(0,0,0,1) 0%,rgba(0,0,0,0.8) 40%,rgba(0,0,0,0.5) 65%,rgba(0,0,0,0.2) 82%,transparent 95%);-webkit-mask-image:linear-gradient(to top,rgba(0,0,0,1) 0%,rgba(0,0,0,0.8) 40%,rgba(0,0,0,0.5) 65%,rgba(0,0,0,0.2) 82%,transparent 95%);filter:saturate(0.6)}
.corporate-section>*:not(.flora){position:relative;z-index:1}
.corp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2.5rem;margin-bottom:2.5rem}
.corp-card{background:white;border-radius:20px;padding:2rem 1.5rem;text-align:center;box-shadow:0 8px 30px rgba(44,24,16,0.06);transition:transform 0.3s,box-shadow 0.3s}
.corp-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(44,24,16,0.1)}
.corp-icon{font-size:2.5rem;margin-bottom:1rem}
.corp-card h3{font-family:'Dela Gothic One',cursive;font-size:1.05rem;color:var(--koa-deep);margin-bottom:0.75rem}
.corp-card p{font-size:0.9rem;color:var(--text-secondary);line-height:1.6}
.corp-clients{text-align:center;background:white;border-radius:20px;padding:2rem;box-shadow:0 8px 30px rgba(44,24,16,0.06);position:relative;overflow:hidden}
.corp-clients.palaka-bg{--palaka-band:rgba(224,123,57,0.07);--palaka-twill:rgba(224,123,57,0.02)}
.corp-clients-label{font-family:'Dela Gothic One',cursive;font-size:0.9rem;color:var(--koa-deep);margin-bottom:1rem;text-transform:uppercase;letter-spacing:0.5px}
.corp-clients-list{display:flex;flex-wrap:wrap;justify-content:center;gap:0.6rem}
.corp-client-tag{background:var(--sand-cream);color:var(--koa-deep);padding:0.5rem 1rem;border-radius:100px;font-size:0.85rem;font-weight:600;white-space:nowrap}
@media(max-width:768px){.corp-grid{grid-template-columns:1fr;max-width:420px;margin-left:auto;margin-right:auto}}

/* ===== FAQ SECTION ===== */
.faq-section{padding:5rem 0;background:linear-gradient(180deg,var(--sand-cream) 0%,var(--warm-white) 100%)}
.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;margin-top:2.5rem;max-width:1000px;margin-left:auto;margin-right:auto}
.faq-category-title{font-family:'Dela Gothic One',cursive;font-size:1rem;color:var(--sunset-orange);margin-bottom:1.25rem;padding-bottom:0.75rem;border-bottom:2px solid rgba(224,123,57,0.2)}
.faq-item{background:white;border-radius:16px;margin-bottom:0.75rem;box-shadow:0 4px 15px rgba(44,24,16,0.05);overflow:hidden;transition:box-shadow 0.3s}
.faq-item:hover{box-shadow:0 8px 25px rgba(44,24,16,0.08)}
.faq-question{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.15rem 1.25rem;background:none;border:none;cursor:pointer;font-family:'Outfit',sans-serif;font-size:0.95rem;font-weight:600;color:var(--koa-deep);text-align:left;line-height:1.4;transition:color 0.2s}
.faq-question:hover{color:var(--sunset-orange)}
.faq-chevron{flex-shrink:0;transition:transform 0.3s ease;color:var(--sunset-orange)}
.faq-item.open .faq-chevron{transform:rotate(180deg)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height 0.4s ease,padding 0.3s ease}
.faq-item.open .faq-answer{max-height:400px;padding:0 1.25rem 1.25rem}
.faq-answer p{font-size:0.9rem;line-height:1.7;color:var(--text-secondary)}
.faq-answer a{text-decoration:none}
.faq-answer a:hover{text-decoration:underline}
@media(max-width:768px){.faq-grid{grid-template-columns:1fr;gap:2rem}}
