@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=DM+Sans:wght@400;500;600&family=Allura&display=swap');
:root{--green:#173c2a;--green2:#244f39;--cream:#f5efe3;--paper:#fbf8f0;--gold:#b08a48;--ink:#1d2922;--muted:#687067}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}.site-header{height:82px;padding:0 5%;display:flex;align-items:center;gap:32px;background:rgba(251,248,240,.97);position:sticky;top:0;z-index:10;border-bottom:1px solid #e5ddce}.brand{display:flex;align-items:center;gap:11px;margin-right:auto}.brand strong{display:block;font:600 28px "Cormorant Garamond",serif;color:var(--green)}.brand small{display:block;font-size:9px;letter-spacing:5px;text-align:center}.brand-mark{width:43px;height:43px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);font:600 16px "Cormorant Garamond",serif}nav{display:flex;gap:25px;font-size:13px}nav a:hover,.footer-links a:hover{color:var(--gold)}.nav-cta,.button{background:var(--green);color:white;padding:13px 20px;border-radius:3px;font-size:12px;font-weight:600;letter-spacing:.5px}.menu-toggle{display:none;background:none;border:0;font-size:25px}.hero{display:grid;grid-template-columns:44% 56%;min-height:650px;background:var(--cream)}.hero-copy{padding:100px 8% 70px 12%;position:relative}.eyebrow{font-size:11px;letter-spacing:3px;font-weight:600;color:var(--gold);margin:0 0 15px}.hero h1,h1,h2{font-family:"Cormorant Garamond",serif;font-weight:600;line-height:.95}.hero h1{font-size:76px;margin:0 0 28px;color:var(--green)}h1{font-size:70px}h2{font-size:54px;margin:0 0 20px;color:var(--green)}em{font-weight:500}.lead{font-size:18px;max-width:480px;margin-bottom:30px}.hand-note{font:32px/1.05 Allura,cursive;color:var(--green);transform:rotate(-4deg);margin-top:55px}.placeholder{background:linear-gradient(135deg,#ddd3c0,#b8ad96);display:grid;place-items:center;color:#6e675b;overflow:hidden}.placeholder span{border:1px dashed rgba(70,65,55,.45);padding:10px 15px;font-size:10px;letter-spacing:2px}.hero-image{min-height:650px}.four-up{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding:48px 5%;background:var(--paper)}.four-up article{text-align:center}.photo{height:190px;margin-bottom:17px}.four-up h3,.food-card h3{font:600 25px "Cormorant Garamond",serif;margin:0;color:var(--green)}.four-up p,.food-card p{font-size:13px;color:var(--muted);margin:5px 0 12px}.four-up a,.text-link{font-size:11px;letter-spacing:1px;font-weight:600}.section{padding:100px 8%}.story{display:grid;grid-template-columns:52% 48%;gap:8%;background:#efe7d8}.story-images{position:relative;min-height:480px}.tall{width:70%;height:470px}.small{position:absolute;right:2%;bottom:0;width:38%;height:220px;border:10px solid #efe7d8}.story-copy{align-self:center}.story-copy p:not(.eyebrow):not(.hand-note){max-width:520px;color:#4e574f}.inline{font-size:30px;margin:30px 0}.food-section{background:var(--paper)}.section-heading{max-width:620px;margin-bottom:45px}.food-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.food-card{background:white;padding-bottom:20px}.food-card h3,.food-card p{padding:0 20px}.food-card .photo{margin:0;height:260px}.center{text-align:center;margin-top:45px}.outline{background:transparent;color:var(--green);border:1px solid var(--green)}.kuih-section{display:grid;grid-template-columns:35% 65%;gap:6%;background:#f1eadc}.kuih-copy{align-self:center}.highlight{font:32px/1.1 Allura,cursive;color:var(--green);margin:30px 0}.kuih-gallery{display:grid;grid-template-columns:1.1fr .9fr;grid-template-rows:1fr 1fr;gap:16px}.kuih-gallery .photo:first-child{grid-row:span 2;height:500px}.kuih-gallery .photo{height:242px}.experience{position:relative;min-height:560px;background:#27342b;color:white}.experience-image{position:absolute;inset:0;opacity:.45}.experience-overlay{position:relative;z-index:1;padding:115px 10%;max-width:600px}.experience-overlay h2{color:white}.experience-overlay p:not(.eyebrow){max-width:460px}.light{background:white;color:var(--green);display:inline-block;margin-top:15px}.visit{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:45px 6%;background:#eee6d7}.visit-card{display:flex;gap:15px;border-right:1px solid #d0c6b5;padding-right:20px}.visit-card:last-child{border:0}.icon{font-size:28px;color:var(--green)}.visit-card h3{font-size:12px;letter-spacing:1px;text-transform:uppercase;margin:0 0 4px}.visit-card p{font-size:13px;margin:0;color:var(--muted)}footer{padding:45px 6%;background:var(--green);color:#eee8dc;display:flex;align-items:center;gap:45px;flex-wrap:wrap}.footer-brand{margin-right:auto}.footer-brand strong{display:block;font:600 30px "Cormorant Garamond",serif}.footer-brand small{font-size:11px}.footer-links{display:flex;gap:22px;font-size:12px}footer p{width:100%;font-size:11px;border-top:1px solid rgba(255,255,255,.18);padding-top:18px;margin:0}.menu-page{min-height:80vh;padding:100px 8%}.center-heading{margin:0 auto 70px;text-align:center}.menu-category{max-width:900px;margin:0 auto 60px}.menu-category h2{font-size:40px;border-bottom:1px solid #d9cfbd;padding-bottom:12px}.menu-items{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.menu-items>div{position:relative;border-bottom:1px solid #e5ddcf;padding-bottom:15px}.menu-items h3{font:600 25px "Cormorant Garamond",serif;color:var(--green);margin:0}.menu-items p{font-size:13px;color:var(--muted);margin:4px 0 8px}.menu-items b{font-size:13px}.menu-note{text-align:center;max-width:700px;margin:0 auto 50px;color:var(--muted);font-size:12px;font-style:italic}
@media(max-width:900px){.site-header{height:70px}.menu-toggle{display:block}nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--paper);padding:20px 6%;flex-direction:column}.site-header.nav-open nav{display:flex}.nav-cta{display:none}.hero{grid-template-columns:1fr}.hero-copy{padding:75px 8%}.hero h1{font-size:60px}.hero-image{min-height:430px}.four-up{grid-template-columns:repeat(2,1fr)}.story,.kuih-section{grid-template-columns:1fr}.story-images{margin-bottom:30px}.kuih-gallery{margin-top:20px}.visit{grid-template-columns:repeat(2,1fr)}.visit-card:nth-child(2){border:0}.food-grid{grid-template-columns:1fr}.menu-items{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.brand strong{font-size:23px}.hero h1{font-size:52px}.four-up{grid-template-columns:1fr}.section{padding:70px 7%}h2{font-size:43px}.tall{width:100%}.small{display:none}.kuih-gallery{grid-template-columns:1fr}.kuih-gallery .photo:first-child{height:280px;grid-row:auto}.kuih-gallery .photo{height:220px}.visit{grid-template-columns:1fr}.visit-card{border-right:0;border-bottom:1px solid #d0c6b5;padding-bottom:18px}.menu-items{grid-template-columns:1fr}.menu-page{padding:70px 7%}footer{padding:40px 7%}.footer-links{width:100%;flex-wrap:wrap}}

/* Stage 1.1: official Nyonya Secrets logo */
.brand-logo {
  display: block;
  width: 76px;
  height: 76px;
  object-fit: contain;
}
@media (max-width: 760px) {
  .brand-logo { width: 60px; height: 60px; }
}

/* Stage 1.2: real Nyonya Secrets photography + visit/footer details */
.real-photo{overflow:hidden;background:#d8cfbf}.real-photo img{width:100%;height:100%;display:block;object-fit:cover}.hero-image.real-photo img{object-position:center center}.experience-image.real-photo{opacity:.42}.experience-image.real-photo img{object-position:center 48%}.visit{grid-template-columns:1fr 1fr 1fr 1.25fr;align-items:stretch}.visit-photo{min-height:190px;border-radius:3px}.visit-photo img{object-position:center 55%}.visit-link{display:inline-block;margin-top:8px;font-size:11px;font-weight:600;letter-spacing:.4px;color:var(--green)}.diet-note{margin-top:10px!important;font-weight:600;color:var(--green)!important}.footer-brand{display:flex;align-items:center;gap:14px}.footer-brand img{width:58px;height:58px;object-fit:contain}.footer-links{row-gap:8px;flex-wrap:wrap}
@media(max-width:900px){.visit{grid-template-columns:1fr 1fr}.visit-photo{min-height:260px}.visit-card:nth-child(2){border:0}}
@media(max-width:560px){.visit{grid-template-columns:1fr}.visit-photo{min-height:330px}.footer-brand img{width:52px;height:52px}}

/* Stage 1.4: cleaner Experience and Visit sections */
.experience{background:#27342b;}
.visit{grid-template-columns:repeat(3,1fr);}
@media(max-width:900px){.visit{grid-template-columns:repeat(3,1fr);}.visit-card:nth-child(2){border-right:1px solid #d0c6b5;}}
@media(max-width:700px){.visit{grid-template-columns:1fr}.visit-card{border-right:0;border-bottom:1px solid #d0c6b5;padding-bottom:18px}.visit-card:nth-child(2){border-right:0;}}

/* Stage 1.5: Old Melaka illustrated hero */
.hero-old-melaka{position:relative;display:block;min-height:650px;overflow:hidden;background:#e9dcc2;isolation:isolate}
.hero-old-melaka .hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;z-index:-3}
.hero-old-melaka .hero-wash{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(247,239,220,.94) 0%,rgba(247,239,220,.82) 27%,rgba(247,239,220,.46) 43%,rgba(247,239,220,.10) 61%,rgba(247,239,220,0) 78%)}
.hero-old-melaka .hero-copy{width:min(610px,48%);padding:105px 0 85px 7%;position:relative}
.hero-old-melaka .hero-copy:after{content:"";display:block;width:68px;height:1px;background:var(--gold);margin-top:34px}
.hero-old-melaka .lead{max-width:455px;color:#344138}
.hero-tagline{font:600 14px "Cormorant Garamond",serif;letter-spacing:2px;text-transform:uppercase;color:var(--green);margin:0 0 28px}
@media(max-width:900px){.hero-old-melaka{min-height:690px}.hero-old-melaka .hero-bg{object-position:58% center}.hero-old-melaka .hero-wash{background:linear-gradient(90deg,rgba(247,239,220,.94) 0%,rgba(247,239,220,.80) 48%,rgba(247,239,220,.28) 78%,rgba(247,239,220,.08) 100%)}.hero-old-melaka .hero-copy{width:68%;padding:90px 0 75px 7%}}
@media(max-width:560px){.hero-old-melaka{min-height:660px}.hero-old-melaka .hero-bg{object-position:56% center}.hero-old-melaka .hero-wash{background:linear-gradient(180deg,rgba(247,239,220,.95) 0%,rgba(247,239,220,.88) 42%,rgba(247,239,220,.30) 74%,rgba(247,239,220,.08) 100%)}.hero-old-melaka .hero-copy{width:100%;padding:70px 8% 250px}.hero-old-melaka .lead{font-size:16px}.hero-tagline{font-size:12px;letter-spacing:1.4px}}

/* Stage 1.5.1: compact, swipeable Stories From Our Tables */
.table-stories{background:var(--paper);overflow:hidden;scroll-margin-top:90px}
.stories-heading{max-width:760px;margin:0 auto 38px;text-align:center}
.stories-heading h2{margin-bottom:14px}
.stories-heading>p:last-child{max-width:680px;margin:0 auto;color:var(--muted);font-size:16px}
.stories-viewport{max-width:1180px;margin:0 auto;overflow:hidden}
.stories-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:2px 2px 12px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.stories-track::-webkit-scrollbar{display:none}
.story-review{flex:0 0 calc((100% - 36px)/3);min-height:300px;scroll-snap-align:start;background:#f1eadc;border:1px solid #ded2bd;padding:30px 30px 26px;display:flex;flex-direction:column;color:var(--green)}
.story-review-dark{background:var(--green);color:#f8f3e8;border-color:#a98a54}
.quote-mark{font:700 48px/1 "Cormorant Garamond",serif;color:var(--gold);height:35px}
.story-review blockquote{margin:15px 0 10px;font:600 29px/1.08 "Cormorant Garamond",serif}
.story-review .review-extra{margin:4px 0 18px;font:500 18px/1.25 "Cormorant Garamond",serif;opacity:.8}
.story-review footer{margin-top:auto;padding:18px 0 0;background:none;color:inherit;display:block;border-top:1px solid rgba(105,105,85,.25)}
.story-review-dark footer{border-color:rgba(255,255,255,.2)}
.story-review footer strong{display:block;font-size:13px;letter-spacing:.7px}
.story-review footer small{display:block;margin-top:3px;font-size:10px;letter-spacing:1.1px;text-transform:uppercase;opacity:.7}
.stories-controls{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:20px}
.story-arrow{width:34px;height:34px;border:1px solid #cfc4b2;border-radius:50%;background:transparent;color:var(--green);cursor:pointer}
.story-dots{display:flex;gap:7px}.story-dot{width:7px;height:7px;border:0;border-radius:50%;padding:0;background:#cfc4b2}.story-dot.active{background:var(--green)}
.stories-source{text-align:center;color:var(--muted);font-size:11px;letter-spacing:.5px;margin:12px 0 0}
@media(max-width:900px){.story-review{flex-basis:calc((100% - 18px)/2)}}
@media(max-width:560px){.table-stories{padding-top:76px;padding-bottom:70px}.stories-heading{margin-bottom:25px}.stories-heading h2{font-size:39px}.stories-heading>p:last-child{font-size:14px;line-height:1.55}.stories-viewport{overflow:visible}.stories-track{margin-right:-7%;padding-right:18%;gap:12px}.story-review{flex:0 0 82%;min-height:245px;padding:22px 22px 20px}.story-review blockquote{font-size:24px;line-height:1.08;margin-top:10px}.story-review .review-extra{font-size:16px;margin-bottom:12px}.quote-mark{font-size:40px;height:28px}.stories-controls{margin-top:14px}.story-arrow{display:none}.stories-source{font-size:10px}}


/* Stage 1.5.1a: centered social icons on mobile */
.footer-social{display:flex;align-items:center;justify-content:center;gap:14px}
.footer-social a{width:42px;height:42px;border:1px solid rgba(238,232,220,.34);border-radius:50%;display:grid;place-items:center;color:#eee8dc;transition:.2s ease}
.footer-social a:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-1px)}
.footer-social svg{width:20px;height:20px;fill:currentColor}
@media(max-width:560px){footer{display:flex;flex-direction:column;align-items:center;gap:26px;text-align:center}.footer-brand{margin:0;justify-content:center}.footer-links{justify-content:center;width:100%;gap:16px 24px}.footer-social{width:100%;justify-content:center;margin:2px auto 4px}footer>p{text-align:center}}

/* Stage 1.7 — Our Story journey */
.our-story-journey{background:#efe7d8;padding-top:105px;padding-bottom:115px;overflow:hidden}
.journey-intro{max-width:760px;margin:0 auto 80px;text-align:center}
.journey-intro h2{font-size:58px}
.journey-intro>p:not(.eyebrow):not(.hand-note){max-width:650px;margin:0 auto;color:#586057}
.journey-note{font-size:29px;margin:32px auto 0;transform:rotate(-2deg)}
.journey-chapters{max-width:1180px;margin:0 auto}
.journey-chapter{display:grid;grid-template-columns:56% 44%;align-items:center;margin-bottom:95px;position:relative}
.journey-chapter:nth-child(even){grid-template-columns:44% 56%}
.journey-chapter:nth-child(even) .journey-photo{order:2}
.journey-chapter:nth-child(even) .journey-copy{order:1;margin-left:0;margin-right:-42px;z-index:2}
.journey-photo{height:520px;overflow:hidden;box-shadow:0 18px 40px rgba(63,48,30,.12);background:#d8cbb6}
.journey-photo img{width:100%;height:100%;object-fit:cover;display:block}
.chapter-roadside .journey-photo img{object-position:center 62%}
.chapter-first-shop .journey-photo img{object-position:center center}
.chapter-home .journey-photo img{object-position:center 58%}
.journey-copy{background:#fbf8f0;padding:55px 52px;margin-left:-42px;z-index:2;box-shadow:0 12px 35px rgba(63,48,30,.08);position:relative}
.journey-copy h3{font:600 38px/1.05 "Cormorant Garamond",serif;color:var(--green);margin:0 0 18px}
.journey-copy>p:last-child{font-size:15px;color:#596058;margin-bottom:0}
.chapter-no{position:absolute;right:28px;top:18px;font:600 64px/1 "Cormorant Garamond",serif;color:rgba(169,138,84,.16)}
.story-travels{max-width:1180px;margin:135px auto 0;padding-top:95px;border-top:1px solid #d4c6ae;display:grid;grid-template-columns:38% 62%;gap:6%;align-items:center}
.travels-copy h2{font-size:52px}.travels-copy>p:not(.eyebrow){color:#586057}.travels-closing{font:600 24px/1.25 "Cormorant Garamond",serif!important;color:var(--green)!important;margin-top:28px}
.press-scrapbook{height:700px;position:relative}
.press-piece{position:absolute;margin:0;background:#f9f3e7;padding:10px 10px 38px;box-shadow:0 15px 32px rgba(54,43,28,.2)}
.press-piece img{display:block;width:100%;height:100%;object-fit:cover}
.press-piece figcaption{position:absolute;left:14px;bottom:9px;font:21px Allura,cursive;color:#6d604c}
.newspaper{width:52%;height:650px;left:0;top:15px;transform:rotate(-3deg)}
.guide-cover{width:38%;height:330px;right:3%;top:0;transform:rotate(5deg)}
.guide-spread{width:52%;height:365px;right:0;bottom:0;transform:rotate(2deg)}
.guide-spread img{object-fit:contain;background:#2f2a23}
@media(max-width:900px){.journey-chapter,.journey-chapter:nth-child(even){grid-template-columns:1fr;margin-bottom:70px}.journey-chapter:nth-child(even) .journey-photo,.journey-chapter:nth-child(even) .journey-copy{order:initial}.journey-copy,.journey-chapter:nth-child(even) .journey-copy{margin:-35px 6% 0;padding:42px 38px}.journey-photo{height:460px}.story-travels{grid-template-columns:1fr;gap:45px}.travels-copy{max-width:650px}.press-scrapbook{height:680px;max-width:700px;width:100%;margin:auto}}
@media(max-width:560px){.our-story-journey{padding:75px 0 85px}.journey-intro{padding:0 7%;margin-bottom:55px}.journey-intro h2{font-size:43px}.journey-note{font-size:25px}.journey-chapters{padding:0}.journey-photo{height:390px}.journey-copy,.journey-chapter:nth-child(even) .journey-copy{margin:-24px 6% 0;padding:34px 28px}.journey-copy h3{font-size:33px}.chapter-no{font-size:52px}.story-travels{margin-top:95px;padding:70px 7% 0}.travels-copy h2{font-size:42px}.press-scrapbook{height:610px;margin-top:8px}.newspaper{width:57%;height:500px;left:-2%}.guide-cover{width:43%;height:255px;right:-1%}.guide-spread{width:57%;height:310px;right:-2%;bottom:0}.press-piece figcaption{font-size:18px}.travels-closing{font-size:22px!important}}

/* Stage 1.7.1 — compact history-book carousel */
.our-story-book{background:#efe7d8;padding-top:96px;padding-bottom:86px;overflow:hidden;scroll-margin-top:82px}
.our-story-book .journey-intro{margin-bottom:46px}
.history-shell{max-width:1180px;margin:0 auto}
.history-track{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:10px 3px 26px}
.history-track::-webkit-scrollbar{display:none}
.history-card{flex:0 0 82%;max-width:930px;height:480px;scroll-snap-align:start;background:#fbf8f0;display:grid;grid-template-columns:54% 46%;box-shadow:0 14px 34px rgba(63,48,30,.12);border:1px solid #ddcfb8;position:relative;overflow:hidden}
.history-photo{height:100%;min-width:0;position:relative;background:#d8cbb6;overflow:hidden}
.history-photo>img:first-child{width:100%;height:100%;display:block;object-fit:cover;filter:saturate(.9) contrast(1.03)}
.history-card:nth-of-type(2) .history-photo>img:first-child{object-position:center 60%}
.history-card:nth-of-type(3) .history-photo>img:first-child{object-position:center center}
.history-card:nth-of-type(4) .history-photo>img:first-child{object-position:center 58%}
.history-photo-paper{background:#d8cbb6;padding:22px}.history-photo-paper>img:first-child{object-fit:contain!important;background:#e9dfcf;box-shadow:0 8px 22px rgba(55,43,29,.18);transform:rotate(-1deg)}
.history-photo-guide{background:#40382f;padding:24px}.history-photo-guide>img:first-child{object-fit:contain!important;background:#2f2a23;box-shadow:0 9px 25px rgba(0,0,0,.25)}
.guide-inset{position:absolute!important;width:24%!important;height:auto!important;right:12px;bottom:12px;border:6px solid #f8f1e5;box-shadow:0 7px 18px rgba(0,0,0,.28);transform:rotate(4deg);object-fit:contain!important}
.history-copy{padding:50px 46px;align-self:center;position:relative;min-width:0}
.history-copy h3{font:600 37px/1.02 "Cormorant Garamond",serif;color:var(--green);margin:0 0 16px}
.history-copy>p:last-child{font-size:14px;line-height:1.65;color:#596058;margin:0}
.history-year{display:block;font:600 76px/.78 "Cormorant Garamond",serif;color:rgba(169,138,84,.26);letter-spacing:-2px;margin:0 0 22px}
.history-year.words{font-size:47px;line-height:.8;letter-spacing:0}
.history-card-opening{grid-template-columns:42% 58%;background:linear-gradient(120deg,#f7f0e3,#efe3ce)}
.history-opening-art{display:grid;place-items:center;position:relative;background:radial-gradient(circle at 50% 45%,rgba(255,255,255,.72),rgba(218,201,170,.48));overflow:hidden}
.history-opening-art:before,.history-opening-art:after{content:"";position:absolute;width:230px;height:230px;border:1px solid rgba(169,138,84,.32);border-radius:50%}
.history-opening-art:after{width:180px;height:180px;border-style:dashed}
.history-opening-art span{font:600 78px "Cormorant Garamond",serif;color:var(--green);z-index:1}
.history-controls{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:4px}
.history-prev,.history-next{width:38px;height:38px;border:1px solid #c7b99f;border-radius:50%;background:#fbf8f0;color:var(--green);font-size:17px;cursor:pointer}
.history-dots{display:flex;gap:7px}.history-dot{width:7px;height:7px;border:0;border-radius:50%;padding:0;background:#c8bda9}.history-dot.active{background:var(--green)}
.history-hint{text-align:center;margin:10px 0 0;font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:#8b806e}
@media(max-width:900px){.history-card{flex-basis:90%;grid-template-columns:50% 50%;height:455px}.history-copy{padding:38px 32px}.history-copy h3{font-size:32px}.history-year{font-size:62px}.history-card-opening{grid-template-columns:38% 62%}}
@media(max-width:560px){.our-story-book{padding:72px 0 66px}.our-story-book .journey-intro{padding:0 7%;margin-bottom:34px}.our-story-book .journey-intro h2{font-size:42px}.history-shell{padding-left:7%}.history-track{gap:12px;padding-right:17%;padding-bottom:18px}.history-card,.history-card-opening{flex:0 0 86%;height:auto;min-height:505px;grid-template-columns:1fr;grid-template-rows:245px auto}.history-photo{height:245px}.history-copy{padding:27px 25px 30px;align-self:stretch}.history-copy h3{font-size:29px;margin-bottom:11px}.history-copy>p:last-child{font-size:13px;line-height:1.55}.history-year{font-size:52px;margin-bottom:13px}.history-year.words{font-size:35px;line-height:.82}.history-card-opening{grid-template-rows:180px auto}.history-opening-art{min-height:180px}.history-opening-art:before{width:150px;height:150px}.history-opening-art:after{width:116px;height:116px}.history-opening-art span{font-size:58px}.history-photo-paper,.history-photo-guide{padding:14px}.guide-inset{width:21%!important;border-width:4px}.history-controls{margin-left:-7%;margin-top:0}.history-prev,.history-next{display:none}.history-hint{margin-left:-7%;font-size:9px}}

/* Corrected 1.7.1 assets */
.nanyang-photo img{object-position:center center}
.history-opening-photo{background:#d9c7aa;overflow:hidden;position:relative}
.history-opening-photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 42%;filter:saturate(.94) contrast(1.02)}
@media(max-width:560px){.history-opening-photo img{object-position:center 38%}}

/* =========================================================
   Nyonya Secrets v2.0 — Food editorial carousel + food journal
   ========================================================= */
.food-showcase{background:#f8f2e7;overflow:hidden}
.food-showcase-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,470px);gap:60px;align-items:end;max-width:1180px;margin:0 auto 38px}
.food-showcase-head h2{margin-bottom:0}.food-showcase-head>p{color:var(--muted);font-size:14px;line-height:1.75;margin:0 0 5px}
.food-carousel-shell{max-width:1240px;margin:0 auto}.food-carousel{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:4px 2px 22px}.food-carousel::-webkit-scrollbar{display:none}
.food-slide{position:relative;flex:0 0 calc((100% - 44px)/3);aspect-ratio:4/5;min-width:0;overflow:hidden;scroll-snap-align:start;background:#d8cbb8;box-shadow:0 12px 30px rgba(58,45,31,.12)}
.food-slide img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .5s ease}.food-slide:hover img{transform:scale(1.025)}
.food-slide:after{content:"";position:absolute;inset:38% 0 0;background:linear-gradient(to bottom,transparent,rgba(22,38,29,.82))}
.food-slide-copy{position:absolute;z-index:2;left:24px;right:24px;bottom:23px;color:white;display:flex;flex-direction:column;gap:4px}.food-slide-copy small{font-size:9px;letter-spacing:2.2px;font-weight:700;opacity:.8}.food-slide-copy strong{font:600 31px/1 "Cormorant Garamond",serif}.food-slide-copy em{font-style:normal;font-size:11px;opacity:.86}
.food-carousel-controls{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:3px}.food-prev,.food-next{width:39px;height:39px;border:1px solid #c9baa0;border-radius:50%;background:#fbf8f0;color:var(--green);cursor:pointer}.food-dots{display:flex;gap:7px}.food-dot{width:7px;height:7px;border-radius:50%;background:#c7baa4}.food-dot.active{background:var(--green)}

.place-preview{display:grid;grid-template-columns:56% 44%;padding:0!important;background:#183d2b;color:#f5efe3;min-height:560px}.place-photo{min-height:560px;overflow:hidden}.place-photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 55%}.place-copy{align-self:center;padding:70px 12%}.place-copy h2{color:#f5efe3}.place-copy>p:not(.eyebrow):not(.place-address){color:#d8d9cf;max-width:460px}.place-address{font:600 24px/1.25 "Cormorant Garamond",serif;margin:28px 0;color:#f4e6c7}.place-preview .outline{border-color:#d9c8a5;color:#fff}

.press-pair{display:grid!important;grid-template-columns:55% 45%;gap:13px;align-items:center;padding:18px!important}.press-pair>img:first-child{width:100%!important;height:100%!important;object-fit:contain!important;transform:rotate(-1deg);background:#e9dfcf}.online-feature{height:88%;align-self:center;background:#fffdf8;color:#24372c;padding:14px;display:flex;flex-direction:column;box-shadow:0 7px 18px rgba(0,0,0,.18);transform:rotate(1.5deg);overflow:hidden}.online-feature .browser-bar{font-size:7px;color:#8a8a80;border-bottom:1px solid #dedbd2;padding-bottom:6px;margin-bottom:10px}.online-feature strong{font-size:12px;letter-spacing:.5px;color:#9c2d27}.online-feature small{font-size:8px;color:#8c8477;margin:4px 0 12px}.online-feature b{font:600 16px/1.22 "Cormorant Garamond",serif}.online-feature em{font-style:normal;font-size:8px;margin-top:auto;color:#8c6239;text-transform:uppercase;letter-spacing:1px}

/* Food journal */
.food-journal{background:#f8f3e9}.food-journal section[id]{scroll-margin-top:90px}.menu-hero{padding:110px 8% 95px;text-align:center;max-width:980px;margin:0 auto}.menu-hero h1{color:var(--green);margin:0 0 26px}.menu-hero>p:not(.eyebrow){max-width:620px;margin:0 auto;color:#596058}.menu-script{display:block;font:35px/1.1 Allura,cursive;color:#8f6e3d;margin-top:30px;transform:rotate(-1deg)}
.menu-chapter{max-width:1240px;margin:0 auto;padding:80px 7%;position:relative}.chapter-split{display:grid;grid-template-columns:52% 48%;gap:7%;align-items:center}.chapter-split.reverse{grid-template-columns:48% 52%}.chapter-split.reverse .chapter-art{order:2}.chapter-split.reverse .chapter-copy{order:1}.chapter-art{min-height:560px;overflow:hidden;background:#e4d7c3}.chapter-art img{width:100%;height:100%;min-height:560px;display:block;object-fit:cover}.paper-art img{object-position:center center}.editorial-art img{object-position:center center}.chapter-copy{padding:25px 0}.chapter-number{font:600 78px/.8 "Cormorant Garamond",serif;color:rgba(169,138,84,.25);margin:0 0 18px}.chapter-copy h2{font-size:52px}.chapter-copy>p:not(.eyebrow):not(.chapter-number){color:#5e655f;max-width:500px}.dish-list{display:grid;grid-template-columns:1fr 1fr;gap:0 28px;margin-top:30px;border-top:1px solid #d8ccb9}.dish-list span{padding:15px 0;border-bottom:1px solid #d8ccb9}.dish-list b{display:block;font:600 21px "Cormorant Garamond",serif;color:var(--green)}.dish-list small{display:block;font-size:11px;line-height:1.5;color:#77776e;margin-top:3px}.dish-list.compact{grid-template-columns:1fr}
.chapter-wide{padding:95px 7%;background:#1c402f;color:#f6f0e5;max-width:none}.chapter-wide-copy{max-width:1120px;margin:0 auto 36px}.chapter-wide .chapter-number{color:rgba(229,204,157,.24)}.chapter-wide h2{color:#f6f0e5}.chapter-wide-copy>p:not(.eyebrow):not(.chapter-number){max-width:580px;color:#d6d8cf}.wide-image{max-width:1120px;height:610px;margin:0 auto;overflow:hidden}.wide-image img{width:100%;height:100%;display:block;object-fit:cover}.mini-dishes{max-width:1120px;margin:25px auto 0;display:flex;gap:10px;flex-wrap:wrap}.mini-dishes span{border:1px solid rgba(255,255,255,.26);padding:8px 13px;font-size:10px;letter-spacing:.8px}
.chapter-kuih{display:grid;grid-template-columns:58% 42%;gap:6%;align-items:center;background:#efe5d4;max-width:none;padding-left:7%;padding-right:7%}.kuih-editorial{min-height:640px;overflow:hidden}.kuih-editorial img{width:100%;height:100%;min-height:640px;object-fit:cover;display:block}.cendol-chapter{background:#f6efe3}
.menu-drinks{padding:100px 8%;text-align:center;background:#e7efe5}.menu-drinks h2{margin-bottom:20px}.menu-drinks>p:last-child{max-width:650px;margin:0 auto;color:#5c665f}.menu-ending{text-align:center;padding:90px 8% 110px;background:#f8f3e9}.menu-ending .menu-script{font-size:43px}.menu-ending>p:not(.menu-script){font-size:12px;color:#77776e;margin:20px 0 30px}

@media(max-width:900px){
  .food-showcase-head{grid-template-columns:1fr;gap:12px}.food-slide{flex-basis:calc((100% - 22px)/2)}
  .place-preview{grid-template-columns:1fr}.place-photo{min-height:430px}.place-copy{padding:70px 8%}
  .press-pair{grid-template-columns:1fr 1fr!important}
  .chapter-split,.chapter-split.reverse,.chapter-kuih{grid-template-columns:1fr;gap:34px}.chapter-split.reverse .chapter-art,.chapter-split.reverse .chapter-copy{order:initial}.chapter-art,.chapter-art img{min-height:500px}.kuih-editorial,.kuih-editorial img{min-height:560px}.wide-image{height:500px}
}
@media(max-width:560px){
  .food-showcase{padding-left:0!important;padding-right:0!important}.food-showcase-head{padding:0 7%;margin-bottom:26px}.food-carousel-shell{padding-left:7%}.food-carousel{padding-right:20%;gap:13px}.food-slide{flex:0 0 86%;aspect-ratio:4/5}.food-slide-copy{left:18px;right:18px;bottom:18px}.food-slide-copy strong{font-size:28px}.food-carousel-controls{margin-left:-7%}.food-prev,.food-next{display:none}.food-showcase>.center{padding:0 7%;margin-top:28px}
  .place-photo{min-height:330px}.place-copy{padding:55px 7%}.place-address{font-size:22px}
  .press-pair{grid-template-columns:1fr 1fr!important;gap:7px!important;padding:10px!important}.online-feature{height:90%;padding:8px}.online-feature b{font-size:11px}.online-feature strong{font-size:9px}.online-feature small{margin-bottom:6px}
  .menu-hero{padding:80px 7% 65px}.menu-hero h1{font-size:50px}.menu-script{font-size:29px}.menu-chapter{padding:60px 7%}.chapter-art,.chapter-art img{min-height:390px}.chapter-copy h2{font-size:43px}.chapter-number{font-size:58px}.dish-list{grid-template-columns:1fr}.chapter-wide{padding:65px 7%}.wide-image{height:390px}.chapter-kuih{padding:60px 7%}.kuih-editorial,.kuih-editorial img{min-height:430px}.menu-drinks{padding:70px 7%}.menu-ending{padding:70px 7% 85px}.menu-ending .menu-script{font-size:35px}
}

/* v2.02 — press card uses the Oriental Daily webpage capture + newspaper together */
.press-web-capture{height:92%;align-self:center;display:block;background:#fff;box-shadow:0 7px 18px rgba(0,0,0,.18);transform:rotate(1.2deg);overflow:hidden}
.press-web-capture img{width:100%;height:100%;display:block;object-fit:cover;object-position:top center}
@media(max-width:560px){.press-web-capture{height:92%}}


/* v2.0.3 — press pair: keep the Oriental Daily headline fully visible */
.press-pair{grid-template-columns:48% 52%!important;}
.press-web-capture{height:92%;padding:5px;box-sizing:border-box;background:#fff;}
.press-web-capture img{object-fit:contain!important;object-position:top center!important;background:#fff;}
@media(max-width:560px){.press-pair{grid-template-columns:46% 54%!important}.press-web-capture{height:94%;padding:2px}}


/* v2.0.5 refinements: compact menu banners + smaller shophouse locator */
@media(min-width:901px){
  .food-journal .chapter-split,.food-journal .chapter-split.reverse,.food-journal .chapter-kuih{grid-template-columns:42% 58%;gap:5%;}
  .food-journal .chapter-art,.food-journal .chapter-art img{min-height:0;height:300px;}
  .food-journal .kuih-editorial,.food-journal .kuih-editorial img{min-height:0;height:300px;}
  .food-journal .wide-image{height:320px;}
}
.place-preview{min-height:300px;grid-template-columns:50% 50%;}
.place-photo{min-height:300px;max-height:340px;}
.place-copy{padding:34px 10%;}
.place-copy h2{font-size:42px;margin-bottom:12px;}
.place-copy>p:not(.eyebrow):not(.place-address){margin:8px 0;}
.place-address{font-size:20px;margin:16px 0;}
@media(max-width:900px){.place-preview{grid-template-columns:1fr}.place-photo{min-height:260px;max-height:300px}.place-copy{padding:38px 8%}}
@media(max-width:560px){
  .food-journal .chapter-art,.food-journal .chapter-art img,.food-journal .kuih-editorial,.food-journal .kuih-editorial img{min-height:0;height:240px;}
  .food-journal .wide-image{height:250px;}
  .place-photo{min-height:220px;max-height:240px}.place-copy{padding:34px 7%}.place-copy h2{font-size:38px}
}


/* v2.0.8 — balanced horizontal editorial banners; full banner always visible on mobile */
.food-journal .banner-chapter{display:block;max-width:1120px;padding:62px 7%;}
.food-journal .menu-banner{width:100%;margin:0 0 42px;background:#efe4d0;}
.food-journal .menu-banner img{width:100%;height:auto;display:block;}
.food-journal .banner-chapter .chapter-copy{max-width:860px;margin:0 auto;padding:0;}
.food-journal .banner-chapter .dish-list{grid-template-columns:1fr 1fr;}
.food-journal .kopitiam-chapter{background:#f8f3e9;color:var(--ink);}
.food-journal .kopitiam-chapter h2{color:var(--green);}
.food-journal .cendol-chapter{background:#f8f3e9;}
@media(max-width:560px){
 .food-journal .banner-chapter{padding:44px 7%;}
 .food-journal .menu-banner{margin-bottom:30px;}
 .food-journal .banner-chapter .dish-list{grid-template-columns:1fr;}
}

/* v2.0.13 — Through Your Eyes: complete scrapbook canvas per slide */
.guest-eyes{background:#f3ead8;overflow:hidden}.guest-eyes-heading{max-width:760px;margin:0 auto 32px;text-align:center}.guest-eyes-heading h2{margin:4px 0 10px}.guest-eyes-heading>p:not(.eyebrow){max-width:650px;margin:8px auto}.guest-photo-credit{font:25px/1.1 Allura,cursive!important;color:#745c43;transform:rotate(-1deg)}
.guest-carousel{max-width:1120px;margin:0 auto}.guest-track{display:flex;gap:28px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:18px 5px 30px}.guest-track::-webkit-scrollbar{display:none}.guest-slide{position:relative;flex:0 0 100%;height:570px;scroll-snap-align:center;background:#e7d8bb;border:1px solid rgba(71,54,36,.14);box-shadow:0 12px 35px rgba(55,39,22,.10);overflow:hidden}.guest-slide:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 15% 20%,rgba(255,255,255,.55),transparent 30%),linear-gradient(120deg,rgba(255,255,255,.2),transparent 45%);pointer-events:none}.polaroid{position:absolute;background:#fffaf0;padding:12px 12px 42px;box-shadow:0 10px 22px rgba(35,25,15,.20);z-index:1}.polaroid img{width:100%;height:100%;object-fit:cover;display:block}.p1{width:51%;height:70%;left:8%;top:9%;transform:rotate(-4deg)}.p2{width:39%;height:52%;right:8%;top:8%;transform:rotate(5deg)}.p3{width:40%;height:43%;right:13%;bottom:7%;transform:rotate(-3deg)}.p4{width:27%;height:34%;left:35%;bottom:3%;transform:rotate(4deg)}.scribble{position:absolute;z-index:3;left:8%;bottom:5%;font:26px/1 Allura,cursive;color:#5e4934;transform:rotate(-3deg);background:rgba(255,248,230,.88);padding:7px 12px}.guest-controls{display:flex;justify-content:center;align-items:center;gap:18px}.guest-controls>button{width:52px;height:52px;border-radius:50%;border:1px solid #836d50;background:#f8f1e3;color:#493a2a;font-size:21px}.guest-dots{display:flex;gap:9px}.guest-dots button{width:9px;height:9px;border:0;border-radius:50%;padding:0;background:#b7a88d}.guest-dots button.active{background:#3d5b49;transform:scale(1.25)}
@media(max-width:700px){.guest-eyes{padding:62px 0}.guest-eyes-heading{padding:0 24px;margin-bottom:20px}.guest-eyes-heading h2{font-size:46px}.guest-photo-credit{font-size:22px!important}.guest-carousel{width:100%}.guest-track{gap:16px;padding:10px 7vw 24px}.guest-slide{flex:0 0 86vw;height:455px;border-radius:2px}.polaroid{padding:8px 8px 29px}.p1{width:64%;height:58%;left:7%;top:8%;transform:rotate(-5deg)}.p2{width:47%;height:43%;right:5%;top:9%;transform:rotate(5deg)}.p3{width:51%;height:39%;right:8%;bottom:8%;transform:rotate(-4deg)}.p4{width:34%;height:30%;left:30%;bottom:4%;transform:rotate(4deg)}.scribble{left:7%;bottom:5%;font-size:20px;padding:5px 9px}.guest-controls>button{width:48px;height:48px}.guest-dots{gap:8px}}
