/* Original vector linen, edited/exported in Illustrator. All menu content is live HTML.
   The crown and hem keep their proportions; only the woven middle repeats. */
.table-section{max-width:850px;margin:0 auto;padding:42px 30px 38px;scroll-margin-top:24px}
.table-section .section-intro{margin-bottom:32px}
.linen-setting{position:relative;isolation:isolate;max-width:670px;margin:34px auto 0}
.linen-menu{position:relative;isolation:isolate;padding:23% 15.5% 22%;color:#24496c;overflow-wrap:anywhere}
.linen-art{position:absolute;inset:0;z-index:-1;display:flex;flex-direction:column;pointer-events:none;filter:drop-shadow(3px 6px 4px #4b4b3620)}
.linen-crown,.linen-hem{display:block;width:100%;height:auto;flex:none}
.linen-crown{aspect-ratio:640/160}.linen-hem{aspect-ratio:640/125}
.linen-weave{min-height:0;flex:1;background:url('../assets/aegean-vow/linen-v4/weave.svg') 0 0/100% auto repeat-y;margin:-.5px 0}
.menu-masthead{text-align:center;margin:0 0 44px}
.menu-script{font:400 96px/1.06 Pinyon,Georgia,serif;color:#284f7d;margin:0 0 18px}
.menu-couple{font:400 16px/1.6 Georgia,serif;letter-spacing:.09em;text-transform:uppercase;color:#284c6b}
.menu-couple span{font:italic 18px Georgia,serif;letter-spacing:0;margin:0 5px;color:#66859c}
.menu-evening{font:10px/1.8 Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#6b7880;margin-top:8px}
.menu-course{text-align:center;margin-top:46px}
.menu-course:first-child{margin-top:0}
.menu-course h4{font:500 11px/1.65 Arial,sans-serif;letter-spacing:.23em;text-transform:uppercase;color:#315d86;display:flex;align-items:center;justify-content:center;gap:13px;margin:0 0 23px}
.menu-course h4::before,.menu-course h4::after{content:'';width:5px;height:5px;flex:none;border:1px solid #7390a7;transform:rotate(45deg)}
.dish-list{list-style:none;margin:0;padding:0;display:grid;gap:28px}
.menu-dish h5{font:400 22px/1.35 Georgia,serif;margin:0 0 8px;color:#294b65;text-wrap:balance}
.menu-dish p{font:15px/1.7 Georgia,serif;color:#666f6e;white-space:pre-line;max-width:36ch;margin:0 auto}
.dish-diet{display:block;margin-top:7px;font:italic 12px/1.65 Georgia,serif;color:#687a6b}
.menu-ending{text-align:center;margin-top:43px}
.menu-wave{width:110px;height:26px;display:block;margin:0 auto 12px;stroke:#577c9d;stroke-width:1.15}
.menu-ending p{font:400 30px/1.2 Pinyon,Georgia,serif;color:#335e80}
.dietary-note{text-align:center;max-width:430px;margin:23px auto 0;padding:0 16px;color:var(--muted);font:13px/1.8 Georgia,serif}
/* The leading roll reveals the actual artwork and text; it never changes layout. */
.linen-setting.is-unrolling .linen-menu{clip-path:inset(-15px -25px calc(100% - var(--unrolled,0px)) -25px)}
.unroll-edge{position:absolute;top:var(--roll-position,0px);left:6.25%;right:6.25%;transform:translateY(-50%);height:var(--roll-diameter,48px);border-radius:10px 10px 14px 14px/38% 38% 45% 45%;z-index:3;pointer-events:none;background:repeating-linear-gradient(0deg,#89784e10 0 1px,transparent 1px 3px),repeating-linear-gradient(90deg,#fffdf73b 0 1px,transparent 1px 3px),linear-gradient(#b5aa9055,#e8dfcd 9%,#fff9eb 25%,#fffdf2 39%,#e8decc 66%,#b9a98a 93%,#e0d5c0);box-shadow:0 9px 13px #5f584429,inset 0 1px 1px #fffdf5,inset 0 -2px 2px #8f7b4f29}
.unroll-edge::before{content:'';position:absolute;inset:21% 3px auto;height:1px;background:#fffefb66;border-radius:50%}
.unroll-edge::after{content:'';position:absolute;left:9px;right:9px;bottom:3px;border-bottom:1px dashed #76695035}
.unroll-edge[hidden]{display:none}
.unroll-edge span{position:absolute;top:1px;bottom:1px;width:28px;background:linear-gradient(90deg,transparent 2px,#2d5c9188 2px 3px,transparent 3px 9px,#2d5c91a8 9px 12px,transparent 12px 16px,#7394aeaa 16px 19px,transparent 19px 25px,#2d5c9188 25px 26px,transparent 26px);border-radius:20%;opacity:.85}
.roll-trim-left{left:2.8%}.roll-trim-right{right:2.8%;transform:scaleX(-1)}
.roll-end{position:absolute;top:1px;bottom:1px;width:10px;border-radius:50%;border:1px solid #a89b7f88;background:repeating-radial-gradient(ellipse at 52% 47%,#857b6225 0 1px,#e9e0cc 1px 3px,#cbbd9e 3px 4px,#f9f2e2 4px 6px);box-shadow:inset 1px 0 2px #86704b44;overflow:hidden}
.roll-end-left{left:-4px}.roll-end-right{right:-4px}
.roll-end::after{content:'';position:absolute;inset:24% 2px;border-top:1px solid #776548aa;border-right:1px solid #b1a07b66;border-radius:50%;transform:rotate(var(--roll-turn,0deg))}
.unroll-edge.is-finished{animation:linen-release .4s ease forwards}
@keyframes linen-release{to{opacity:0;transform:translateY(-35%) scaleY(.15);box-shadow:0 1px 2px #5f584410}}
@keyframes linen-hem-settle{0%{transform:translateY(-2px)}55%{transform:translateY(2px)}100%{transform:none}}
@media(prefers-reduced-motion:no-preference){.linen-setting.is-unrolled .linen-hem{animation:linen-hem-settle .65s ease}.menu-ending.ink-drawn .menu-wave path{stroke-dasharray:1;animation:ink-draw 1.6s ease both}}
@media(max-width:730px){
 .table-section{padding:34px 10px 30px}.table-section .section-intro{padding:0 20px;margin-bottom:23px}
 .linen-setting{margin-top:24px;max-width:520px}.linen-menu{padding-left:14.2%;padding-right:14.2%;padding-top:25%;padding-bottom:24%}
 .menu-script{font-size:76px;margin-bottom:17px}.menu-couple{font-size:13px;letter-spacing:.075em}.menu-couple span{font-size:16px}.menu-evening{font-size:9px;letter-spacing:.055em;margin-top:7px}
 .menu-masthead{margin-bottom:36px}.menu-course{margin-top:39px}.menu-course h4{font-size:10px;letter-spacing:.2em;margin-bottom:21px;gap:10px}
 .menu-dish h5{font-size:19px;line-height:1.4}.menu-dish p{font-size:14px;line-height:1.8}.dish-list{gap:25px}.dish-diet{font-size:12px}
 .menu-ending{margin-top:35px}.menu-ending p{font-size:27px}.dietary-note br{display:none}.unroll-edge span{width:20px;background-size:20px 100%}
}
@media(max-width:360px){.table-section{padding-left:5px;padding-right:5px}.menu-script{font-size:66px}.menu-dish h5{font-size:18px}.menu-dish p{font-size:14px}.menu-couple{font-size:12px}.menu-evening{max-width:20em;margin:7px auto 0}.menu-course h4{letter-spacing:.15em;gap:8px}.menu-ending p{font-size:25px}}
@media(prefers-reduced-motion:reduce){.linen-setting.is-unrolling .linen-menu{clip-path:none}.unroll-edge{display:none}}
