/* Landing page: one introduction, products, then practical ideas. */
:root{--paper:#f7f5ec;--muted:#5d6858}
.header{background:#f7f5ecf5;height:88px;border-bottom:0}
.brand{gap:11px}.brand-mark{width:44px;height:38px}
.brand>span:last-child{font-size:24px;font-weight:600;letter-spacing:.06em}.brand small{font-size:12px;letter-spacing:.16em;margin-top:7px}
.header nav{gap:28px;font-size:16px;align-items:center}
.header nav a,.header nav button{padding:12px 0;font-size:16px;font-weight:450;white-space:nowrap}
.header nav button{color:var(--muted)}.header nav button:hover{color:var(--ink)}
.header-replay{display:flex;align-items:center;gap:9px;font-size:16px;min-height:44px;color:var(--muted);padding:8px 0}.header-replay:hover{color:var(--ink)}.header-replay svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5}.bag-button{width:44px;height:44px}#bag-count{width:19px;height:19px;font-size:11px;top:0;right:-1px}
.mobile-menu button{display:block;font-size:22px;padding:18px 0;text-align:left}
.intro-paper{background:var(--paper)}
#intro-name{font-family:Bricolage,Arial,sans-serif;font-weight:600;letter-spacing:.06em;font-size:34px}#intro-name span{font-family:inherit;font-size:15px;letter-spacing:.2em;margin-top:14px}
.intro-vow p{font-size:20px;line-height:1.5;color:var(--ink);max-width:580px}
.intro-vow p em{color:inherit}.sankalp-writing text{fill:#647650}
.intro-close{position:absolute;right:4.5vw;top:25px;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;color:var(--muted)}
.intro-close:hover{background:#e8ecdf}.intro-close svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.5}
/* Temporary introduction review controls and kumkum pen animation. */
.intro-content{padding-bottom:120px}
#intro-sankalp{width:100%}.sankalp-writing{width:100%;height:100%;margin:auto;overflow:visible}
.sankalp-stroke{stroke-dasharray:var(--stroke-length);stroke-dashoffset:var(--stroke-length);opacity:0}
.sankalp-complete{opacity:0}
.is-playing .sankalp-stroke{animation:kumkum-write var(--stroke-duration) cubic-bezier(.28,.55,.45,1) var(--stroke-delay) both}
@keyframes kumkum-write{0%{stroke-dashoffset:var(--stroke-length);opacity:0}1%{opacity:1}100%{stroke-dashoffset:0;opacity:1}}
.is-playing .sankalp-complete{animation:entrance-fade .16s ease 4.28s forwards}
.is-playing .intro-vow p{animation:name-enter .6s ease 3.85s both}
.is-playing .intro-identity{animation:identity-rise .55s cubic-bezier(.2,.7,.2,1) 1.8s forwards}
.is-playing #intro-name{animation:name-enter .6s ease 1.1s both}
.intro-vow{height:260px;margin-top:18px}
.intro-vow p{margin:12px auto 0}
.intro-controls{position:absolute;bottom:30px;left:20px;right:20px;display:flex;justify-content:center;gap:16px}
.intro-controls .button{font-size:16px;min-height:48px;padding:13px 25px;gap:25px}
.intro-replay{border:1px solid #b5bfaa;background:transparent}
.intro-replay svg{height:19px;width:19px;fill:none;stroke:currentColor;stroke-width:1.5}
@media(max-width:700px){.intro-content{padding:30px 22px 110px}.intro-vow{height:255px;margin-top:18px}.intro-controls{bottom:24px;gap:12px}.intro-controls .button{padding:12px 23px;gap:20px}}
@media(prefers-reduced-motion:reduce){.intro-static .sankalp-complete{opacity:1}.intro-static .sankalp-stroke{stroke-dashoffset:0;opacity:1}}
.experience{height:210svh}.world{background:var(--paper);height:100svh;min-height:620px}
.hero-copy{top:clamp(120px,16vh,156px);padding:0 5vw}
.hero-copy h1{font-size:clamp(52px,4.8vw,70px);line-height:1.03;letter-spacing:-.055em;margin:0;animation:none}
.hero-copy h1 span{color:#65774f;font-weight:500}
.hero-copy>p{font-size:18px;line-height:1.5;max-width:650px;margin:20px auto 0;color:var(--muted);animation:none}
.hero-copy>.button{margin-top:26px;font-size:16px;min-height:48px;padding:13px 24px;gap:32px;animation:none}
.collection-heading{top:140px;left:5vw;right:5vw;display:block}
.collection-heading h2{font-size:42px;line-height:1.08;margin:0;letter-spacing:-.045em}
.settle-grid{left:5vw;right:5vw;top:244px;bottom:auto;height:clamp(300px,28vw,365px);gap:18px}
.settle-card{border-radius:100px 100px 14px 14px}
.settle-copy{height:122px;padding:14px 18px 19px}
.settle-copy h3{font-size:24px;line-height:1.12;letter-spacing:-.035em}
.settle-copy .settle-meta{display:block;min-height:0;font-size:16px;line-height:1.4;margin-top:5px;color:#4b5c41}
.settle-copy .card-price{font-size:24px;margin-top:13px}
.settle-copy .round-link{width:32px;height:32px;font-size:20px;border-color:#52654566}
.everyday-section{padding:85px 6vw 95px;background:#fffdf7}
.everyday-section .section-head{display:block;margin-bottom:38px}
.everyday-section .section-head h2{font-size:44px;line-height:1.12;margin:0;letter-spacing:-.045em}
.everyday-section .section-head p{display:block;font-size:18px;line-height:1.5;margin:16px 0 0;color:var(--muted)}
.idea-browser{grid-template-columns:minmax(280px,.9fr) minmax(0,1.6fr);gap:55px}
.idea-rail,.idea-stage{height:520px}
.idea-rail{position:relative}
.idea-list{padding:0;scroll-padding-block:8px;mask-image:linear-gradient(#000 0%,#000 94%,transparent)}
.idea-option{min-height:94px;padding:20px 4px 20px 0;gap:16px;color:#5e6c53;border-bottom-color:#d9dfd0}
.idea-option-name{font-size:23px;line-height:1.15;font-weight:450;letter-spacing:-.025em}
.idea-option-name small{font-size:15px;line-height:1.4;letter-spacing:0;margin-top:9px;color:#64735b}
.idea-option.is-active .idea-option-name{font-weight:600}
.idea-option-arrow{font-size:23px;margin-right:6px}
.idea-stage{border-radius:12px;background:#f0f0e5}
#home-ideas .gallery-frame{display:grid;grid-template-rows:minmax(0,1fr) auto;background:#f1f0e4}
#home-ideas .gallery-photo{min-height:0;object-fit:cover}
#home-ideas .gallery-caption{position:static;max-width:none;width:auto;padding:0;border:0;border-radius:0;background:#eff0e4;backdrop-filter:none}
.gallery-recipe{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:25px 27px;min-height:92px}
.gallery-recipe>span:first-child{font-size:25px;line-height:1.15;font-weight:500;letter-spacing:-.03em}
.gallery-recipe>span:last-child{font-size:16px;white-space:nowrap;border-bottom:1px solid #9ba78b;padding-bottom:5px}
.gallery-recipe:hover>span:last-child{border-color:var(--ink)}
.site-footer{padding:28px 6vw;background:var(--paper);color:#52614b;border-top:1px solid #dce1d4;display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:14px;line-height:1.5}
@media(min-width:1600px){.settle-grid{top:260px;height:390px}.settle-copy{height:130px;padding:16px 22px 22px}.settle-copy h3{font-size:27px}.hero-copy{top:150px}}
@media(min-width:701px) and (max-height:740px){.hero-copy{top:112px}.hero-copy h1{font-size:54px}.hero-copy>p{margin-top:18px}.hero-copy>.button{margin-top:22px}.collection-heading{top:120px}.settle-grid{top:214px;height:clamp(300px,28vw,365px)}}
@media(min-width:701px) and (max-width:1050px){.settle-grid{gap:12px}.settle-copy{padding:13px 12px 16px}.settle-copy h3{font-size:22px}.settle-copy .settle-meta{font-size:14px}.idea-browser{gap:32px;grid-template-columns:minmax(230px,.9fr) minmax(0,1.4fr)}.gallery-recipe{padding:22px 20px;flex-wrap:wrap;gap:12px}}
@media(max-width:960px){.header nav{display:none}#menu-button{display:flex;flex-direction:column;justify-content:center;gap:6px;width:32px;height:44px;padding:7px}#menu-button span{height:1px;width:19px;background:var(--ink)}.mobile-menu{top:88px}.mobile-menu a{font-size:24px}.header-actions{gap:13px}}
@media(max-width:700px){
 .header{height:78px;padding:0 5vw}.brand-mark{width:35px;height:31px}.brand>span:last-child{font-size:21px}.brand small{font-size:11px;letter-spacing:.12em;margin-top:5px}.mobile-menu{top:78px;padding:18px 6vw 25px}.bag-button{width:38px;padding:7px}.header-actions{gap:9px}.header-replay{width:38px;justify-content:center}.header-replay span{display:none}.header-replay svg{width:22px;height:22px}
 #intro-mark{width:138px;height:103px}#intro-name{font-size:30px}#intro-name span{font-size:14px;letter-spacing:.16em}.intro-vow p{font-size:18px;max-width:320px;line-height:1.5}.intro-vow p br{display:none}.intro-close{right:5vw;top:17px}
 .experience{height:210svh}.world{height:100svh;min-height:620px}.hero-copy{top:112px;padding:0 6vw}.hero-copy h1{font-size:42px;line-height:1.04;margin:0}.hero-copy>p{font-size:16px;line-height:1.5;max-width:330px;margin:17px auto 0}.hero-copy>.button{font-size:16px;margin-top:22px;min-height:46px;padding:11px 22px}
 .collection-heading{top:112px;left:5vw;right:5vw}.collection-heading h2{font-size:32px;line-height:1.1;margin:0}
 .settle-grid{top:192px;height:min(530px,calc(100svh - 225px));left:5vw;right:5vw;gap:12px 9px;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:1fr 1fr}
 .settle-card{border-radius:68px 68px 10px 10px}.settle-copy{height:108px;padding:9px 9px 12px}.settle-copy h3{font-size:19px;line-height:1.12;letter-spacing:-.035em}.settle-copy .settle-meta{display:block;font-size:16px;line-height:1.3;margin-top:6px;white-space:nowrap}.settle-copy .card-price{font-size:21px;margin-top:10px}.settle-copy .round-link{width:27px;height:27px;font-size:18px}
 .everyday-section{padding:55px 6vw 65px}.everyday-section .section-head{margin-bottom:28px}.everyday-section .section-head h2{font-size:35px;line-height:1.1;max-width:330px}.everyday-section .section-head p{font-size:16px;margin-top:14px}
 .idea-browser{grid-template-columns:1fr;gap:28px}.idea-rail{height:270px;order:0}.idea-stage{height:430px;order:1}.idea-option{min-height:89px;padding:18px 4px 17px 0}.idea-option-name{font-size:22px}.idea-option-name small{font-size:15px;margin-top:8px}.gallery-recipe{padding:22px;min-height:102px;gap:12px;flex-wrap:wrap}.gallery-recipe>span:first-child{font-size:24px}.gallery-recipe>span:last-child{font-size:16px}.site-footer{padding:25px 6vw;display:flex;flex-direction:column;align-items:flex-start;gap:9px;font-size:14px}.site-footer>span{display:block!important}
}
@media(max-width:700px) and (max-height:740px){.hero-copy{top:99px}.hero-copy h1{font-size:38px}.hero-copy>p{margin-top:14px}.hero-copy>.button{margin-top:18px}.settle-grid{height:calc(100svh - 208px);top:178px}.collection-heading{top:105px}.settle-copy{height:101px;padding-top:8px}.settle-copy h3{font-size:18px}.settle-copy .card-price{margin-top:8px}.idea-stage{height:405px}}
@media(prefers-reduced-motion:reduce){
 .experience{height:auto}.world{height:auto;min-height:0;padding:120px 5vw 45px}.hero-copy{position:relative;inset:auto;padding:0;margin-bottom:65px}.hero-copy>.button{display:inline-flex}
 .collection-heading{position:relative;inset:auto;margin:0 0 30px}.settle-grid{position:relative;inset:auto;height:auto;min-height:0;align-items:stretch}.settle-copy{opacity:1!important}.pack-slot{min-height:215px}.settle-grid .static-pack{height:185px}.hero-copy>.button{display:none}
 @media(max-width:700px){.world{padding-top:112px}.settle-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none}.pack-slot{min-height:190px}.settle-grid .static-pack{height:170px}.settle-copy{height:108px}}
}

/* The pledge appears only after the final, exact Hindi outline is complete. */
#intro-sankalp{width:158px;height:58px;margin:0 auto}
.intro-vow{height:150px;margin-top:25px}
.intro-vow p{margin-top:21px}
.is-playing .intro-vow p{animation:none;opacity:0;transform:translateY(8px)}
.is-playing.word-finished .intro-vow p{animation:name-enter .55s cubic-bezier(.2,.7,.2,1) .14s both}
.sankalp-letter-ink{opacity:0}
.is-playing .sankalp-letter-ink{animation:entrance-fade .04s linear var(--ink-delay) forwards}
.is-playing .sankalp-reveal{animation:pen-lift .001s linear calc(var(--ink-delay) + .04s) forwards}
.is-playing .sankalp-complete{animation:entrance-fade .01s linear 4.35s forwards}
.is-playing .sankalp-writing-groups{animation:pen-lift .001s linear 4.36s forwards}
@keyframes pen-lift{to{opacity:0}}
.intro-static .intro-identity{transform:none}
.intro-static .sankalp-complete,.intro-static .intro-vow p{opacity:1;transform:none}
.intro-static .sankalp-writing-groups{opacity:0}
@media(max-width:700px){#intro-sankalp{width:148px;height:54px}.intro-vow{height:160px;margin-top:24px}.intro-vow p{margin-top:20px}}
/* Round pen caps stay hidden until a real stroke begins. */
.v-draw,.stem-draw{opacity:0}
.is-playing .v-draw{animation:brand-mark-write 1.3s cubic-bezier(.3,.7,.2,1) .1s both}
.is-playing .stem-draw{animation:brand-mark-write .9s ease .65s both}
@keyframes brand-mark-write{0%{opacity:0;stroke-dashoffset:1}1%{opacity:1}100%{opacity:1;stroke-dashoffset:0}}
.intro-static .v-draw,.intro-static .stem-draw{opacity:1;stroke-dashoffset:0}

/* One action, revealed only after the pledge has finished. */
.intro-controls{position:relative;inset:auto;display:flex;justify-content:center;width:100%;min-height:52px;margin-top:22px;gap:0;visibility:hidden;opacity:0;transform:translateY(10px)}
.intro-controls .button{width:236px;max-width:100%;min-height:52px;justify-content:center;font-size:17px;gap:30px}
.intro-controls-ready .intro-controls{visibility:visible;opacity:1;transform:none;transition:opacity .45s ease,transform .5s cubic-bezier(.2,.7,.2,1)}
/* The process film follows recipe inspiration as a quiet second chapter. */
.home-film-section{padding:78px 6vw 88px;background:#e8ecdf}
.film-section-head{display:grid;grid-template-columns:1.15fr 1fr;align-items:end;gap:50px;max-width:1120px;margin:0 auto 34px}
.film-section-head h2{font-size:clamp(40px,4.2vw,58px);line-height:1.05;letter-spacing:-.045em;margin:0}
.film-section-head>div{max-width:370px;justify-self:end}
.film-section-head p{font-size:18px;line-height:1.55;color:#53644d;margin:0 0 15px}
.film-section-head .text-link{font-size:17px}
.home-film-stage{position:relative;max-width:1120px;margin:auto;aspect-ratio:16/9;background:#f4efe2;border-radius:16px;overflow:hidden;border:1px solid #263c2b18;isolation:isolate}
.home-film-stage video{display:block;width:100%;height:100%;object-fit:contain;background:#f4efe2}
.home-film-cover{position:absolute;inset:0;display:grid;place-items:center;width:100%;height:100%;padding:0;border:0;border-radius:inherit;background:transparent;color:#fffdf5}
.home-film-cover[hidden]{display:none}
.home-film-cover picture,.home-film-cover picture img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.film-play-label{position:relative;z-index:1;display:flex;align-items:center;gap:13px;padding:17px 25px 17px 18px;border-radius:40px;background:#263c2bf2;box-shadow:0 6px 28px #18271625;font-size:18px;line-height:1.3;transition:transform .25s,background .25s}
.film-play-label svg{width:27px;height:27px;fill:currentColor;flex:none}
.home-film-cover:hover .film-play-label{transform:translateY(-3px);background:#1b3521}
.home-film-cover:focus-visible{outline:3px solid #a25338;outline-offset:-6px}
.home-film-error{max-width:1120px;margin:18px auto 0;font-size:17px;color:#7e3b2d}
.home-film-error[hidden]{display:none}
.home-film-error a{text-decoration:underline;text-underline-offset:4px}
@media(max-width:700px){
 .intro-controls{margin-top:18px;min-height:50px}
 .intro-controls .button{width:228px;min-height:50px;font-size:17px}
 .home-film-section{padding:52px 6vw 60px}
 .film-section-head{grid-template-columns:1fr;gap:20px;margin-bottom:27px}
 .film-section-head h2{font-size:36px}
 .film-section-head>div{justify-self:start;max-width:320px}
 .film-section-head p{font-size:17px;margin-bottom:13px}
 .home-film-stage[data-format=portrait]{aspect-ratio:9/16;max-width:420px}
 .home-film-stage{border-radius:13px}
 .film-play-label{font-size:17px;padding:16px 23px 16px 17px}
}
@media(prefers-reduced-motion:reduce){.intro-controls-ready .intro-controls,.film-play-label{transition:none;transform:none}}
.brand-intro{width:100vw}
.home-film-cover picture img{object-fit:cover}

/* Keep the film action quiet and anchored to its frame. */
.home-film-cover{place-items:end start;padding:28px}
.film-play-label{font-size:16px;gap:9px;padding:11px 18px 11px 14px;box-shadow:0 3px 15px #1827161a}
.film-play-label svg{width:21px;height:21px}
.home-shop-cta{padding:64px 6vw 70px;background:#f2ead7;display:flex;align-items:center;justify-content:space-between;gap:32px}
.home-shop-cta h2{font-size:clamp(34px,3.6vw,50px);line-height:1.1;letter-spacing:-.04em;margin:0}
.home-shop-cta .button{font-size:18px;min-height:52px;white-space:nowrap;gap:28px}
@media(max-width:700px){.home-film-cover{padding:20px}.film-play-label{font-size:16px;padding:11px 16px 11px 13px}.home-shop-cta{padding:44px 6vw 50px;display:block}.home-shop-cta h2{font-size:35px}.home-shop-cta .button{margin-top:27px;font-size:17px}}
