
.portfolio-hero .hero-artwork{object-position:center 47%}.portfolio-hero .hero-seal{background:#f8f4eded;color:var(--wine);border-color:#f8f4ed;box-shadow:0 8px 32px #30211020}.portfolio-hero .art-caption{left:24px;right:24px;bottom:24px;width:auto;background:#fffdf9ed;color:var(--wine);padding:11px 14px;letter-spacing:.13em;font-size:11px;z-index:1}
.portfolio-section{background:#eee7dd}.portfolio-intro{max-width:440px;font-size:15px!important;line-height:1.8}.portfolio-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #d0c1b2;padding-top:24px;margin-bottom:28px}.portfolio-filters{display:flex;flex-wrap:wrap;gap:8px}.portfolio-filters button{font-size:13px;padding:9px 17px;border:1px solid #c8b7a5;transition:background .2s,color .2s}.portfolio-filters button[aria-pressed=true]{background:var(--wine);border-color:var(--wine);color:var(--ivory)}.portfolio-count{font-size:12px;white-space:nowrap;color:var(--muted)}.portfolio-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 22px}.portfolio-card{min-width:0}.portfolio-card button{display:block;width:100%;padding:0;text-align:left}.portfolio-media{aspect-ratio:3/4;overflow:hidden;position:relative;background:#d6cbbc}.portfolio-media img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.65,.3,1)}.portfolio-card button:hover img{transform:scale(1.055)}.portfolio-media:after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#17111166)}.media-type{position:absolute;left:12px;bottom:12px;z-index:1;color:var(--ivory);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.media-duration{position:absolute;right:12px;bottom:12px;z-index:1;color:var(--ivory);font-size:12px}.film-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:54px;height:54px;display:grid;place-items:center;border:1px solid #fff9;border-radius:50%;background:#fffdf924;backdrop-filter:blur(5px);color:white;font-size:29px;padding-left:3px;z-index:1}.portfolio-card button:hover .film-play{background:#641d28c9}.portfolio-card h3{font-size:25px;line-height:1.15;margin:14px 0 6px}.portfolio-card .category-label{font-size:12px;color:var(--muted);letter-spacing:.05em}.portfolio-note{display:flex;gap:20px;justify-content:space-between;margin-top:32px;font-size:13px;border-top:1px solid #d0c1b2;padding-top:20px}.portfolio-note a{color:var(--wine);border-bottom:1px solid var(--wine);white-space:nowrap}.portfolio-section .section-heading{align-items:end}
.packages-section{background:var(--paper)}.packages-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.package-card{border:1px solid var(--line);padding:27px 23px;display:flex;flex-direction:column;position:relative;background:#f8f5ef}.package-card:before{content:'';position:absolute;top:-1px;left:-1px;right:-1px;height:4px;background:var(--package-accent,#a2a3a1)}.package-card.gold{--package-accent:#bba06d;background:#f6f0e5}.package-card.platinum{--package-accent:#858e8b;background:#f0f2ef}.package-card.elite{--package-accent:#c7a877;background:var(--wine-dark);color:var(--ivory)}.package-kicker{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:15px}.package-card h3{font-size:46px;margin-bottom:18px}.price-label{font-size:11px;letter-spacing:.1em;color:var(--muted);text-transform:uppercase}.package-price{font-family:var(--serif);font-size:42px;line-height:1.3;color:var(--wine);white-space:nowrap}.package-price span{font-family:var(--sans);font-size:12px;margin-right:4px}.package-summary{padding:20px 0 14px;margin:18px 0 0;border-top:1px solid var(--line);list-style:none;flex-grow:1}.package-summary li{font-size:13px;line-height:1.7;padding:0 0 9px 15px;position:relative;color:var(--muted)}.package-summary li:before{content:'·';position:absolute;left:0;color:var(--wine);font-weight:bold}.package-card details{border-top:1px solid var(--line);padding-top:15px;margin:5px 0 22px;font-size:12px}.package-card summary{cursor:pointer;color:var(--wine)}.package-card details ul{padding-left:17px;color:var(--muted);margin:12px 0 0}.package-card details li{padding-bottom:7px}.package-enquire{border:1px solid var(--wine);color:var(--wine);padding:10px 7px;font-size:13px;width:100%;margin-top:auto;transition:background .2s,color .2s}.package-enquire:hover{background:var(--wine);color:var(--ivory)}.package-card.elite .package-kicker,.package-card.elite .price-label,.package-card.elite li{color:#d5c1ba}.package-card.elite .package-price,.package-card.elite summary{color:#ead6b6}.package-card.elite .package-summary,.package-card.elite details{border-color:#754a50}.package-card.elite .package-enquire{border-color:#dfc7a9;color:#ead6b6}.package-card.elite .package-enquire:hover{background:#ead6b6;color:var(--wine-dark)}.package-card.elite .package-summary li:before{color:#ead6b6}.package-terms{border-left:2px solid #ac9279;padding-left:20px;margin-top:30px;max-width:950px}.package-terms p{font-size:13px;line-height:1.8}.package-terms p+p{margin-top:6px}
.menus .menu-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.download-card{border:1px solid var(--line);background:var(--ivory);display:flex;flex-direction:column;overflow:hidden}.menu-preview{height:215px;padding:22px;background:#ede4d6;overflow:hidden;display:flex;justify-content:center;align-items:flex-start}.menu-preview img{height:100%;width:auto;max-width:100%;object-fit:contain;box-shadow:2px 6px 17px #3e2a1625;transition:transform .5s}.menu-preview:hover img{transform:translateY(-5px) rotate(-1deg)}.menu-card-body{padding:23px}.menu-card-body h3{font-size:31px;margin-bottom:9px}.menu-card-body p{font-size:13px;line-height:1.7;min-height:44px}.menu-meta{font-size:11px;color:var(--muted);letter-spacing:.08em;display:block;margin:15px 0 17px}.menu-actions{display:flex;gap:24px;align-items:center}.menu-actions a{font-size:13px;color:var(--wine);border-bottom:1px solid currentColor;padding-bottom:3px}.secondary-menus{margin-top:25px;display:flex;gap:25px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--muted)}.secondary-menus a{color:var(--wine);text-decoration:underline;text-underline-offset:4px}
#gallery-dialog.media-viewer{width:min(1100px,calc(100vw - 32px));max-width:1100px;max-height:95dvh;height:auto;background:#211715;border:1px solid #fff2;overflow:hidden;color:var(--ivory)}.media-viewer .dialog-close{right:16px;top:16px}.viewer-stage{height:min(72dvh,800px);display:flex;align-items:center;justify-content:center;background:#171110;padding:12px}.media-viewer #gallery-image{width:auto;height:auto;max-height:100%;max-width:100%;object-fit:contain}.media-viewer video{width:100%;height:100%;object-fit:contain;display:block}.viewer-bottom{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:18px 25px}.viewer-bottom #gallery-caption{font:29px var(--serif);padding:0;text-align:left;line-height:1.1}.viewer-category{color:#c7aea1;font-size:11px;letter-spacing:.08em;margin-top:7px}.viewer-navigation{display:flex;align-items:center;gap:16px;font-size:12px;white-space:nowrap}.viewer-navigation button{padding:8px 11px;border:1px solid #8c7060;color:#f4e5d1;font-size:12px}.viewer-index{color:#d0baac;min-width:39px;text-align:center}.viewer-error{color:#e8d7c2;font-size:13px;padding:10px 25px}.viewer-error a{text-decoration:underline;color:inherit}
@media(max-width:1150px){.packages-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.package-card{padding:30px}.package-summary{min-height:210px}.portfolio-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.portfolio-card h3{font-size:24px}.menu-card-body h3{font-size:28px}}
@media(max-width:850px){.portfolio-toolbar{align-items:flex-start;flex-direction:column;gap:15px}.portfolio-section .section-heading{align-items:start}.portfolio-intro{max-width:100%}.portfolio-grid{gap:20px}.menus .menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-filters button{font-size:12px;padding:8px 15px}.portfolio-note{align-items:start;flex-direction:column;gap:12px}.viewer-bottom{gap:15px}.viewer-bottom #gallery-caption{font-size:26px}.viewer-navigation{gap:7px}}
@media(max-width:600px){.portfolio-hero .hero-artwork{object-position:center 43%}.portfolio-hero .art-caption{font-size:9px;bottom:16px;left:16px;right:16px}.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}.portfolio-card h3{font-size:24px;line-height:1.13;margin-top:12px}.portfolio-card .category-label{font-size:11px;letter-spacing:0}.media-type{font-size:9px;left:9px;bottom:9px;letter-spacing:.04em}.media-duration{font-size:10px;right:9px;bottom:9px}.film-play{width:45px;height:45px;font-size:25px}.portfolio-filters{gap:7px}.portfolio-filters button{padding:8px 12px;font-size:12px}.portfolio-count{font-size:11px}.portfolio-note{font-size:12px}.portfolio-intro{font-size:14px!important}.packages-grid{gap:20px;grid-template-columns:1fr}.package-card{padding:28px}.package-card h3{font-size:47px;margin-bottom:12px}.package-price{font-size:46px}.package-summary{min-height:0;flex-grow:0;margin-top:15px}.package-summary li{font-size:14px}.package-card details{font-size:13px}.package-enquire{font-size:14px;padding:12px}.package-terms p{font-size:12px}.menus .menu-grid{gap:16px;grid-template-columns:1fr}.download-card{display:grid;grid-template-columns:110px 1fr;align-items:stretch}.menu-preview{height:auto;min-height:205px;padding:16px 10px;align-items:center}.menu-preview img{width:100%;height:auto;max-height:170px}.menu-card-body{padding:21px 16px}.menu-card-body h3{font-size:29px}.menu-card-body p{font-size:12px;min-height:0}.menu-meta{font-size:10px;margin:11px 0 13px}.menu-actions{gap:20px}.menu-actions a{font-size:12px}.secondary-menus{font-size:12px;gap:13px 20px}.viewer-stage{height:65dvh;padding:8px}.viewer-bottom{padding:16px;flex-direction:column;align-items:stretch}.viewer-bottom #gallery-caption{font-size:25px}.viewer-category{font-size:10px}.viewer-navigation{justify-content:space-between;gap:15px}.viewer-navigation button{font-size:12px;padding:8px 15px}.media-viewer .dialog-close{right:10px;top:10px}#gallery-dialog.media-viewer{width:calc(100vw - 20px);max-height:96dvh}.viewer-error{font-size:12px;padding:8px 16px}}
@media(prefers-reduced-motion:reduce){.portfolio-media img,.menu-preview img{transition:none}}
