:root {
  --forest:#174f43; --forest-deep:#0e302a; --sage:#dce7df; --red:#a13a3e;
  --cream:#f7f4ed; --paper:#fffdf9; --ink:#242823; --muted:#686d66; --line:#dedfd8;
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
  --sans:Avenir,"Avenir Next","Segoe UI",Helvetica,Arial,sans-serif;
  --max:1180px; --radius:26px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);line-height:1.65} img{display:block;width:100%;height:auto} a{color:inherit}.wrap{width:min(calc(100% - 3rem),var(--max));margin-inline:auto}.skip-link{position:fixed;top:-6rem;left:1rem;z-index:100;padding:.7rem 1rem;background:white}.skip-link:focus{top:1rem}a:focus-visible,button:focus-visible{outline:3px solid #f0b84d;outline-offset:4px}
.site-header{position:absolute;inset:0 0 auto;z-index:20;color:white}.site-header.inner{position:relative;background:var(--paper);color:var(--ink);border-bottom:1px solid var(--line)}.header-inner{min-height:98px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{display:flex;align-items:center;gap:.8rem;text-decoration:none}.brand-mark{width:48px;height:48px}.brand-word{font:600 1.25rem/1 var(--serif);letter-spacing:.14em}.brand-sub{display:block;margin-top:.28rem;font-size:.58rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;opacity:.75}.nav-toggle{display:none;border:0;background:transparent;color:inherit;font:700 .75rem var(--sans);letter-spacing:.12em;text-transform:uppercase}.site-nav ul{display:flex;gap:2rem;align-items:center;margin:0;padding:0;list-style:none}.site-nav a{text-decoration:none;font-size:.71rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.site-nav a:hover,.site-nav a[aria-current=page]{color:#90ddca}.site-header.inner .site-nav a:hover,.site-header.inner .site-nav a[aria-current=page]{color:var(--forest)}.nav-cta{padding:.65rem 1rem;border:1px solid currentColor;border-radius:100px}
.photo-hero{position:relative;min-height:92vh;display:grid;align-items:end;overflow:hidden;color:white;background:#19362f}.photo-hero>img{position:absolute;inset:0;height:100%;object-fit:cover}.photo-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,23,19,.78) 0%,rgba(8,23,19,.38) 55%,rgba(8,23,19,.08)),linear-gradient(0deg,rgba(8,23,19,.58),transparent 55%)}.hero-inner{position:relative;z-index:1;padding-block:190px 9vh;max-width:720px}.eyebrow{margin:0 0 1rem;font-size:.68rem;font-weight:800;letter-spacing:.25em;text-transform:uppercase;color:#a9ead8}.photo-hero h1,.page-hero h1{margin:0;font:500 clamp(3.7rem,9vw,7.8rem)/.94 var(--serif);letter-spacing:-.055em}.hero-copy{max-width:590px;margin:1.3rem 0 0;font-size:clamp(1.08rem,2vw,1.32rem);color:#f2f2eb}.actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:2rem}.button{display:inline-flex;align-items:center;min-height:48px;padding:.75rem 1.15rem;border-radius:100px;background:var(--paper);color:var(--forest-deep);text-decoration:none;font-size:.72rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.button:hover{background:var(--sage)}.button.secondary{background:transparent;color:white;border:1px solid rgba(255,255,255,.65)}.photo-credit{position:absolute;z-index:2;right:1rem;bottom:1rem;color:rgba(255,255,255,.7);font-size:.58rem}.photo-credit a{color:inherit}
.welcome-strip{background:var(--forest);color:white}.welcome-strip .wrap{display:flex;justify-content:center;gap:.5rem;padding-block:.85rem;font-size:.82rem}.section{padding-block:clamp(5rem,10vw,9rem)}.section.white{background:var(--paper)}.section.soft{background:#edf1eb}.section.dark{background:var(--forest-deep);color:white}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.5rem,8vw,7rem);align-items:center}.kicker{color:var(--forest);font-size:.7rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase}.dark .kicker{color:#9fe1cf}.display{margin:.5rem 0 0;font:500 clamp(2.6rem,5.5vw,5.2rem)/1.02 var(--serif);letter-spacing:-.045em}.lede{margin:1.2rem 0 0;color:var(--muted);font-size:1.13rem}.dark .lede{color:#cdd9d4}.text-link{display:inline-block;margin-top:1.2rem;color:var(--forest);font-weight:800;text-underline-offset:5px}.dark .text-link{color:#b8eee0}.portrait-photo,.landscape-photo{position:relative;overflow:hidden;border-radius:var(--radius);background:#ddd}.portrait-photo{aspect-ratio:4/5}.landscape-photo{aspect-ratio:16/10}.portrait-photo img,.landscape-photo img{height:100%;object-fit:cover}.offset-photo{transform:translateY(2.5rem)}
.image-pair{display:grid;grid-template-columns:1.1fr .9fr;gap:1.25rem;align-items:end}.image-pair .small{aspect-ratio:4/5;margin-bottom:-3.5rem}.image-pair .large{aspect-ratio:4/5}.image-pair img{height:100%;object-fit:cover;border-radius:var(--radius)}.promise{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem;margin-top:4rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.2)}.promise h3{margin:.5rem 0;font:500 1.65rem var(--serif)}.promise p{color:#c8d4cf}.promise span{color:#9fe1cf;font-size:.68rem;font-weight:800;letter-spacing:.16em}.quote{margin:0;font:500 clamp(2.5rem,5vw,4.7rem)/1.08 var(--serif);letter-spacing:-.04em}.quote:before{content:"“";color:var(--red)}
.page-hero{position:relative;min-height:62vh;display:grid;align-items:end;overflow:hidden;color:white;background:var(--forest-deep)}.page-hero>img{position:absolute;inset:0;height:100%;object-fit:cover}.page-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,28,23,.78),rgba(8,28,23,.13))}.page-hero .wrap{position:relative;z-index:1;padding-block:150px 4.5rem}.page-hero h1{max-width:900px;font-size:clamp(3.3rem,8vw,6.5rem)}.prose{max-width:720px}.prose h2{margin:2.4rem 0 .7rem;font:500 2.15rem var(--serif)}.prose p{font-size:1.06rem}.story-mark{overflow:hidden;border-radius:var(--radius);background:var(--sage)}.story-mark img{aspect-ratio:4/5;object-fit:cover}.story-bird{position:absolute;right:1.2rem;bottom:1.2rem;width:82px;height:82px;padding:8px;border-radius:50%;background:rgba(255,253,249,.9)}
.menu-intro{max-width:720px}.menu-notice{margin-top:2rem;padding:1.2rem 1.4rem;border-radius:14px;background:var(--sage)}.menu-section{margin-top:4rem}.menu-section h2{margin:0;padding-bottom:.75rem;border-bottom:1px solid var(--line);font:500 2.2rem var(--serif)}.menu-list{margin:0;padding:0;list-style:none}.menu-item{display:grid;grid-template-columns:1fr auto;gap:1rem;padding:1.25rem 0;border-bottom:1px solid var(--line)}.menu-item h3{margin:0;font-size:1rem}.menu-item p{margin:.3rem 0 0;color:var(--muted)}.price{font-weight:800}
.info-card{padding:2rem;border-radius:20px;background:var(--paper);box-shadow:0 14px 40px rgba(26,42,34,.06)}.info-card+.info-card{margin-top:1rem}.info-card h2{margin:0 0 .8rem;font:500 1.8rem var(--serif)}.hours{width:100%;border-collapse:collapse}.hours td{padding:.65rem 0;border-bottom:1px solid var(--line)}.hours td:last-child{text-align:right}.map-placeholder{min-height:420px;display:grid;place-items:center;padding:2rem;border-radius:var(--radius);background:var(--forest);color:white;text-align:center}.contact-list{margin:0;padding:0;list-style:none}.contact-list li{padding:.75rem 0;border-bottom:1px solid var(--line)}.placeholder{color:var(--red);font-size:.74rem;font-weight:800;letter-spacing:.08em}
.site-footer{background:#10241f;color:#cbd5d0}.footer-main{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:4rem;padding-block:4.5rem}.footer-main h2{margin:0 0 .7rem;color:white;font:500 1.5rem var(--serif)}.footer-main a{color:inherit}.footer-bottom{padding-block:1rem;border-top:1px solid rgba(255,255,255,.14);font-size:.72rem}
@media(max-width:800px){.wrap{width:min(calc(100% - 2rem),var(--max))}.header-inner{min-height:76px}.brand-mark{width:42px;height:42px}.nav-toggle{display:block}.site-nav{display:none;position:absolute;top:76px;left:0;right:0;padding:1rem;background:var(--forest-deep)}.site-header.inner .site-nav{background:var(--paper)}.site-nav.open{display:block}.site-nav ul{display:block}.site-nav a{display:block;padding:.7rem 0}.nav-cta{border:0;padding:.7rem 0}.photo-hero{min-height:88vh}.hero-inner{padding-block:150px 4.5rem}.grid-2,.footer-main{grid-template-columns:1fr}.image-pair{margin-top:1rem}.offset-photo{transform:none}.promise{grid-template-columns:1fr;gap:1.4rem}.footer-main{gap:1.5rem}.welcome-strip .wrap{display:block;text-align:center}.page-hero{min-height:55vh}}
@media print{.site-header,.site-footer,.actions,.welcome-strip,.photo-credit{display:none}.page-hero,.section.dark{background:white;color:black}.section,.page-hero .wrap{padding-block:1.5rem}}

/* v0.3: supplied logo and ramen-forward homepage */
.brand{gap:0}.brand-logo{width:82px;height:82px;object-fit:cover;border-radius:50%;box-shadow:0 8px 28px rgba(0,0,0,.16)}
.ramen-gallery{display:grid;grid-template-columns:1.25fr .75fr;gap:1.25rem;margin-top:3rem}.ramen-gallery figure{position:relative;margin:0;overflow:hidden;border-radius:var(--radius);background:#ddd}.ramen-gallery figure:first-child{aspect-ratio:16/10}.ramen-gallery figure:last-child{aspect-ratio:4/5}.ramen-gallery img{height:100%;object-fit:cover}.ramen-gallery figcaption{position:absolute;left:1rem;right:1rem;bottom:1rem;padding:.65rem .8rem;border-radius:12px;background:rgba(16,36,31,.84);color:white;font-size:.7rem}
@media(max-width:800px){.brand-logo{width:64px;height:64px}.ramen-gallery{grid-template-columns:1fr}.ramen-gallery figure:last-child{display:none}}
.arrival-preview{position:relative;min-height:560px;display:grid;align-items:end;overflow:hidden;color:white}.arrival-preview>img{position:absolute;inset:0;height:100%;object-fit:cover}.arrival-preview:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,30,24,.82),rgba(8,30,24,.1) 70%)}.arrival-preview .wrap{position:relative;z-index:1;padding-block:5rem;max-width:var(--max)}.arrival-preview .copy{max-width:520px}.arrival-preview .display{font-size:clamp(2.8rem,5vw,4.8rem)}
.arrival-steps{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:3rem}.arrival-card{margin:0}.arrival-card img{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius)}.arrival-card figcaption{padding:.9rem .2rem 0;color:var(--muted)}.arrival-card strong{display:block;color:var(--ink);font:500 1.35rem var(--serif)}.address-block{font-style:normal;font-size:1.08rem}.directions-link{display:inline-flex;margin-top:1rem;padding:.7rem 1rem;border-radius:100px;background:var(--forest);color:white;text-decoration:none;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.concept-note{margin-top:2rem;padding:1rem 1.2rem;border-radius:14px;background:var(--sage);color:#3f4a44;font-size:.82rem}
@media(max-width:800px){.arrival-preview{min-height:500px}.arrival-steps{grid-template-columns:1fr}}
.origin-map{overflow:hidden;border-radius:var(--radius);background:#ddd}.origin-map img{aspect-ratio:2/1;object-fit:cover}.origin-map figcaption,.bench-figure figcaption{padding:.8rem .2rem 0;color:var(--muted);font-size:.76rem}.bench-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:clamp(2rem,7vw,6rem);align-items:center}.bench-figure{margin:0}.bench-figure img{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);background:#ddd}.story-callout{padding:clamp(2rem,5vw,4rem);border-radius:var(--radius);background:var(--forest);color:white}.story-callout .kicker{color:#9fe1cf}.story-callout .lede{color:#d6e2dd}.story-callout strong{font-family:var(--serif);font-size:1.35rem;font-weight:500}.source-note{margin-top:1.4rem;color:#c1d0ca;font-size:.72rem}.source-note a{color:inherit}
@media(max-width:800px){.bench-layout{grid-template-columns:1fr}}
.regional-map{overflow:hidden;border-radius:var(--radius);background:#d9ddd7;box-shadow:0 16px 50px rgba(20,44,36,.08)}.regional-map iframe{display:block;width:100%;height:520px;border:0}.map-heading{max-width:760px;margin-bottom:2.5rem}.map-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:1rem}.map-note{color:var(--muted);font-size:.78rem}
@media(max-width:800px){.regional-map iframe{height:420px}}
.survey-intro{max-width:800px}.survey-form{margin-top:3rem;padding:clamp(1.5rem,5vw,3.5rem);border-radius:var(--radius);background:var(--paper);box-shadow:0 20px 60px rgba(20,44,36,.08)}.form-section+.form-section{margin-top:3rem;padding-top:2.5rem;border-top:1px solid var(--line)}.form-section h2{margin:0 0 .4rem;font:500 clamp(1.8rem,4vw,2.6rem) var(--serif)}.form-section>p{margin-top:0;color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}.form-field{margin-top:1.1rem}.form-field.full{grid-column:1/-1}.form-field label,.question-label{display:block;margin-bottom:.42rem;font-size:.78rem;font-weight:800}.form-field input,.form-field select,.form-field textarea{width:100%;border:1px solid #cdd2ca;border-radius:12px;background:white;color:var(--ink);font:inherit;padding:.82rem .9rem}.form-field textarea{min-height:120px;resize:vertical}.choice-row{display:flex;flex-wrap:wrap;gap:.7rem 1.2rem;margin-top:.55rem}.choice-row label{font-size:.86rem}.survey-submit{margin-top:2rem;border:0;border-radius:100px;background:var(--forest);color:white;padding:.9rem 1.25rem;font:800 .72rem var(--sans);letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.survey-submit:hover{background:#226b5b}.form-status{margin-top:1rem;padding:.85rem 1rem;border-radius:12px;background:var(--sage);font-size:.82rem}.privacy-note{color:var(--muted);font-size:.76rem}.community-dish{padding:1.4rem;border-radius:18px;background:#edf1eb}
@media(max-width:700px){.form-grid{grid-template-columns:1fr}.form-field.full{grid-column:auto}}

/* v0.8: Joren Team Area visual prototype */
.team-back,.team-signout{font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;text-underline-offset:5px}.team-login-main{min-height:calc(100vh - 176px);display:grid;place-items:center;padding:clamp(3rem,8vw,7rem) 1.5rem;background:linear-gradient(135deg,#edf1eb 0%,#f7f4ed 50%,#dce7df 100%)}.team-login-panel{width:min(1040px,100%);display:grid;grid-template-columns:1.15fr .85fr;overflow:hidden;border-radius:30px;background:var(--paper);box-shadow:0 24px 80px rgba(14,48,42,.15)}.team-login-welcome{padding:clamp(2rem,6vw,5rem);background:var(--forest-deep);color:white}.team-login-welcome h1{max-width:630px;margin:.6rem 0 1rem;font:500 clamp(2.6rem,5vw,4.6rem)/1.02 var(--serif);letter-spacing:-.045em}.team-login-welcome>p{color:#cedbd6}.team-reference-note{margin-top:2.5rem;padding:1.25rem;border-left:3px solid #8bd7c3;background:rgba(255,255,255,.08)}.team-reference-note strong{font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;color:#a9ead8}.team-reference-note p{margin:.35rem 0 0;font-size:.85rem;color:#d9e4df}.team-login-card{align-self:center;padding:clamp(2rem,5vw,4rem)}.team-login-card h2{margin:.3rem 0 0;font:500 2.3rem var(--serif)}.team-demo-label,.team-module-label{margin:0;color:var(--forest);font-size:.66rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.team-muted,.team-help{color:var(--muted);font-size:.8rem}.team-login-card label{display:block;margin:1.1rem 0 .35rem;font-size:.75rem;font-weight:800}.team-login-card input{width:100%;padding:.85rem 1rem;border:1px solid #cdd2ca;border-radius:11px;background:white;font:inherit}.team-submit{width:100%;margin-top:1.4rem;padding:.9rem;border:0;border-radius:100px;background:var(--forest);color:white;font:800 .72rem var(--sans);letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.team-submit:hover{background:#226b5b}.team-mini-footer{padding:1rem 0;background:#10241f;color:#aabbb4;text-align:center;font-size:.7rem}
.team-dashboard-page{background:#edf1eb}.team-header{background:var(--paper);border-bottom:1px solid var(--line)}.team-header-inner{min-height:86px;display:flex;align-items:center;gap:1rem}.team-header .brand-logo{width:62px;height:62px}.team-header-title{display:flex;flex-direction:column;line-height:1.2}.team-header-title strong{font:500 1.25rem var(--serif)}.team-header-title span{font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}.team-signout{margin-left:auto}.team-shell{display:grid;grid-template-columns:190px minmax(0,1fr);gap:clamp(2rem,5vw,5rem);padding-block:3rem 6rem}.team-sidebar{position:sticky;top:2rem;align-self:start;display:flex;flex-direction:column}.team-sidebar a{padding:.7rem .85rem;border-left:2px solid transparent;color:var(--muted);font-size:.78rem;font-weight:700;text-decoration:none}.team-sidebar a:hover,.team-sidebar a.active{border-left-color:var(--forest);background:rgba(23,79,67,.06);color:var(--forest)}.prototype-banner{padding:.7rem 1rem;border-radius:10px;background:#fff0c9;color:#634f1c;font-size:.75rem}.team-greeting{padding:3rem 0 2rem}.team-greeting h1{margin:.3rem 0;font:500 clamp(2.8rem,6vw,5rem)/1 var(--serif);letter-spacing:-.05em}.team-nest-pillars{margin-top:.9rem}.team-nest-pillars h2{margin:.12rem 0;color:var(--muted);font:500 clamp(1.25rem,2.5vw,1.75rem)/1.16 var(--serif)}.team-reference-note.compact{margin:0 0 1.5rem;border-left-color:var(--forest);background:var(--forest);color:white}.team-dashboard-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:1.25rem}.team-module{padding:1.6rem;border:1px solid var(--line);border-radius:20px;background:var(--paper);box-shadow:0 8px 28px rgba(14,48,42,.04)}.team-module h2{margin:.2rem 0 1rem;font:500 1.7rem var(--serif)}.team-module-heading{display:flex;justify-content:space-between;gap:1rem}.team-date{font-size:.68rem;color:var(--muted)}.schedule-preview>div{display:grid;grid-template-columns:55px 1fr;padding:.7rem 0;border-bottom:1px solid var(--line);font-size:.84rem}.schedule-preview span{color:var(--muted)}.team-card-link{display:flex;justify-content:space-between;margin-top:1.2rem;color:var(--forest);font-size:.75rem;font-weight:800;text-underline-offset:4px}.announcement+.announcement{padding-top:1rem;border-top:1px solid var(--line)}.announcement time{font-size:.65rem;color:var(--muted);text-transform:uppercase}.announcement h3{margin:.15rem 0;font-size:.92rem}.announcement p{margin:.2rem 0 1rem;color:var(--muted);font-size:.78rem}.resource-list{margin:0;padding:0;list-style:none}.resource-list li+li{border-top:1px solid var(--line)}.resource-list a{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 0;text-decoration:none;font-size:.82rem}.resource-list small{color:var(--muted)}.team-module blockquote{margin:1.2rem 0;font:500 1.7rem/1.2 var(--serif);color:var(--forest)}.team-module>p{color:var(--muted);font-size:.84rem}.team-contact-module{grid-column:1/-1;background:var(--forest-deep);color:white}.team-contact-module .team-module-label{color:#9fe1cf}.team-contact-module>p{color:#cdd9d4}.team-placeholder{font-size:.72rem;color:#9fe1cf}.team-footer-link{margin-left:1rem;color:#a9b9b2}
@media(max-width:800px){.team-login-panel{grid-template-columns:1fr}.team-login-welcome h1{font-size:2.8rem}.team-shell{grid-template-columns:1fr;padding-top:1.5rem}.team-sidebar{position:static;display:flex;flex-direction:row;overflow-x:auto;padding-bottom:.5rem}.team-sidebar a{white-space:nowrap;border-left:0;border-bottom:2px solid transparent}.team-sidebar a:hover,.team-sidebar a.active{border-left-color:transparent;border-bottom-color:var(--forest)}.team-dashboard-grid{grid-template-columns:1fr}.team-contact-module{grid-column:auto}.team-greeting{padding-top:2rem}}

/* Balance the decorative quotation marks around the Joren moment. */
.quote:after{content:"”";color:var(--red)}

/* Reserved connection point for the future online-order provider. */
.menu-order-panel{margin-top:3.5rem;padding:clamp(1.5rem,3vw,2.25rem);border-radius:22px;background:var(--forest-deep);color:white}.menu-order-panel h2{margin:.15rem 0 .65rem;font:500 clamp(2rem,4vw,3rem)/1 var(--serif)}.menu-order-panel>p:not(.menu-section-label){margin:0;color:#d8e4df}.order-coming-soon{display:inline-flex;margin-top:1.4rem;padding:.72rem 1rem;border:1px solid rgba(255,255,255,.5);border-radius:100px;color:white;font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}

/* Community dish photographs and Joren regular account prototype. */
.menu-item h3 a{text-decoration-color:#9db9af;text-decoration-thickness:1px;text-underline-offset:5px}.menu-item h3 a:hover{color:var(--forest);text-decoration-color:var(--forest)}.gallery-nav{display:flex;gap:1.25rem;align-items:center}.gallery-nav a{font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.dish-gallery-page{padding-block:4rem 7rem}.dish-gallery-intro h1,.regular-login-panel h1,.regular-upload-layout h1{margin:.25rem 0 1rem;font:500 clamp(3rem,7vw,6rem)/.98 var(--serif);letter-spacing:-.05em}.dish-gallery-intro>p:last-child{max-width:720px;color:var(--muted)}.dish-photo-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:1.5rem;align-items:stretch;margin-top:2rem}.official-dish-photo{margin:0;overflow:hidden;border-radius:24px;background:var(--paper);box-shadow:0 12px 38px rgba(14,48,42,.08)}.official-dish-photo img{aspect-ratio:16/10;object-fit:cover}.official-dish-photo figcaption{display:flex;justify-content:space-between;gap:1rem;padding:1rem 1.2rem}.official-dish-photo figcaption span{color:var(--muted);font-size:.72rem}.community-photo-placeholder{display:flex;flex-direction:column;justify-content:center;padding:clamp(1.5rem,4vw,3rem);border:2px dashed #a9bab2;border-radius:24px;background:#edf2ee}.community-photo-placeholder h2{margin:.25rem 0;font:500 clamp(2rem,4vw,3.3rem)/1.05 var(--serif)}.community-photo-placeholder>p:not(.kicker){color:var(--muted)}.community-photo-placeholder .button{align-self:flex-start;background:var(--forest);color:white}.regular-login-main,.regular-upload-main{min-height:calc(100vh - 160px);padding-block:4rem 7rem;background:#edf1eb}.regular-login-panel{width:min(calc(100% - 3rem),1000px);display:grid;grid-template-columns:1fr .8fr;gap:clamp(2rem,6vw,5rem);align-items:center;margin:auto;padding:clamp(2rem,5vw,4rem);border-radius:28px;background:var(--paper);box-shadow:0 20px 65px rgba(14,48,42,.1)}.regular-login-panel form,.regular-upload-form{padding:1.5rem;border-radius:20px;background:white;box-shadow:0 10px 32px rgba(14,48,42,.07)}.regular-login-panel label,.regular-upload-form>label:not(.request-check){display:block;margin:1rem 0 .3rem;color:var(--muted);font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.regular-login-panel input,.regular-upload-form input,.regular-upload-form textarea{width:100%;padding:.8rem .9rem;border:1px solid #c7cec8;border-radius:10px;background:white;font:inherit}.regular-upload-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,6vw,5rem);align-items:start}.moderation-note{margin-top:2rem;padding:1.25rem;border-left:3px solid var(--forest);background:white}.moderation-note p{margin:.35rem 0 0;color:var(--muted)}
@media(max-width:800px){.dish-photo-grid,.regular-login-panel,.regular-upload-layout{grid-template-columns:1fr}.official-dish-photo figcaption{flex-direction:column}.gallery-nav{gap:.7rem}.gallery-nav a{font-size:.6rem}}

/* Menu-to-cart ordering walkthrough. */
.menu-price-order{display:flex;min-width:132px;flex-direction:column;align-items:flex-end;gap:.5rem}.menu-add-button{padding:.45rem .7rem;border:1px solid var(--forest);border-radius:100px;background:white;color:var(--forest);font:800 .61rem var(--sans);letter-spacing:.05em;text-transform:uppercase;cursor:pointer}.menu-add-button:hover{background:var(--forest);color:white}.menu-add-button:disabled{border-color:#bbb;color:#888;cursor:not-allowed}.cart-dock{position:fixed;z-index:60;right:1.25rem;bottom:1.25rem;display:flex;align-items:center;gap:1.2rem;padding:.85rem 1rem .85rem 1.2rem;border:1px solid rgba(255,255,255,.2);border-radius:18px;background:var(--forest-deep);color:white;box-shadow:0 16px 48px rgba(6,25,20,.3)}.cart-dock[hidden]{display:none}.cart-dock>div{display:grid;grid-template-columns:auto auto;gap:0 .8rem}.cart-dock span{font-size:.68rem;color:#acd2c5}.cart-dock strong{grid-column:2;grid-row:1/3;font:500 1.55rem var(--serif)}.cart-dock small{font-size:.58rem;color:#9db9b0}.cart-dock .button{min-height:42px;padding:.55rem .8rem;font-size:.62rem}.menu-customizer{width:min(calc(100% - 2rem),560px);padding:0;border:0;border-radius:24px;background:var(--paper);box-shadow:0 28px 90px rgba(7,28,22,.35)}.menu-customizer::backdrop{background:rgba(7,24,20,.72)}.menu-customizer form{position:relative;padding:clamp(1.5rem,5vw,3rem)}.menu-customizer h2{margin:.2rem 0 .4rem;font:500 clamp(2.2rem,6vw,3.8rem)/1 var(--serif)}.menu-customizer form>p:not(.kicker){color:var(--muted)}.dialog-close{position:absolute;top:1rem;right:1rem;width:38px;height:38px;border:0;border-radius:50%;background:#e6ebe7;color:var(--forest);font-size:1.5rem;cursor:pointer}.menu-customizer [data-customizer-options] label,.customizer-quantity{display:block;margin-top:1rem;color:var(--muted);font-size:.66rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.menu-customizer select,.customizer-quantity input{display:block;width:100%;margin-top:.3rem;padding:.75rem .85rem;border:1px solid #c7cec8;border-radius:10px;background:white;font:inherit}.customizer-total{display:flex;justify-content:space-between;align-items:end;margin-top:1.4rem;padding-top:1rem;border-top:1px solid var(--line)}.customizer-total span{font-size:.72rem;color:var(--muted)}.customizer-total strong{font:500 2rem var(--serif)}.cart-page{padding-block:2rem 7rem;background:#edf1eb}.cart-page-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem;padding-block:3.5rem 2rem}.cart-page-heading h1{margin:.25rem 0;font:500 clamp(3.2rem,7vw,6rem)/.96 var(--serif);letter-spacing:-.05em}.cart-page-heading p{max-width:720px;color:var(--muted)}.cart-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:1.5rem;align-items:start}.cart-items-panel,.cart-summary{padding:clamp(1.25rem,3vw,2rem);border-radius:22px;background:var(--paper);box-shadow:0 10px 32px rgba(14,48,42,.06)}.cart-items-panel>h2{margin:0 0 1rem;font:500 2rem var(--serif)}.cart-line-item{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center;padding:1.15rem 0;border-top:1px solid var(--line)}.cart-line-item h3{margin:0;font-size:1rem}.cart-line-item p{margin:.25rem 0 0;color:var(--muted);font-size:.73rem}.cart-line-controls{display:grid;grid-template-columns:34px 28px 34px 75px;gap:.35rem;align-items:center;text-align:center}.cart-line-controls>button:not(.cart-remove){width:34px;height:34px;border:1px solid var(--line);border-radius:50%;background:white;color:var(--forest);font-size:1rem;cursor:pointer}.cart-line-controls strong{text-align:right}.cart-remove{grid-column:1/-1;justify-self:end;border:0;background:transparent;color:var(--red);font-size:.65rem;text-decoration:underline;cursor:pointer}.empty-cart{padding:3rem 1rem;text-align:center}.empty-cart h3{font:500 2rem var(--serif)}.empty-cart .button{background:var(--forest);color:white}.cart-summary{position:sticky;top:1rem}.cart-summary>div{display:flex;justify-content:space-between;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--line);font-size:.8rem}.cart-summary>div strong{text-align:right}.cart-summary .cart-estimated-total{display:grid;grid-template-columns:1fr auto;margin-top:.6rem;border-bottom:0}.cart-estimated-total strong{font:500 2rem var(--serif)}.cart-estimated-total small{grid-column:1/-1;color:var(--muted)}.cart-summary .team-submit{margin-top:1rem}.cart-summary .team-submit:disabled{opacity:.4;cursor:not-allowed}.clear-cart{width:100%;margin-top:.7rem;border:0;background:transparent;color:var(--muted);font-size:.68rem;text-decoration:underline;cursor:pointer}.pos-handoff{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,6vw,5rem);margin-top:2rem;padding:clamp(1.5rem,4vw,3rem);border-radius:22px;background:var(--forest-deep);color:white}.pos-handoff h2{margin:.25rem 0;font:500 clamp(2rem,4vw,3.2rem)/1 var(--serif)}.pos-handoff ol{margin:0;padding-left:1.4rem;color:#d7e3de}.pos-handoff li{padding:.35rem 0}
@media(max-width:800px){.menu-price-order{min-width:112px}.cart-dock{left:.75rem;right:.75rem;bottom:.75rem;justify-content:space-between}.cart-layout,.pos-handoff{grid-template-columns:1fr}.cart-page-heading{align-items:flex-start;flex-direction:column}.cart-summary{position:static}.cart-line-item{grid-template-columns:1fr}.cart-line-controls{justify-content:start}.cart-line-controls strong{text-align:left}.cart-remove{justify-self:start}}
@media print{.cart-dock,.menu-add-button,.menu-customizer{display:none}}

/* v1.8: My Joren customer account walkthrough */
.my-joren-main{padding-block:2rem 7rem;background:#edf1eb}.my-joren-main>.wrap>.prototype-banner{margin-top:1rem}.my-joren-welcome{display:grid;grid-template-columns:1fr 340px;gap:3rem;align-items:end;padding-block:3.5rem 2rem}.my-joren-welcome h1{margin:.25rem 0;font:500 clamp(3.2rem,7vw,6rem)/.96 var(--serif);letter-spacing:-.055em}.my-joren-welcome p:last-child{max-width:680px;color:var(--muted)}.rewards-card{padding:1.5rem;border-radius:22px;background:var(--forest-deep);color:white}.rewards-card span,.rewards-card small{display:block;color:#add0c4;font-size:.68rem}.rewards-card strong{display:block;margin:.2rem 0;font:500 2.3rem var(--serif)}.rewards-track{height:8px;margin:.8rem 0;border-radius:99px;background:#45685e;overflow:hidden}.rewards-track i{display:block;height:100%;border-radius:inherit;background:#a9ead8}.account-shortcuts{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:1.3rem}.account-shortcuts a{padding:.55rem .85rem;border:1px solid #bfcac3;border-radius:100px;background:white;color:var(--forest);font-size:.67rem;font-weight:800;text-decoration:none;text-transform:uppercase}.my-joren-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem}.account-panel{padding:clamp(1.3rem,3vw,2rem);border-radius:22px;background:var(--paper);box-shadow:0 10px 32px rgba(14,48,42,.05)}.account-wide{grid-column:1/-1}.account-panel-heading{display:flex;justify-content:space-between;gap:1rem;align-items:start}.account-panel h2{margin:.1rem 0 1rem;font:500 2rem var(--serif)}.sample-tag{padding:.35rem .6rem;border-radius:99px;background:#e4ebe6;color:var(--forest);font-size:.58rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.receipt-list article,.favorite-list article{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.9rem 0;border-top:1px solid var(--line)}.receipt-list small,.favorite-list small{display:block;color:var(--muted);font-size:.68rem}.receipt-list b{font:500 1.15rem var(--serif)}.account-note{margin:1rem 0 0;color:var(--muted);font-size:.73rem}.favorite-list button{padding:.45rem .7rem;border:1px solid var(--forest);border-radius:100px;background:white;color:var(--forest);font-size:.6rem;font-weight:800;text-transform:uppercase;cursor:pointer}.favorite-list button:hover{background:var(--forest);color:white}.feature-card{padding:1rem 0;border-top:1px solid var(--line)}.feature-card span,.event-grid time{color:var(--red);font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.feature-card h3,.event-grid h3{margin:.2rem 0;font:500 1.35rem var(--serif)}.feature-card p,.event-grid p{margin:.25rem 0;color:var(--muted);font-size:.78rem}.event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.event-grid article{padding:1rem;border:1px solid var(--line);border-radius:16px;background:#f6f7f3}.account-boundary{display:grid;grid-template-columns:.8fr 1.2fr;gap:3rem;margin-top:1.3rem;padding:2rem;border-radius:22px;background:var(--forest);color:white}.account-boundary h2{margin:.2rem 0;font:500 2rem var(--serif)}.account-boundary .kicker{color:#a9ead8}.account-boundary>p{margin:0;color:#d2e1dc}
@media(max-width:800px){.my-joren-welcome,.my-joren-grid,.account-boundary{grid-template-columns:1fr}.my-joren-welcome{gap:1.5rem}.account-wide{grid-column:auto}.event-grid{grid-template-columns:1fr}.receipt-list article{align-items:flex-start}}

/* v1.8: Explore Other Nests franchise-network walkthrough */
.explore-nests-banner{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-top:1.3rem;padding:1.35rem 1.5rem;border-radius:18px;background:var(--forest);color:white;text-decoration:none}.explore-nests-banner small{display:block;color:#a9ead8;font-size:.62rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.explore-nests-banner strong{display:block;margin:.15rem 0;font:500 1.5rem var(--serif)}.explore-nests-banner p{margin:.2rem 0 0;color:#d7e7e1;font-size:.78rem}.explore-nests-banner b{white-space:nowrap;font-size:.72rem}.owner-nests-link{margin:2rem 0 1.3rem}.nests-main{padding-block:1rem 7rem;background:#edf1eb}.nests-main>.wrap>.prototype-banner{margin-top:1rem}.nests-intro{display:grid;grid-template-columns:1fr 320px;gap:3rem;align-items:end;padding-block:3.5rem 2rem}.nests-intro h1{margin:.25rem 0;font:500 clamp(3.3rem,8vw,6.6rem)/.94 var(--serif);letter-spacing:-.06em}.nests-intro>div>p:last-child{max-width:720px;color:var(--muted);font-size:1.05rem}.nest-access-card{padding:1.4rem;border-radius:20px;background:var(--forest-deep);color:white}.nest-access-card span,.nest-access-card small{display:block;color:#acd0c4;font-size:.65rem}.nest-access-card span{text-transform:uppercase;letter-spacing:.1em;font-weight:800}.nest-access-card strong{display:block;margin:.2rem 0;font:500 1.7rem var(--serif)}.founding-nest{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:clamp(1.5rem,4vw,3rem);border-radius:26px;background:linear-gradient(125deg,var(--forest),var(--forest-deep));color:white}.founding-nest h2{margin:.2rem 0;font:500 clamp(2.5rem,5vw,4.4rem)/1 var(--serif)}.founding-nest p:not(.kicker){margin:.5rem 0;color:#d1e0db}.founding-nest .kicker{color:#a9ead8}.nest-status{display:inline-block;padding:.3rem .55rem;border-radius:100px;background:#a9ead8;color:var(--forest-deep);font-size:.58rem;font-weight:800;text-transform:uppercase}.nest-tags{display:flex;gap:.45rem;flex-wrap:wrap;margin-top:1rem}.nest-tags span{padding:.35rem .55rem;border:1px solid rgba(255,255,255,.25);border-radius:100px;font-size:.62rem}.nest-information{padding-block:4rem 2rem}.nest-information .section-heading h2,.future-nests h2{margin:.2rem 0;font:500 clamp(2.3rem,5vw,4rem)/1 var(--serif)}.nest-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.7rem}.nest-card-grid article{padding:1.4rem;border-radius:18px;background:var(--paper);box-shadow:0 8px 25px rgba(14,48,42,.04)}.nest-card-grid article[hidden]{display:none}.nest-card-grid span{color:var(--red);font-size:.61rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.nest-card-grid h3{margin:.35rem 0;font:500 1.35rem var(--serif)}.nest-card-grid p{margin:.3rem 0;color:var(--muted);font-size:.78rem}.future-nests{display:grid;grid-template-columns:.8fr 1.2fr;gap:3rem;align-items:center;padding:2rem;border-radius:22px;background:var(--paper)}.future-nests>div>p:last-child{color:var(--muted)}.future-nest-list{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.future-nest-list article{padding:1.2rem;border:2px dashed #bcc9c1;border-radius:16px}.future-nest-list span,.future-nest-list small{display:block;color:var(--muted);font-size:.62rem}.future-nest-list strong{display:block;margin:.3rem 0;font:500 1.2rem var(--serif)}.permissions-note{margin-top:1.3rem;padding:1.2rem 1.4rem;border-left:4px solid var(--red);background:#fff7e7}.permissions-note p{margin:.35rem 0 0;color:var(--muted);font-size:.76rem}
@media(max-width:800px){.explore-nests-banner,.founding-nest{align-items:flex-start;flex-direction:column}.nests-intro,.future-nests{grid-template-columns:1fr}.nest-card-grid{grid-template-columns:1fr}.future-nest-list{grid-template-columns:1fr}}

/* Public printable menu and children's activity download. */
.menu-print-download{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:center;margin-top:2rem;padding:clamp(1.4rem,3vw,2.2rem);border:1px solid #bfd0c9;border-radius:22px;background:#edf4f0}.menu-print-download h2{margin:.15rem 0 .45rem;font:500 clamp(1.8rem,4vw,2.8rem)/1.05 var(--serif)}.menu-print-download>div>p:last-child{max-width:680px;margin:0;color:var(--muted)}.menu-print-download .button{white-space:nowrap;background:var(--forest);color:white}
@media(max-width:800px){.menu-print-download{grid-template-columns:1fr}.menu-print-download .button{justify-self:start}}

/* v0.9: Joren Owners Area and controlled binder prototype */
.owner-login-main{min-height:calc(100vh - 176px);display:grid;place-items:center;padding:clamp(3rem,8vw,7rem) 1.5rem;background:linear-gradient(140deg,#e1e6df,#f7f4ed 52%,#d9e6df)}.owner-login-panel{width:min(1080px,100%);display:grid;grid-template-columns:1.2fr .8fr;overflow:hidden;border-radius:30px;background:var(--paper);box-shadow:0 24px 80px rgba(14,48,42,.16)}.owner-login-intro{padding:clamp(2.2rem,6vw,5.2rem);background:#152c26;color:white}.owner-login-intro h1{margin:.55rem 0 1rem;font:500 clamp(2.8rem,5.7vw,5.2rem)/.98 var(--serif);letter-spacing:-.05em}.owner-login-intro>p{max-width:650px;color:#cbd8d3}.owner-rule{display:grid;grid-template-columns:auto 1fr;gap:.15rem 1rem;margin-top:2.6rem;padding:1.2rem 0;border-top:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2)}.owner-rule span{grid-row:1/3;color:#9fe1cf;font-size:.64rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.owner-rule strong{font:500 1.4rem var(--serif)}.owner-rule p{grid-column:2;margin:.15rem 0 0;color:#cbd8d3;font-size:.78rem}.owner-login-card{align-self:center;padding:clamp(2rem,5vw,4rem)}.owner-demo-label{margin:0;color:var(--forest);font-size:.66rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.owner-login-card h2{margin:.3rem 0 0;font:500 2.3rem var(--serif)}.owner-muted,.owner-help{color:var(--muted);font-size:.8rem}.owner-login-card label{display:block;margin:1.1rem 0 .35rem;font-size:.75rem;font-weight:800}.owner-login-card input{width:100%;padding:.85rem 1rem;border:1px solid #cdd2ca;border-radius:11px;background:white;font:inherit}.owner-submit{width:100%;margin-top:1.4rem;padding:.9rem;border:0;border-radius:100px;background:var(--forest);color:white;font:800 .72rem var(--sans);letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.owner-submit:hover{background:#226b5b}
.owner-binder-page{background:#edf0eb}.owner-header{position:relative;z-index:5;background:var(--paper);border-bottom:1px solid var(--line)}.owner-header-inner{min-height:86px;display:flex;align-items:center;gap:1rem}.owner-header .brand-logo{width:62px;height:62px}.owner-header-title{display:flex;flex-direction:column;line-height:1.2}.owner-header-title strong{font:500 1.25rem var(--serif)}.owner-header-title span,.owner-identity span{font-size:.59rem;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}.owner-identity{display:flex;flex-direction:column;margin-left:auto;padding-right:1.5rem;text-align:right;line-height:1.3}.owner-identity strong{font-size:.72rem}.owner-signout{font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;text-underline-offset:5px}.owner-shell{display:grid;grid-template-columns:215px minmax(0,1fr);gap:clamp(2rem,5vw,5rem);padding-block:3rem 6rem}.binder-index{position:sticky;top:1.5rem;align-self:start;max-height:calc(100vh - 3rem);overflow:auto;padding:1rem 0;border-radius:16px;background:var(--paper);box-shadow:0 10px 30px rgba(14,48,42,.05)}.binder-index-label{margin:.25rem 1rem .7rem;color:var(--muted);font-size:.62rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.binder-index a{display:grid;grid-template-columns:28px 1fr;align-items:center;padding:.48rem .8rem;border-left:3px solid transparent;color:#555e58;font-size:.7rem;font-weight:700;text-decoration:none}.binder-index a span{font-size:.6rem;color:#89918c}.binder-index a:hover,.binder-index a.active{border-left-color:var(--forest);background:#edf4f0;color:var(--forest)}.owner-prototype{margin-bottom:2.3rem}.owner-title{display:grid;grid-template-columns:1fr auto;align-items:end;gap:2rem}.owner-title h1{margin:.2rem 0;font:500 clamp(3.1rem,6vw,5.5rem)/.98 var(--serif);letter-spacing:-.055em}.owner-title>div:first-child>p:last-child{max-width:700px;color:var(--muted)}.publisher-card{min-width:210px;padding:1.1rem 1.2rem;border-radius:16px;background:var(--forest-deep);color:white}.publisher-card span,.publisher-card small{display:block;font-size:.62rem;color:#a9c4bb}.publisher-card span{text-transform:uppercase;letter-spacing:.09em}.publisher-card strong{display:block;margin:.2rem 0;font:500 1.25rem var(--serif)}.owner-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin:2.5rem 0 1.3rem;overflow:hidden;border-radius:18px;background:var(--line)}.owner-stats article{padding:1.2rem;background:var(--paper)}.owner-stats span,.owner-stats small{display:block;color:var(--muted);font-size:.64rem}.owner-stats span{text-transform:uppercase;letter-spacing:.1em;font-weight:800}.owner-stats strong{display:block;margin:.15rem 0;font:500 1.55rem var(--serif)}.owner-panel{padding:clamp(1.2rem,3vw,2rem);border-radius:20px;background:var(--paper);box-shadow:0 8px 28px rgba(14,48,42,.04)}.owner-panel-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem}.owner-panel h2,.section-heading h2{margin:.2rem 0;font:500 2rem var(--serif)}.owner-disabled-action{padding:.65rem .9rem;border:0;border-radius:100px;background:#dfe4df;color:#8a918c;font:800 .64rem var(--sans);letter-spacing:.08em;text-transform:uppercase}.document-table-wrap{overflow-x:auto;margin-top:1rem}.document-table{width:100%;border-collapse:collapse;font-size:.75rem}.document-table th{padding:.6rem;text-align:left;border-bottom:1px solid var(--line);color:var(--muted);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase}.document-table td{padding:.85rem .6rem;border-bottom:1px solid var(--line);vertical-align:middle}.document-table td:first-child strong,.document-table td:first-child span{display:block}.document-table td:first-child span{color:var(--muted)}.document-table button{border:0;background:none;color:#989e9a;font:inherit}.status{display:inline-block;padding:.2rem .45rem;border-radius:100px;font-size:.59rem;font-weight:800;text-transform:uppercase}.status.working{background:#e0eee8;color:#236150}.status.draft{background:#f7ead7;color:#815d29}.binder-structure{margin-top:3rem}.section-heading>p:last-child{max-width:700px;color:var(--muted);font-size:.85rem}.binder-structure details{margin-top:.7rem;border:1px solid var(--line);border-radius:14px;background:var(--paper)}.binder-structure summary{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:.7rem;padding:1rem 1.2rem;cursor:pointer;list-style:none}.binder-structure summary::-webkit-details-marker{display:none}.binder-structure summary>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--forest);color:white;font-size:.65rem;font-weight:800}.binder-structure summary strong{font:500 1.15rem var(--serif)}.binder-structure summary small{color:var(--muted)}.folder-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;padding:0 1.2rem 1.2rem}.folder-grid span{padding:.7rem .8rem;border-radius:8px;background:#f1f3ef;color:#515954;font-size:.72rem}.binder-structure details:target{outline:3px solid #92cdbd;outline-offset:2px}
@media(max-width:900px){.owner-shell{grid-template-columns:1fr}.binder-index{position:static;display:flex;overflow-x:auto;padding:.5rem;max-height:none}.binder-index-label{display:none}.binder-index a{flex:0 0 auto;display:block;border-left:0;border-bottom:2px solid transparent;white-space:nowrap}.binder-index a span{margin-right:.25rem}.binder-index a:hover,.binder-index a.active{border-left-color:transparent;border-bottom-color:var(--forest)}.owner-stats{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.owner-login-panel{grid-template-columns:1fr}.owner-login-intro h1{font-size:2.8rem}.owner-rule{grid-template-columns:1fr}.owner-rule span{grid-row:auto}.owner-rule p{grid-column:auto}.owner-identity{display:none}.owner-title{grid-template-columns:1fr}.publisher-card{min-width:0}.owner-stats{grid-template-columns:1fr}.folder-grid{grid-template-columns:1fr}.binder-structure summary{grid-template-columns:38px 1fr}.binder-structure summary small{display:none}.document-table{min-width:680px}}

/* v1.0: Follow Joren social page */
.social-hero{position:relative;min-height:78vh;display:grid;align-items:end;overflow:hidden;background:var(--forest-deep);color:white}.social-hero-image{position:absolute;inset:0}.social-hero-image img{height:100%;object-fit:cover}.social-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,29,24,.88),rgba(8,29,24,.35) 64%,rgba(8,29,24,.12)),linear-gradient(0deg,rgba(8,29,24,.55),transparent 55%)}.social-hero-copy{position:relative;z-index:1;padding-block:170px 6rem}.social-hero-copy h1{margin:0;font:500 clamp(4rem,9vw,7.4rem)/.93 var(--serif);letter-spacing:-.055em}.social-hero-copy>p:last-child{max-width:630px;margin:1.3rem 0 0;color:#e8efeb;font-size:1.15rem}.social-heading{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.5rem,7vw,6rem);align-items:end}.social-heading .lede{margin-bottom:.55rem}.social-platforms{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-top:3rem}.social-card{min-height:285px;display:flex;flex-direction:column;padding:clamp(1.5rem,4vw,2.4rem);border:1px solid var(--line);border-radius:22px;background:#f7f8f4}.social-card.primary{background:var(--forest);color:white;border-color:var(--forest)}.social-card-top{display:flex;align-items:center;justify-content:space-between;gap:1rem}.social-icon{display:grid;place-items:center;width:44px;height:44px;border:1px solid currentColor;border-radius:50%;font-size:.78rem;font-weight:800}.social-icon.google{font:700 1.05rem Georgia,serif}.social-status{padding:.28rem .55rem;border-radius:100px;background:#dcece6;color:#185446;font-size:.58rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.social-card.primary .social-status{background:rgba(255,255,255,.15);color:#bdebdc}.social-status.discovery{background:#e5ecda;color:#596c30}.social-status.later{background:#eee9e0;color:#74644b}.social-card h3{margin:1.6rem 0 .45rem;font:500 2rem var(--serif)}.social-card p{margin:0;color:var(--muted);font-size:.9rem}.social-card.primary p{color:#d3e1dc}.social-handle{margin-top:auto;padding-top:1.5rem;color:var(--forest);font-size:.68rem;font-weight:800;letter-spacing:.06em}.social-card.primary .social-handle{color:#a9ead8}.social-note{margin:1.3rem 0 0;padding:1.1rem 1.3rem;border-left:3px solid var(--forest);background:var(--sage);color:#4c5751;font-size:.8rem}.social-story-section{background:var(--forest-deep);color:white}.social-heading.inverse .kicker{color:#9fe1cf}.social-heading.inverse .lede{color:#cbd8d3}.content-pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:3.5rem;background:rgba(255,255,255,.16)}.content-pillars article{padding:2rem;background:var(--forest-deep)}.content-pillars span{color:#8ed4c1;font-size:.62rem;font-weight:800;letter-spacing:.13em}.content-pillars h3{margin:.7rem 0;font:500 1.5rem var(--serif)}.content-pillars p{margin:0;color:#bdccc6;font-size:.82rem}.social-preview{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2.5rem,7vw,6rem);align-items:center}.social-feedback-button{margin-top:1.5rem;background:var(--forest);color:white}.social-feed-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.social-feed-grid figure{position:relative;margin:0;overflow:hidden;border-radius:18px;background:#d8ddd8}.social-feed-grid figure:first-child{grid-row:span 2}.social-feed-grid img{height:100%;min-height:220px;object-fit:cover}.social-feed-grid figure:first-child img{min-height:456px}.social-feed-grid figcaption{position:absolute;left:.7rem;right:.7rem;bottom:.7rem;padding:.55rem .7rem;border-radius:10px;background:rgba(11,37,30,.84);color:white;font-size:.64rem;font-weight:700}
@media(max-width:900px){.site-nav ul{gap:1.35rem}.social-heading,.social-preview{grid-template-columns:1fr}.content-pillars{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.social-hero{min-height:68vh}.social-hero-copy{padding-block:140px 4rem}.social-platforms{grid-template-columns:1fr}.social-card{min-height:250px}.content-pillars{grid-template-columns:1fr}.social-feed-grid{grid-template-columns:1fr 1fr}.social-feed-grid figure:first-child{grid-column:1/-1;grid-row:auto}.social-feed-grid figure:first-child img{min-height:300px}.social-feed-grid img{min-height:180px}}

/* v1.1: candidate opening menu */
.candidate-menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2.5rem,6vw,6rem);align-items:start;margin-top:4.5rem}.candidate-menu-column .menu-section{margin-top:3.5rem}.candidate-menu-column .menu-section:first-child{margin-top:0}.candidate-menu-column .menu-section h2{font-size:clamp(1.7rem,3vw,2.2rem)}.menu-section-label{margin:0 0 .45rem;color:var(--red);font-size:.74rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.featured-menu-section{padding:1.6rem;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,var(--sage),#fff)}.featured-menu-section .menu-item:last-child{border-bottom:0}.menu-item h3 small{font-size:.75em;font-weight:500;color:var(--muted)}.menu-feedback-prompt{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:center;margin-top:5rem;padding:clamp(1.5rem,4vw,3rem);border-radius:22px;background:var(--forest);color:#fff}.menu-feedback-prompt .kicker{color:#bdd5cc}.menu-feedback-prompt h2{margin:.2rem 0 .55rem;font:500 clamp(1.8rem,4vw,2.8rem) var(--serif)}.menu-feedback-prompt p{max-width:680px;margin:0;color:#e0ebe7}.menu-feedback-prompt .button{white-space:nowrap;background:#fff;color:var(--forest)}
@media(max-width:800px){.candidate-menu-grid,.menu-feedback-prompt{grid-template-columns:1fr}.candidate-menu-grid{gap:0}.candidate-menu-column .menu-section,.candidate-menu-column .menu-section:first-child{margin-top:3.25rem}.featured-menu-section{padding:1.25rem}.menu-feedback-prompt .button{justify-self:start}}

/* v1.3: Home-page hospitality photography */
.home-family-heading{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,7vw,6rem);align-items:end}.home-family-heading .lede{margin-bottom:.45rem}.home-family-photo{position:relative;margin:3rem 0 0;overflow:hidden;border-radius:var(--radius);background:#d9d7cf;box-shadow:0 22px 70px rgba(20,44,36,.12)}.home-family-photo img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.home-family-photo figcaption{position:absolute;left:1rem;right:1rem;bottom:1rem;max-width:620px;padding:.72rem .9rem;border-radius:12px;background:rgba(12,36,30,.84);color:#fff;font-size:.72rem}
@media(max-width:800px){.home-family-heading{grid-template-columns:1fr}.home-family-photo{margin-top:2rem}.home-family-photo figcaption{position:static;max-width:none;border-radius:0;background:var(--forest-deep)}}

/* v1.5: Kitchen Person recipe prototype */
.folder-grid a{display:flex;flex-direction:column;justify-content:center;padding:.7rem .8rem;border-radius:8px;background:#dfece6;color:var(--forest);font-size:.72rem;text-decoration:none}.folder-grid a:hover{background:#cfe2d9}.folder-grid a small{color:#54756b;font-size:.62rem}
.recipe-shell{padding-block:2rem 6rem}.recipe-shell>.prototype-banner{margin-bottom:1.2rem}.recipe-crumbs{display:flex;align-items:center;gap:.55rem;margin:1.3rem 0 2.3rem;color:var(--muted);font-size:.72rem}.recipe-crumbs a{text-underline-offset:4px}.recipe-title-block{display:grid;grid-template-columns:1fr auto;align-items:end;gap:2rem}.recipe-title-block h1{margin:.25rem 0;font:500 clamp(3.2rem,7vw,6rem)/.95 var(--serif);letter-spacing:-.055em}.recipe-purpose{max-width:680px;margin:.7rem 0 0;color:var(--muted);font-size:1rem}.recipe-status-card{min-width:250px;padding:1.25rem 1.35rem;border-radius:16px;background:var(--forest-deep);color:white}.recipe-status-card span,.recipe-status-card small{display:block;color:#afd1c6;font-size:.63rem}.recipe-status-card span{text-transform:uppercase;letter-spacing:.1em;font-weight:800}.recipe-status-card strong{display:block;margin:.25rem 0;font:500 1.25rem var(--serif)}
.recipe-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin:2.5rem 0 1.3rem;overflow:hidden;border-radius:18px;background:var(--line)}.recipe-facts article{min-height:135px;padding:1.15rem;background:var(--paper)}.recipe-facts span,.recipe-facts small{display:block;color:var(--muted);font-size:.63rem}.recipe-facts span{text-transform:uppercase;letter-spacing:.09em;font-weight:800}.recipe-facts strong{display:block;margin:.2rem 0;font:500 1.42rem var(--serif)}
.recipe-make-line{display:flex;align-items:baseline;gap:.65rem;margin:.2rem 0}.recipe-make-line strong{margin:0;color:var(--forest)}.recipe-make-line b{font:500 1.15rem var(--serif)}
.recipe-panel{padding:clamp(1.25rem,3vw,2rem);border-radius:20px;background:var(--paper);box-shadow:0 8px 28px rgba(14,48,42,.04)}.recipe-section-heading{display:flex;align-items:end;justify-content:space-between;gap:1.5rem}.recipe-section-heading h2{margin:.2rem 0;font:500 2rem var(--serif)}.recipe-section-heading label{display:flex;flex-direction:column;align-items:flex-end;color:var(--muted);font-size:.67rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.recipe-section-heading label span{display:flex;align-items:center;gap:.5rem;color:var(--ink);font-size:.76rem;letter-spacing:0;text-transform:none}.recipe-section-heading input{width:88px;padding:.58rem .65rem;border:1px solid #bec8c0;border-radius:9px;background:white;color:var(--forest);font:800 1rem var(--sans);text-align:center}.recipe-help{max-width:760px;margin:.7rem 0 1.2rem;color:var(--muted);font-size:.78rem}.recipe-table-wrap{overflow-x:auto}.recipe-ingredient-table{width:100%;border-collapse:collapse;font-size:.78rem}.recipe-ingredient-table th{padding:.7rem;text-align:left;border-bottom:1px solid var(--line);color:var(--muted);font-size:.6rem;letter-spacing:.09em;text-transform:uppercase}.recipe-ingredient-table td{padding:.8rem .7rem;border-bottom:1px solid var(--line);vertical-align:middle}.recipe-ingredient-table td:first-child{color:var(--muted);font-size:.68rem}.recipe-ingredient-table td:nth-child(n+3){white-space:nowrap}.recipe-ingredient-table td strong,.recipe-ingredient-table td small{display:block}.recipe-ingredient-table td small{margin-top:.12rem;color:var(--muted)}.scaled-quantity{color:var(--forest);font-weight:800}.recipe-tbd{color:#8a6629;font-weight:800}
.recipe-content-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:1.3rem;align-items:start;margin-top:1.3rem}.recipe-side-stack{display:grid;gap:1.3rem}.recipe-steps{margin:1rem 0 0;padding:0;list-style:none}.recipe-steps li{display:grid;grid-template-columns:42px 1fr;gap:.7rem;padding:.85rem 0;border-top:1px solid var(--line)}.recipe-steps li>span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--forest);color:white;font-size:.62rem;font-weight:800}.recipe-steps p{margin:.15rem 0;font-size:.86rem}.production-standards{margin:1rem 0 0}.production-standards div{padding:.65rem 0;border-top:1px solid var(--line)}.production-standards dt{color:var(--muted);font-size:.61rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.production-standards dd{margin:.12rem 0 0;font-size:.78rem}.recipe-note{border-left:4px solid var(--forest)}.recipe-note p{margin:.8rem 0 0;color:#4e5852;font-size:.84rem}.recipe-control{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-top:1.3rem;padding:1.25rem 1.4rem;border-radius:18px;background:var(--forest-deep);color:white}.recipe-control span,.recipe-control small{display:block;color:#a9c3ba;font-size:.62rem}.recipe-control strong{display:block;margin:.15rem 0;font-size:.78rem}.recipe-actions{display:flex;gap:.6rem}.recipe-actions button{padding:.7rem .9rem;border:1px solid rgba(255,255,255,.4);border-radius:100px;background:transparent;color:white;font:800 .64rem var(--sans);letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.recipe-actions button.primary{border-color:white;background:white;color:var(--forest-deep)}
.recipe-note-full{margin-top:1.3rem}.recipe-note-full p{max-width:980px}
@media(max-width:900px){.recipe-title-block{grid-template-columns:1fr}.recipe-status-card{min-width:0}.recipe-facts{grid-template-columns:1fr 1fr}.recipe-content-grid{grid-template-columns:1fr}.recipe-ingredient-table{min-width:760px}}
@media(max-width:620px){.recipe-shell{padding-top:1.2rem}.recipe-crumbs{overflow-x:auto;white-space:nowrap;margin-bottom:1.5rem}.recipe-title-block h1{font-size:3rem}.recipe-facts{grid-template-columns:1fr}.recipe-facts article{min-height:0}.recipe-section-heading{align-items:start;flex-direction:column}.recipe-section-heading label{align-items:flex-start}.recipe-control{align-items:flex-start;flex-direction:column}.recipe-actions{width:100%;flex-direction:column}.recipe-actions button{width:100%}}
@media print{.owner-recipe-page{background:white}.owner-recipe-page .owner-header,.owner-recipe-page .prototype-banner,.owner-recipe-page .recipe-crumbs,.owner-recipe-page .recipe-actions{display:none}.recipe-shell{width:100%;padding:0}.recipe-title-block h1{font-size:34pt}.recipe-status-card,.recipe-control{background:white;color:black;border:1px solid #aaa}.recipe-facts{grid-template-columns:repeat(4,1fr)}.recipe-facts article{min-height:0;border:1px solid #ddd}.recipe-panel{box-shadow:none;border:1px solid #bbb;break-inside:avoid}.recipe-content-grid{grid-template-columns:1.2fr .8fr}.recipe-ingredient-table{min-width:0}.recipe-control{break-inside:avoid}.recipe-tbd{color:black}}

/* v1.6: position-specific employee views */
.position-preview{margin:0 0 1.3rem;padding:1.6rem;border-radius:20px;background:var(--paper);box-shadow:0 8px 28px rgba(14,48,42,.04)}.position-preview h2{margin:.2rem 0;font:500 2rem var(--serif)}.position-preview>p{max-width:720px;color:var(--muted);font-size:.84rem}.position-view-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.3rem}.position-view-grid a{display:flex;min-height:170px;flex-direction:column;padding:1.25rem;border:1px solid var(--line);border-radius:16px;background:#f7f8f4;text-decoration:none}.position-view-grid a:hover{border-color:#9fc5b8;background:#edf4f0}.position-view-grid span{color:var(--forest);font-size:.63rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.position-view-grid strong{margin:.7rem 0 .2rem;font:500 1.35rem var(--serif)}.position-view-grid small{margin-top:auto;color:var(--muted)}
.position-shell{padding-block:2rem 6rem}.position-shell>.prototype-banner{margin-bottom:1rem}.position-title{display:grid;grid-template-columns:1fr auto;align-items:end;gap:2rem;margin-bottom:2rem}.position-title h1{margin:.3rem 0;font:500 clamp(3.1rem,6vw,5.4rem)/.98 var(--serif);letter-spacing:-.05em}.position-title>div:first-child>p:last-child{max-width:720px;color:var(--muted)}.position-access-card{min-width:255px;padding:1.2rem 1.3rem;border-radius:16px;background:var(--forest-deep);color:white}.position-access-card span,.position-access-card small{display:block;color:#a9c7bd;font-size:.62rem}.position-access-card span{text-transform:uppercase;letter-spacing:.09em}.position-access-card strong{display:block;margin:.25rem 0;font:500 1.35rem var(--serif)}.position-access-card small span{display:inline;color:inherit;text-transform:none;letter-spacing:0}
.position-layout{display:grid;grid-template-columns:1fr .8fr;gap:1.3rem;align-items:start}.assignment-panel label{display:block;margin:1rem 0 .3rem;color:var(--muted);font-size:.66rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.assignment-panel select,.assignment-panel input{width:100%;padding:.8rem .9rem;border:1px solid #c7cec8;border-radius:10px;background:white;font:inherit}.assignment-panel .team-submit{width:auto;padding-inline:1.3rem}.assignment-status{padding:.75rem;border-radius:9px;background:#e1eee8;color:var(--forest);font-size:.76rem}.assignment-boundary{margin-top:1.4rem;padding:1rem;border-left:3px solid var(--forest);background:#edf4f0;color:#53605a;font-size:.76rem}.assignment-summary h2{margin-bottom:.4rem}.counter-reference-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem}.counter-menu-card h2,.access-boundary-card h2{font:500 2.2rem var(--serif)}.access-boundary-card ul{padding-left:1.2rem}.access-boundary-card li{padding:.35rem 0}.access-boundary-card p{color:var(--muted);font-size:.82rem}
@media(max-width:850px){.position-view-grid{grid-template-columns:1fr}.position-view-grid a{min-height:130px}.position-title,.position-layout,.counter-reference-grid{grid-template-columns:1fr}.position-access-card{min-width:0}}
@media print{.position-page .team-header,.position-page .prototype-banner,.position-page .recipe-crumbs,.position-page .team-mini-footer{display:none}.position-shell{width:100%;padding:0}.position-title h1{font-size:32pt}.position-access-card{background:white;color:black;border:1px solid #aaa}.position-layout,.counter-reference-grid{grid-template-columns:1fr 1fr}.position-page .team-module,.position-page .recipe-panel{box-shadow:none}}

/* v1.7: database-ready schedules and time-off workflow */
.time-off-banner,.manager-schedule-link{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-top:1.3rem;padding:1.35rem 1.5rem;border-radius:18px;background:var(--forest-deep);color:white;text-decoration:none}.time-off-banner small,.manager-schedule-link small{display:block;color:#9fc8ba;font-size:.62rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.time-off-banner strong,.manager-schedule-link strong{display:block;margin:.15rem 0;font:500 1.45rem var(--serif)}.time-off-banner p{margin:.25rem 0 0;color:#cad9d3;font-size:.78rem}.time-off-banner b,.manager-schedule-link b{white-space:nowrap;font-size:.72rem}.manager-schedule-link{margin:0 0 1.3rem;background:var(--forest)}
.schedule-shell,.request-shell{padding-block:2rem 6rem}.schedule-title{display:grid;grid-template-columns:1fr auto;align-items:end;gap:2rem;margin-bottom:1.5rem}.schedule-title h1,.request-intro h1{margin:.3rem 0;font:500 clamp(3.1rem,6vw,5.2rem)/.98 var(--serif);letter-spacing:-.05em}.schedule-title>div:first-child>p:last-child,.request-intro>p{max-width:700px;color:var(--muted)}.schedule-view-toggle{display:flex;padding:.25rem;border-radius:100px;background:#dfe5e0}.schedule-view-toggle button{padding:.65rem 1rem;border:0;border-radius:100px;background:transparent;color:var(--muted);font:800 .67rem var(--sans);letter-spacing:.07em;text-transform:uppercase;cursor:pointer}.schedule-view-toggle button.active{background:var(--paper);color:var(--forest);box-shadow:0 3px 10px rgba(14,48,42,.1)}.schedule-panel{padding:clamp(1rem,3vw,2rem);border-radius:20px;background:var(--paper);box-shadow:0 8px 28px rgba(14,48,42,.05)}.week-controls{display:grid;grid-template-columns:120px 1fr 120px;align-items:center;gap:1rem;margin-bottom:1rem}.week-controls>div{text-align:center}.week-controls span,.week-controls strong{display:block}.week-controls span{color:var(--muted);font-size:.62rem;text-transform:uppercase;letter-spacing:.1em}.week-controls strong{font:500 1.35rem var(--serif)}.week-controls button{padding:.65rem;border:1px solid var(--line);border-radius:100px;background:white;color:var(--forest);font-weight:800;cursor:pointer}.schedule-table-wrap{overflow-x:auto}.team-schedule-table{width:100%;border-collapse:collapse}.team-schedule-table th,.team-schedule-table td{padding:.85rem;border:1px solid var(--line);text-align:left;vertical-align:top}.team-schedule-table thead th{background:var(--forest);color:white;font-size:.68rem;letter-spacing:.05em}.team-schedule-table tbody th{width:120px;background:#edf3ef;color:var(--forest);font-size:.75rem}.schedule-shift{display:block;padding:.35rem 0}.schedule-shift+.schedule-shift{border-top:1px solid var(--line)}.schedule-shift strong,.schedule-shift small{display:block}.schedule-shift small{color:var(--muted);font-size:.65rem}.schedule-updated{margin:1rem 0 0;color:var(--muted);font-size:.68rem;text-align:right}
.manager-schedule-grid{min-width:900px}.manager-row{display:grid;grid-template-columns:180px repeat(5,1fr);gap:1px;background:var(--line)}.manager-row>*{min-width:0;padding:.65rem;border:0;background:white}.manager-row strong small{color:var(--muted)}.manager-row input{width:100%;font:inherit;text-align:center}.manager-head span{background:var(--forest);color:white;font-size:.65rem;font-weight:800;text-transform:uppercase}.schedule-panel:has(.manager-schedule-grid){overflow-x:auto}.manager-actions{display:flex;justify-content:flex-end;align-items:center;gap:.65rem;margin-top:1rem}.manager-actions a{margin-right:auto;color:var(--forest);font-size:.72rem;font-weight:800}.manager-actions button{padding:.7rem .9rem;border:1px solid var(--forest);border-radius:100px;background:white;color:var(--forest);font-weight:800;cursor:pointer}.manager-actions button.primary{background:var(--forest);color:white}
.request-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,6vw,5rem);align-items:start}.request-form label{display:block;margin:1rem 0 .3rem;color:var(--muted);font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.request-form label small{display:block;font-weight:400;letter-spacing:0;text-transform:none}.request-form input,.request-form select,.request-form textarea{width:100%;padding:.8rem .9rem;border:1px solid #c7cec8;border-radius:10px;background:white;font:inherit}.request-dates{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.request-check{display:flex!important;align-items:flex-start;gap:.7rem;text-transform:none!important;letter-spacing:0!important}.request-check input{width:auto;margin-top:.25rem}.request-check span{font-size:.78rem;color:var(--ink)}
@media(max-width:800px){.time-off-banner,.manager-schedule-link{align-items:flex-start;flex-direction:column;gap:.7rem}.schedule-title,.request-layout{grid-template-columns:1fr}.schedule-view-toggle{justify-self:start}.week-controls{grid-template-columns:90px 1fr 90px}.week-controls button{font-size:.65rem}.request-dates{grid-template-columns:1fr}}
@media print{.schedule-page .team-header,.schedule-page .prototype-banner,.schedule-page .recipe-crumbs,.schedule-page .time-off-banner,.schedule-page .team-mini-footer,.schedule-view-toggle,.week-controls button{display:none}.schedule-shell,.request-shell{width:100%;padding:0}.schedule-panel,.request-form{box-shadow:none;border:1px solid #aaa}}
.favorite-menu-button{align-self:center;padding:.5rem .75rem;border-radius:100px;background:var(--forest);color:white;font-size:.61rem;font-weight:800;letter-spacing:.04em;text-decoration:none;text-transform:uppercase}.favorite-menu-button:hover{background:var(--forest-deep)}
.admin-access-banner{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-top:.8rem;padding:1.25rem 1.5rem;border:1px solid #9fbdb3;border-radius:18px;background:var(--paper);color:var(--forest);text-decoration:none}.admin-access-banner small{display:block;color:var(--red);font-size:.62rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.admin-access-banner strong{display:block;margin:.12rem 0;font:500 1.45rem var(--serif)}.admin-access-banner p{margin:.2rem 0;color:var(--muted);font-size:.77rem}.admin-access-banner b{white-space:nowrap;font-size:.72rem}
.permission-admin-main{padding-block:2rem 7rem}.permission-admin-title{display:grid;grid-template-columns:1fr 330px;gap:3rem;align-items:end;padding-block:3rem 2rem}.permission-admin-title h1{margin:.25rem 0;font:500 clamp(3.2rem,7vw,6rem)/.96 var(--serif);letter-spacing:-.055em}.permission-admin-title>div>p:last-child{max-width:700px;color:var(--muted)}.publisher-lock-card{padding:1.3rem;border-radius:18px;background:var(--forest-deep);color:white}.publisher-lock-card span,.publisher-lock-card small{display:block;color:#acd0c4;font-size:.63rem}.publisher-lock-card span{text-transform:uppercase;letter-spacing:.09em}.publisher-lock-card strong{display:block;margin:.2rem 0;font:500 1.45rem var(--serif)}
.permission-admin-layout{display:grid;grid-template-columns:380px minmax(0,1fr);gap:1.3rem;align-items:start}.permission-form,.permission-register,.permission-audit{padding:1.6rem;border-radius:20px;background:var(--paper);box-shadow:0 8px 28px rgba(14,48,42,.05)}.permission-form h2,.permission-register h2,.permission-audit h2{margin:.2rem 0;font:500 1.8rem var(--serif)}.permission-form>label{display:block;margin:1rem 0 .3rem;color:var(--muted);font-size:.66rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.permission-form input,.permission-form select{width:100%;padding:.72rem .8rem;border:1px solid #c5cec7;border-radius:9px;background:white;font:inherit}.permission-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.permission-form-grid label{margin-top:1rem;color:var(--muted);font-size:.66rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.permission-form-grid select{display:block;margin-top:.3rem}.permission-preview{margin:1rem 0;padding:.9rem;border-left:3px solid var(--forest);background:#edf4f0}.permission-preview span{color:var(--forest);font-size:.61rem;font-weight:800;text-transform:uppercase}.permission-preview p{margin:.25rem 0;color:var(--muted);font-size:.76rem}.permission-cancel,.permission-reset{border:0;background:transparent;color:var(--forest);font-size:.67rem;font-weight:800;text-decoration:underline;cursor:pointer}.permission-cancel{display:block;margin:.8rem auto 0}.permission-cancel[hidden]{display:none}
.permission-table-wrap{overflow-x:auto;margin-top:1rem}.permission-table{width:100%;min-width:760px;border-collapse:collapse;font-size:.72rem}.permission-table th{padding:.6rem;text-align:left;border-bottom:1px solid var(--line);color:var(--muted);font-size:.58rem;text-transform:uppercase}.permission-table td{padding:.8rem .6rem;border-bottom:1px solid var(--line);vertical-align:middle}.permission-table td:first-child strong,.permission-table td:first-child small{display:block}.permission-table td:first-child small{color:var(--muted)}.permission-level,.permission-state{display:inline-block;padding:.25rem .45rem;border-radius:100px;background:#e1eee8;color:var(--forest);font-size:.6rem;font-weight:800}.permission-controls{white-space:nowrap}.permission-controls button{margin:.15rem;padding:.35rem .5rem;border:1px solid var(--line);border-radius:100px;background:white;color:var(--forest);font-size:.6rem;font-weight:800;cursor:pointer}.permission-controls button:disabled{color:#999;cursor:not-allowed}.permission-audit{display:grid;grid-template-columns:260px 1fr;gap:2rem;margin-top:1.3rem}.permission-audit ol{margin:0;padding:0;list-style:none}.permission-audit li{display:flex;justify-content:space-between;gap:1rem;padding:.65rem 0;border-top:1px solid var(--line);font-size:.72rem}.permission-audit li span{color:var(--muted);white-space:nowrap}
@media(max-width:900px){.permission-admin-title,.permission-admin-layout,.permission-audit{grid-template-columns:1fr}.permission-admin-layout{align-items:stretch}}@media(max-width:650px){.admin-access-banner{align-items:flex-start;flex-direction:column}.permission-form-grid{grid-template-columns:1fr}.permission-audit li{flex-direction:column;gap:.2rem}}
@media(max-width:620px){.recipe-table-wrap{overflow:visible}.recipe-ingredient-table{display:block;min-width:0}.recipe-ingredient-table thead{display:none}.recipe-ingredient-table tbody{display:grid;gap:.8rem}.recipe-ingredient-table tr{display:block;padding:.75rem;border:1px solid var(--line);border-radius:14px;background:#f7f8f4}.recipe-ingredient-table td{display:grid;grid-template-columns:104px minmax(0,1fr);gap:.65rem;padding:.42rem 0;border:0;white-space:normal!important}.recipe-ingredient-table td+td{border-top:1px solid #e3e6e1}.recipe-ingredient-table td::before{color:var(--muted);font-size:.58rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.recipe-ingredient-table td:nth-child(1)::before{content:"Category"}.recipe-ingredient-table td:nth-child(2)::before{content:"Ingredient"}.recipe-ingredient-table td:nth-child(3)::before{content:"Recipe amount"}.recipe-ingredient-table td:nth-child(4)::before{content:"Prepared amount"}.recipe-ingredient-table td:nth-child(5)::before{content:"Target amount"}.recipe-ingredient-table td:nth-child(2) strong{font-size:.88rem}.recipe-ingredient-table .scaled-quantity{font-size:.95rem}.recipe-help{margin-bottom:1rem;padding:.75rem;border-radius:10px;background:#edf4f0}.recipe-section-heading label{width:100%;align-items:flex-start}.recipe-section-heading label span{width:100%;justify-content:space-between;padding:.65rem .75rem;border-radius:10px;background:#edf4f0}.recipe-section-heading input{width:92px}}
.binder-audit-register{margin-top:1.3rem}.binder-audit-note{max-width:780px;color:var(--muted);font-size:.8rem}.binder-audit-group{margin-top:1rem;border:1px solid var(--line);border-radius:15px;overflow:hidden}.binder-audit-group header{display:flex;align-items:center;gap:.8rem;padding:.8rem 1rem;background:#edf4f0}.binder-audit-group header>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--forest);color:white;font-size:.65rem;font-weight:800}.binder-audit-group header strong,.binder-audit-group header small{display:block}.binder-audit-group header strong{font:500 1.12rem var(--serif)}.binder-audit-group header small{color:var(--muted);font-size:.62rem}.binder-audit-group article{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(140px,.6fr) minmax(150px,.65fr);gap:1rem;align-items:center;padding:.75rem 1rem;border-top:1px solid var(--line);background:white;font-size:.72rem}.binder-audit-group article div>*{display:block}.binder-audit-group article div>span,.binder-audit-group article small{color:var(--muted)}.binder-audit-group article b{font-weight:700}.binder-record-status{justify-self:start;padding:.25rem .45rem;border-radius:100px;background:#f2ead9;color:#735d31;font-size:.58rem;font-weight:800}.binder-audit-group article:first-of-type{border-top:0}@media(max-width:650px){.binder-audit-group article{grid-template-columns:1fr;gap:.35rem}.binder-record-status{margin-top:.15rem}}
