/* Preview-only polish. No rules target the first section. */
:root{--note-surface:#FFF8EE;--note-end:#FAF1E7;--note-line:#E9D9C8;--service-tile:#FFFFFF0D;--service-tile-hover:#FFFFFF18;--service-tile-line:#FFF0E33B}
:root[data-theme=dark]{--note-surface:#26262D;--note-end:#2E282D;--note-line:#51464A;--service-tile:#FFFFFF09;--service-tile-hover:#FFFFFF14;--service-tile-line:#FFF0E330}
main>section:not(.hero) h2::after{content:'';display:block;width:62px;height:4px;margin-top:22px;background:var(--coral);border-radius:4px;transform-origin:left}
.catering h2::after,.enquiry-section h2::after{background:#FFF0E3}
.section-heading{align-items:center}.section-heading>p{line-height:1.75;max-width:47ch}
#experience{background:linear-gradient(125deg,#B74B36 0%,#9B4032 100%)}
:root[data-theme=dark] #experience{background:linear-gradient(125deg,#8C382C 0%,#6C3029 100%)}
.catering-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:40px;align-items:start}.station-photo img{height:420px;object-fit:cover;border-radius:20px}.station-photo figcaption{line-height:1.6}
.service-details h3{font-size:25px;line-height:1.25;letter-spacing:-.025em;margin-bottom:20px}
.service-features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.service-feature{display:flex;align-items:start;gap:12px;padding:20px 16px;min-width:0;border:1px solid var(--service-tile-line);background:var(--service-tile);border-radius:14px}
.service-feature-number{display:flex;justify-content:center;align-items:center;flex:none;width:26px;height:26px;font-size:11px;line-height:1;color:#FFF0E3;border:1px solid var(--service-tile-line);border-radius:50%}
.service-feature h4{font-size:16px;line-height:1.4;margin:1px 0 8px;letter-spacing:-.015em;color:#FFF8EA;font-weight:650}
.catering .service-feature p{font-size:13px;line-height:1.65;margin:0;color:#FFF0E3}
.service-area{margin-top:24px;margin-bottom:18px;line-height:1.7}.service-area strong{display:inline-block;margin-bottom:3px}.catering .text-link{display:inline-block;min-height:30px}
.dosa-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:44px}.dosa-note{padding:24px 28px;background:var(--note-surface);border-top:1px solid var(--note-line);border-bottom:1px solid var(--note-line)}
.dosa-note:first-child{border-radius:14px 0 0 14px;border-left:1px solid var(--note-line)}.dosa-note:last-child{border-radius:0 14px 14px 0;border-right:1px solid var(--note-line)}.dosa-note+.dosa-note{border-left:1px solid var(--note-line)}
.note-kicker{color:var(--coral);font-size:10px;line-height:1.5;letter-spacing:.12em;font-weight:700;display:block;margin-bottom:12px}.dosa-note h3{font-size:21px;line-height:1.25;margin-bottom:12px;letter-spacing:-.025em}.dosa-note p{font-size:14px;line-height:1.7;margin:0;color:var(--muted)}.dosa-notes-link{padding-top:16px}.dosa-notes-link .text-link{font-size:13px}
.about-anitha{background:linear-gradient(135deg,var(--ivory) 25%,var(--note-end) 100%)}
.booking-steps{background:linear-gradient(130deg,var(--gold-wash) 0%,var(--ivory) 100%)}
.anitha-grid{align-items:center;gap:56px}.anitha-story p{max-width:55ch;line-height:1.75}.anitha-story .lead{line-height:1.6}.anitha-photo img{box-shadow:0 14px 38px var(--shadow)}
.faq details>p a{color:var(--coral);font-size:13px;display:inline-block;margin-top:12px;overflow-wrap:anywhere}.faq details>p{line-height:1.75}
.package-card li span{line-height:1.75}.menu-list dd{line-height:1.7}.quote label{font-size:13px}.quote form>.small{line-height:1.75}
@media(max-width:1050px){.catering-grid{grid-template-columns:1fr 1fr;gap:28px}.service-feature{display:block;padding:16px}.service-feature-number{margin-bottom:12px}.station-photo img{height:430px}.anitha-grid{gap:36px}.dosa-note{padding:22px}}
@media(max-width:750px){main>section:not(.hero) h2::after{width:52px;margin-top:18px}.catering-grid{grid-template-columns:1fr;gap:28px}.station-photo img{height:auto;aspect-ratio:4/3}.service-features{gap:10px}.service-feature{min-height:0;padding:18px 15px}.service-details h3{font-size:23px}.service-feature h4{font-size:15px}.catering .service-feature p{font-size:13px}.service-area{margin-top:22px}.dosa-notes{grid-template-columns:1fr;gap:0;margin-top:30px}.dosa-note,.dosa-note:first-child,.dosa-note:last-child{padding:24px;border-radius:0;border:1px solid var(--note-line)}.dosa-note:first-child{border-radius:14px 14px 0 0}.dosa-note:last-child{border-radius:0 0 14px 14px}.dosa-note+.dosa-note{border-top:0}.dosa-note h3{font-size:20px;margin-bottom:9px}.note-kicker{margin-bottom:8px}.anitha-grid{gap:28px}}
@media(max-width:360px){.service-features{grid-template-columns:1fr}.service-feature{display:flex}.service-feature-number{margin-bottom:0}}
@media(prefers-reduced-motion:no-preference){
 .service-feature{transition:transform .25s ease,background .25s ease,border-color .25s ease}.dosa-note{transition:background .25s ease}.heading-motion.is-in-view::after{animation:section-line-draw .65s cubic-bezier(.2,.7,.3,1) both}.service-feature.is-in-view{animation:feature-arrive .5s ease-out both}.service-feature:nth-child(2){animation-delay:.07s}.service-feature:nth-child(3){animation-delay:.12s}.service-feature:nth-child(4){animation-delay:.17s}.dosa-note.is-in-view{animation:feature-arrive .55s ease-out both}.dosa-note:nth-child(2){animation-delay:.07s}.dosa-note:nth-child(3){animation-delay:.14s}
 @media(hover:hover) and (pointer:fine){.service-feature:hover{transform:translateY(-3px);background:var(--service-tile-hover);border-color:#FFF0E36B}.anitha-photo img{transition:scale .6s ease}.anitha-photo:hover img{scale:1.012}}
 @keyframes section-line-draw{from{transform:scaleX(.1);opacity:.3}to{transform:scaleX(1);opacity:1}}
 @keyframes feature-arrive{from{opacity:.5;translate:0 10px}to{opacity:1;translate:0 0}}
}
@media(prefers-reduced-motion:reduce){.service-feature,.dosa-note,.anitha-photo img{animation:none!important;transition:none!important;transform:none;translate:none;scale:1}}
/* Normalise Safari's compact native selects and inherited bold label text. */
.quote input,.quote select,.quote textarea{font-family:inherit;font-size:16px;font-weight:400;line-height:1.5;box-sizing:border-box}
.quote input,.quote select{height:50px;min-height:50px}
.quote textarea{min-height:120px}
.quote input::placeholder,.quote textarea::placeholder{font-weight:400;color:var(--muted);opacity:1}
.quote select{appearance:none;-webkit-appearance:none;padding:12px 42px 12px 12px;background-color:var(--ivory);background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 18px) 22px,calc(100% - 13px) 22px;background-size:5px 5px;background-repeat:no-repeat;border:1px solid var(--field-line);border-radius:8px}
.quote select option{font-weight:400}
.quote input::-webkit-datetime-edit{font-weight:400;line-height:1.5}
/* Four compact topic disclosures, with questions nested inside. */
.faq-categories{display:grid;gap:12px}
.faq .faq-category,.faq .faq-category[open]{margin:0;padding:0;border:1px solid var(--line);border-radius:14px;background:var(--paper);overflow:hidden}
.faq .faq-category>summary{padding:22px 24px;min-height:72px;font-size:18px;color:var(--ink);gap:16px}
.faq .faq-category>summary::after{content:'+';font-size:24px;color:var(--coral)}
.faq .faq-category[open]>summary{background:var(--soft);color:var(--coral);border-bottom:1px solid var(--line)}
.faq .faq-category[open]>summary::after{content:'−'}
.faq-category-content{padding:0 24px}
.faq .faq-category .faq-question,.faq .faq-category .faq-question[open]{padding:0;margin:0;background:transparent;border-radius:0;border:0;border-bottom:1px solid var(--line)}
.faq .faq-category .faq-question:last-child{border-bottom:0}
.faq .faq-category .faq-question>summary{min-height:58px;padding:18px 0;font-size:15px;line-height:1.6;color:var(--ink);gap:18px}
.faq .faq-category .faq-question>summary::after{content:'+';font-size:19px;color:var(--coral)}
.faq .faq-category .faq-question[open]>summary{color:var(--coral)}
.faq .faq-category .faq-question[open]>summary::after{content:'−'}
.faq .faq-category .faq-question>p,.faq .faq-category .faq-question>.faq-symbol-guide{font-size:14px;line-height:1.75;padding:0 0 22px;margin:0;max-width:72ch}
@media(max-width:750px){.faq .faq-category>summary{font-size:16px;padding:18px;min-height:64px}.faq-category-content{padding:0 18px}.faq .faq-category .faq-question>summary{font-size:14px;padding-block:17px}.faq .faq-category .faq-question>p{font-size:14px}}
@media(prefers-reduced-motion:no-preference){.faq .faq-category[open]>.faq-category-content{animation:menu-open .25s ease-out both}}
/* Match the simple editorial format of “How to enjoy it”. */
.catering-grid{align-items:center}
.planning-guide{border-left:3px solid #FFF0E34D;padding:4px 0 2px 26px}
.planning-guide h3{font-size:24px;margin-bottom:24px;line-height:1.3}
.planning-guide ol{padding-left:21px;margin:0}
.planning-guide li{padding:0 0 19px 8px;margin:0}
.planning-guide li:last-child{padding-bottom:0}
.planning-guide li::marker{color:#FFF0E3;font-weight:700;font-size:16px}
.planning-guide strong{display:block;font-size:17px;line-height:1.5;margin-bottom:5px;color:#FFF8EA}
.planning-guide li>span{display:block;font-size:14px;line-height:1.7;color:#FFF0E3;max-width:45ch}
.service-details .service-area{margin-top:26px}
/* A useful footer, with restrained branding and a clear contact area. */
.site-footer{background:var(--soft);padding:60px 0 92px;border-top:1px solid var(--line)}
.footer-top{display:grid;grid-template-columns:1.25fr .85fr 1.1fr;gap:48px;padding-bottom:36px}
.footer-brand>a{display:inline-block;line-height:0}.footer-brand img{display:block;width:200px;height:auto;max-width:100%}
:root[data-theme=dark] .footer-brand img{filter:brightness(0) invert(.95)}
.footer-brand .footer-tagline{font-size:19px;line-height:1.45;font-weight:650;color:var(--ink);margin:18px 0 10px;letter-spacing:-.02em}
.footer-brand>p:not(.footer-tagline),.footer-contact>p{font-size:14px;line-height:1.75;color:var(--muted);margin-bottom:20px;max-width:34ch}
.footer-nav h3,.footer-contact h3{font-size:17px;line-height:1.5;letter-spacing:-.015em;margin:4px 0 16px;color:var(--ink)}
.footer-nav{display:flex;flex-direction:column;align-items:start}
.footer-nav>a{font-size:14px;line-height:1.7;text-decoration:none;color:var(--muted);padding:4px 0}
.footer-nav>a:hover{color:var(--coral);text-decoration:underline}
.footer-phone{display:block;font-size:13px;line-height:1.6;font-weight:650;color:var(--coral);margin:0 0 20px;text-underline-offset:4px}
.footer-contact .button{font-size:13px;padding:12px 20px;min-height:46px}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;border-top:1px solid var(--line);padding-top:22px}
.footer-bottom p{font-size:12px;line-height:1.7;color:var(--muted);margin:0}
@media(max-width:950px){.footer-top{gap:30px;grid-template-columns:1.1fr .8fr 1.1fr}.footer-phone{overflow-wrap:anywhere}}
@media(max-width:750px){.planning-guide{padding-left:22px}.planning-guide h3{font-size:22px}.planning-guide strong{font-size:16px}.planning-guide li>span{font-size:14px}.planning-guide li{padding-bottom:20px}.site-footer{padding-top:44px;padding-bottom:100px}.footer-top{grid-template-columns:1fr 1fr;gap:30px 24px}.footer-brand{grid-column:1/-1}.footer-brand>p:not(.footer-tagline){max-width:42ch;margin-bottom:0}.footer-contact h3{max-width:16ch}.footer-nav>a{padding-block:8px}.footer-bottom{padding-top:20px}.footer-bottom p{font-size:11px}}
@media(max-width:380px){.footer-top{grid-template-columns:1fr;gap:28px}.footer-brand{grid-column:auto}.footer-nav{display:grid;grid-template-columns:1fr 1fr;column-gap:16px}.footer-nav h3{grid-column:1/-1;margin-bottom:4px}.footer-contact h3{max-width:none}}
/* More visible depth and movement, confined to sections below the hero. */
#experience{background:linear-gradient(120deg,#B74B36 0%,#A34432 48%,#923B2D 100%)}
:root[data-theme=dark] #experience{background:linear-gradient(120deg,#8C382C 0%,#7C3228 48%,#6F2E25 100%)}
.about-anitha{background:linear-gradient(135deg,#FFFDF7 25%,#FAF1E7 100%)}
:root[data-theme=dark] .about-anitha{background:linear-gradient(135deg,#1C1D22 25%,#26262D 100%)}
.booking-steps{background:linear-gradient(120deg,#E4DAD2 0%,#F0E8E0 48%,#FFF8EE 100%)}
:root[data-theme=dark] .booking-steps{background:linear-gradient(120deg,#24242B 0%,#302C35 48%,#44333D 100%)}
.about-anitha .eyebrow,.about-anitha .text-link,.booking-steps .eyebrow,.booking-steps .steps-grid li>span{color:#963B29}
:root[data-theme=dark] .about-anitha .eyebrow,:root[data-theme=dark] .about-anitha .text-link,:root[data-theme=dark] .booking-steps .eyebrow,:root[data-theme=dark] .booking-steps .steps-grid li>span{color:#FFAB91}
main>section:not(.hero) h2::after{width:72px;height:5px;margin-top:24px}
.section-heading{margin-bottom:42px}.catering-grid{gap:50px}.planning-guide li{padding-bottom:23px}.dosa-notes{margin-top:52px}.steps-grid{gap:40px}.footer-top{gap:52px}
@media(max-width:1050px){.catering-grid{gap:32px}.footer-top{gap:30px}}
@media(max-width:750px){main>section:not(.hero) h2::after{width:60px;margin-top:20px}.section-heading{margin-bottom:32px}.catering-grid{gap:30px}.planning-guide li{padding-bottom:22px}.dosa-notes{margin-top:34px}.steps-grid{gap:28px}.footer-top{gap:30px 24px}}
@media(prefers-reduced-motion:no-preference){
 main>section:not(.hero) .reveal.is-visible{animation:polish-section-enter .85s cubic-bezier(.2,.7,.3,1) both}
 .heading-motion.is-in-view::after{animation:section-line-draw .95s .12s cubic-bezier(.2,.7,.3,1) both}
 .polish-motion.is-in-view{animation:polish-item-enter .75s cubic-bezier(.2,.7,.3,1) both}
 .planning-guide li:nth-child(2){animation-delay:.08s}.planning-guide li:nth-child(3){animation-delay:.16s}.planning-guide li:nth-child(4){animation-delay:.24s}.planning-guide li:nth-child(5){animation-delay:.32s}
 .steps-grid>li:nth-child(2){animation-delay:.12s}.steps-grid>li:nth-child(3){animation-delay:.24s}
 .dosa-note,.package-card{transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease,background .35s ease}
 .anitha-photo img,.station-photo img,.quote-food-photo img{transition:scale .65s ease,box-shadow .65s ease}
 .faq .faq-category{transition:border-color .25s ease,box-shadow .25s ease}
 @media(hover:hover) and (pointer:fine){
  .package-card:hover{transform:translateY(-7px);border-color:var(--coral);box-shadow:0 18px 38px var(--shadow)}
  .dosa-note:hover{transform:translateY(-5px);background:var(--paper);box-shadow:0 12px 26px var(--shadow)}
  .anitha-photo:hover img,.station-photo:hover img,.quote-food-photo:hover img{scale:1.025;box-shadow:0 20px 42px var(--shadow)}
  .faq .faq-category:hover{border-color:var(--coral);box-shadow:0 6px 18px var(--shadow)}
  main>section:not(.hero) .button:hover,.site-footer .button:hover{transform:translateY(-3px);box-shadow:0 9px 22px var(--shadow)}
 }
 @keyframes polish-section-enter{from{opacity:.2;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}
 @keyframes polish-item-enter{from{opacity:.25;translate:0 18px}to{opacity:1;translate:0 0}}
}

.menu-favourite{display:inline-block;vertical-align:middle;background:var(--soft);border:1px solid var(--line);border-radius:20px;color:var(--coral);font-size:11px;font-weight:600;line-height:1.5;padding:3px 8px;margin:0 0 2px 7px;white-space:nowrap}
@media(max-width:750px){.menu-favourite{margin-left:0;margin-top:5px}.menu-item-name>.menu-favourite{display:table}}

/* Keep all menu categories on the same theme surface. */
.food-menu .menu-panel{background:var(--paper)}
/* Give menu text and symbols an even inset inside each highlighted row. */
.food-menu .menu-panel .menu-panel-content .menu-list>div{padding:22px 20px;border-radius:10px}
@media(max-width:750px){.food-menu .menu-panel .menu-panel-content .menu-list>div{padding:20px 16px}}
/* Carry the dosa story cards’ lift and highlight through the menu. */
@media(prefers-reduced-motion:no-preference){
 .food-menu .menu-panel,.food-menu .menu-panel-heading,.food-menu .menu-list>div{transition:transform .35s ease,box-shadow .35s ease,background .35s ease,border-color .35s ease}
 .food-menu .menu-list>div{border-radius:10px}
 @media(hover:hover) and (pointer:fine){
  .food-menu .menu-panel:hover{transform:translateY(-4px)!important;border-color:var(--coral);box-shadow:0 12px 26px var(--shadow)!important}
  .food-menu .menu-panel-heading:hover{background:var(--soft)}
  .food-menu .menu-list>div:hover{transform:translateY(-3px);background:var(--paper);box-shadow:0 9px 22px var(--shadow)}
 }
}

.quote-email{margin:14px 0 0}.quote-email a,.footer-email{overflow-wrap:anywhere}
