.services-header { position:absolute; background:linear-gradient(#151311b8, transparent); }
.services-hero { position:relative; min-height:485px; overflow:hidden; color:#fff; display:grid; align-items:end; }
.services-hero > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 64%; filter:blur(3px); transform:scale(1.025); }
.services-hero__shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(18,15,13,.82),rgba(18,15,13,.3) 58%,rgba(18,15,13,.1)); }
.services-hero__content { position:relative; z-index:1; padding-bottom:10px; }
.services-hero h1,.service-intro h2,.section-title h2,.service-feature h2,.services-cta h2 { margin:0; font-family:var(--serif); font-weight:600; letter-spacing:.04em; line-height:1.4; }
.services-hero h1 { font-size:clamp(34px,4.2vw,54px); }
.services-hero__content > p:last-child { margin:22px 0 0; font-size:16px; letter-spacing:.05em; }
.service-intro { padding:90px 0; background:#fcfaf5; }
.service-intro__grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(48px,11vw,150px); align-items:center; }
.service-intro h2,.section-title h2,.service-feature h2 { font-size:clamp(30px,3.4vw,43px); }
.service-intro__grid > p { max-width:470px; margin:0; color:#665f56; }
.service-menu { position:relative; isolation:isolate; overflow:hidden; padding:62px 0; color:#fff; background:linear-gradient(135deg,#211b16,#40311d); }
.service-menu::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(32,19,16,.88),rgba(27,22,18,.63)); }
.service-menu::after { content:""; position:absolute; inset:0; z-index:-1; background:url('/media/cloud-pattern-subtle-fast.webp?v=20260914b') center/cover; filter:sepia(1) saturate(3) hue-rotate(310deg); mix-blend-mode:screen; opacity:.13; }
.service-menu__layout { display:grid; grid-template-columns:220px 1fr; gap:42px; align-items:center; }
.service-menu .eyebrow { color:#e9c273; }.service-menu h2 { margin:0; font-family:var(--serif); font-size:clamp(29px,2.6vw,38px); font-weight:600; letter-spacing:.06em; white-space:nowrap; }
.service-menu__grid { display:grid; grid-template-columns:repeat(6,1fr); gap:18px; transform:translateX(54px); }
.service-menu__grid a { position:relative; min-height:0; aspect-ratio:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:16px; overflow:hidden; border:0; background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(184,140,61,.05)); transition:background .2s ease,transform .2s ease; }
.service-menu__grid a:hover { background:rgba(182,143,66,.2); transform:translateY(-3px); }
.service-menu__grid .service-menu__image-card { border:1px solid #d9ad62; background:#0b0a09; }
.service-menu__grid .service-menu__image-card:hover { background:#0b0a09; }
.service-menu__image-card img { width:100%; height:100%; object-fit:cover; transform:scale(1.075); }
.service-menu__image-card--banquet img { object-fit:contain; transform:none; }
.service-menu__grid i { color:#f6e5bb; font-family:Georgia,serif; font-size:39px; font-style:normal; font-weight:400; line-height:1; }
.service-menu__grid span { color:#fff; font-size:14px; font-weight:700; letter-spacing:.04em; text-align:center; }
.service-details { position:relative; isolation:isolate; overflow:hidden; background:#eee8dc; }
.service-details::before { content:""; position:absolute; z-index:0; inset:-9%; pointer-events:none; background:radial-gradient(ellipse at 12% 18%,rgba(255,255,255,.9),transparent 37%),radial-gradient(ellipse at 85% 76%,rgba(198,164,98,.3),transparent 40%),linear-gradient(128deg,rgba(255,253,247,.85),rgba(226,215,193,.68) 47%,rgba(255,250,239,.86)); opacity:.92; will-change:transform; animation:performanceBackgroundFloat 12s ease-in-out infinite alternate; }
.service-details::after { content:""; position:absolute; z-index:0; inset:0; pointer-events:none; background:linear-gradient(112deg,transparent 28%,rgba(255,252,235,.75) 45%,rgba(182,137,55,.25) 51%,transparent 68%); background-size:220% 100%; opacity:.7; mix-blend-mode:soft-light; animation:performanceGoldSheen 14s ease-in-out infinite; }
.service-detail { position:relative; z-index:1; padding:28px 0; border:0; background:transparent !important; }
@keyframes performanceBackgroundFloat { from { transform:translate3d(-2.5%,2%,0) scale(1.08); } to { transform:translate3d(2.5%,-2%,0) scale(1.14); } }
@keyframes performanceGoldSheen { 0%,18% { background-position:120% 0; } 60%,100% { background-position:-120% 0; } }
.scroll-reveal { opacity:0; transform:translate3d(0,22px,0); transition:opacity .85s cubic-bezier(.22,1,.36,1),transform .85s cubic-bezier(.22,1,.36,1); will-change:opacity,transform; }
.scroll-reveal.is-visible { opacity:1; transform:translate3d(0,0,0); }
.service-menu__grid a.service-card-enter { opacity:0 !important; transform:translate3d(0,28px,0) !important; transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1),background .2s ease !important; will-change:opacity,transform; }
.service-menu__grid a.service-card-enter.is-entered { opacity:1 !important; transform:translate3d(0,0,0) !important; }
.service-menu__grid a.service-card-enter.is-entered:hover { transform:translateY(-3px) !important; }
.service-detail__grid.service-enter { opacity:0 !important; transform:translate3d(0,24px,0) !important; transition:opacity .85s cubic-bezier(.22,1,.36,1),transform .85s cubic-bezier(.22,1,.36,1) !important; will-change:opacity,transform; }
.service-detail__grid.service-enter.is-entered { opacity:1 !important; transform:translate3d(0,0,0) !important; }
@media (prefers-reduced-motion:reduce) { .scroll-reveal,.service-detail__grid.service-enter,.service-menu__grid a.service-card-enter { opacity:1; transform:none; transition:none; } .service-details::before,.service-details::after { animation:none; } .service-detail::before,.service-detail::after { transition:none; transform:none; } }
.service-detail__grid { position:relative; z-index:1; display:grid; grid-template-columns:1fr 1fr; gap:clamp(52px,9vw,126px); align-items:start; }
.service-detail figure { width:114%; height:auto; margin:0; justify-self:end; }
.service-detail figure img { height:auto; object-fit:contain; }
.service-detail--reverse .service-detail__grid > figure { order:2; }
.service-detail span { color:#ad8543; font-size:11px; font-weight:700; letter-spacing:.18em; }
.service-detail h2 { position:relative; display:inline-block; margin:12px 0 16px; padding:0 6px; font-family:"DFKai-SB","BiauKai","KaiTi",serif; font-size:clamp(29px,3vw,39px); font-weight:400; letter-spacing:.04em; border:1px solid rgba(177,133,55,.72); background:linear-gradient(135deg,rgba(255,255,255,.58),rgba(237,220,178,.22)); box-shadow:inset 0 0 0 1px rgba(255,252,241,.78),0 4px 12px rgba(113,83,29,.06); }
.service-detail p { max-width:460px; margin:0; color:#655e55; }
.service-detail ul { margin:23px 0 0; padding:0; list-style:none; color:#302d28; font-size:14px; }
.service-detail#opening .service-detail__grid > div { width:100%; max-width:390px; justify-self:start; }
.service-detail#opening figure { align-self:center; }
.service-detail#opening h2 { font-size:clamp(26px,2.5vw,34px); }
.service-detail#opening p { font-size:17px; line-height:1.75; }
.service-detail#opening ul { margin-top:18px; font-size:15px; }
.service-detail#opening li { padding-block:6px; }
.service-detail#groundbreaking .service-detail__grid > div { width:100%; max-width:390px; justify-self:start; }
.service-detail#groundbreaking figure { align-self:center; }
.service-detail#groundbreaking h2 { font-size:clamp(26px,2.5vw,34px); }
.service-detail#groundbreaking p { font-size:17px; line-height:1.75; }
.service-detail#groundbreaking ul { margin-top:18px; font-size:15px; }
.service-detail#groundbreaking li { padding-block:6px; }
.service-detail:is(#campaign,#banquet,#gender,#birthday,#private,#custom,#stage,#tent,#truss,#equipment) .service-detail__grid > div { width:100%; max-width:390px; justify-self:start; }
.service-detail:is(#campaign,#banquet,#gender,#birthday,#private,#custom,#stage,#tent,#truss,#equipment) figure { align-self:center; }
.service-detail:is(#campaign,#banquet,#gender,#birthday,#private,#custom,#stage,#tent,#truss,#equipment) h2 { font-size:clamp(26px,2.5vw,34px); }
.service-detail:is(#campaign,#banquet,#gender,#birthday,#private,#custom,#stage,#tent,#truss,#equipment) p { font-size:17px; line-height:1.75; }
.service-detail:is(#campaign,#banquet,#gender,#birthday,#private,#custom,#stage,#tent,#truss,#equipment) ul { margin-top:18px; font-size:15px; }
.service-detail:is(#campaign,#banquet,#gender,#birthday,#private,#custom,#stage,#tent,#truss,#equipment) li { padding-block:6px; }
.service-detail li { padding:7px 0; border-top:1px solid #e0d3ba; }
.service-detail li::before { content:"◆"; margin-right:10px; color:#b69052; font-size:9px; }
.service-detail__cta { display:inline-flex; align-items:center; justify-content:center; min-height:44px; margin-top:27px; padding:0 18px; background:#1b1916; color:#fff; font-size:13px; font-weight:700; letter-spacing:.05em; transition:background .2s ease,transform .2s ease; }
.service-detail__cta:hover { background:#b69052; transform:translateY(-2px); }
.service-feature { padding:84px 0; background:#fff; }
.service-feature__grid { display:grid; grid-template-columns:1.12fr .88fr; gap:clamp(45px,8vw,110px); align-items:center; }
.service-feature h2 { font-size:clamp(30px,3vw,38px); white-space:nowrap; }
.service-feature .text-link { display:inline-flex; align-items:center; gap:8px; margin-top:26px; padding:10px 16px; border:1px solid #b69052; color:#322817; font-weight:700; letter-spacing:.06em; transition:background .2s ease,color .2s ease,transform .2s ease; }
.service-feature .text-link:hover { color:#fff; background:#b69052; transform:translateY(-2px); }
.service-feature figure { margin:0; height:430px; overflow:hidden; }
.service-feature img { height:100%; object-fit:cover; }
.service-feature p:not(.eyebrow) { max-width:420px; margin:22px 0 27px; color:#665f56; }
.services-cta { padding:74px 0; text-align:center; color:#fff; background:radial-gradient(ellipse at 72% 22%,rgba(205,162,78,.12),transparent 32%),linear-gradient(130deg,#11100f,#28231c,#11100f); }
.services-cta .eyebrow { color:#e8c579; }.services-cta h2 { font-size:clamp(30px,3.5vw,44px); }.services-cta > .container > p:not(.eyebrow) { max-width:580px; margin:16px auto 27px; color:#e4ddd1; }
@media (max-width:760px) { .services-hero { min-height:560px; }.services-hero__content { padding-bottom:70px; }.service-intro,.service-feature,.services-cta { padding-block:58px; }.service-intro__grid,.service-feature__grid { grid-template-columns:1fr; gap:28px; }.service-menu { padding-block:54px; }.service-menu__layout { grid-template-columns:1fr; gap:26px; }.service-menu__grid { grid-template-columns:1fr 1fr; gap:10px; transform:none; }.service-menu__grid a { min-height:0; aspect-ratio:1; gap:13px; }.service-menu__grid i { font-size:34px; }.service-menu__grid span { font-size:13px; }.service-detail { padding-block:26px; }.service-detail__grid { grid-template-columns:1fr; gap:27px; }.service-detail figure { width:100%; height:auto; justify-self:auto; }.service-detail--reverse .service-detail__grid > figure { order:0; }.service-feature figure { height:310px; }.service-feature h2 { white-space:normal; }.services-hero h1 { font-size:39px; } }
