/* The Occasion Edit — photographic lookbook, shared Catering navigation. */
:root{--edit-paper:#f5f1e9;--edit-ink:#263f3b}
body{background:var(--edit-paper)}
.occasion-cover{min-height:820px;height:100svh;max-height:1120px;position:relative;isolation:isolate;overflow:hidden;background:var(--deep);color:var(--cream)}
.cover-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 50%;z-index:-3}
.cover-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#0b211be8 0%,#10231bd4 22%,#10231b35 75%),linear-gradient(0deg,#10231bab,transparent 45%)}
.cover-copy{position:absolute;inset:auto 7% 13%;max-width:1180px}
.cover-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.23em;color:var(--pearl);margin-bottom:35px}
.cover-copy h1{font-size:clamp(88px,10.6vw,165px);line-height:.85;letter-spacing:-.045em;max-width:790px;font-weight:400}
.cover-copy h1 em{font-style:normal;color:var(--sand)}
.cover-bottom{display:flex;gap:60px;align-items:end;margin-top:42px}
.cover-bottom p{font-size:15px;line-height:1.85;color:var(--pearl)}
/* Curved occasion chapters. The shared header and photographic cover are retained. */
.section-wave{display:block;position:absolute;bottom:-1px;left:0;width:100%;height:85px;fill:var(--edit-paper);pointer-events:none}
.occasion-cover>.section-wave{height:55px}
.occasion-collection{max-width:none;padding:90px 0 0;overflow:visible}
.collection-heading{text-align:center;display:block;margin:0 auto 38px;padding:0 6%;max-width:1000px}
.section-kicker{font-size:10px;letter-spacing:.18em;text-transform:uppercase;line-height:1.8;color:#61756d;margin:0 0 20px}
.collection-heading h2{font-size:clamp(46px,5.2vw,74px);line-height:1.08;font-weight:400}
.collection-heading h2 em{font-style:normal;color:#718e81}
.collection-heading>p:last-child{font-size:14px;line-height:1.9;color:#61756d;margin:24px auto 0}
.occasion-dock{display:flex;position:sticky;top:78px;z-index:20;justify-content:center;margin:0 auto 55px;padding:8px;width:max-content;max-width:94%;background:#f5f1e9ee;border:1px solid #324c4722;border-radius:100px;box-shadow:0 5px 15px #263f3b08;backdrop-filter:blur(16px)}
.occasion-dock[hidden],.occasion-category[hidden]{display:none}
.occasion-dock .category-bar{margin:0;padding:0;gap:4px}
.occasion-dock .category-bar button{border:0;border-radius:80px;background:none;color:var(--green);padding:16px 25px;min-height:48px;font-size:12px}
.occasion-dock .category-bar button[aria-pressed=true]{background:var(--green);color:var(--cream)}
.occasion-category{position:relative;padding:70px 7% 100px;scroll-margin-top:160px;background:#ebe3d4}
.occasion-category>.section-wave{top:-1px;bottom:auto;transform:rotate(180deg);height:65px}
.occasion-category>.wave-bottom{top:auto;bottom:-1px;transform:none;height:65px}
.occasion-category[data-category=corporate]{background:#dbe4dc;padding-top:100px}
.category-heading{text-align:center;margin:35px auto 50px}
.category-heading .catalog-eyebrow{font-size:9px;color:#61756d;letter-spacing:.18em;margin-bottom:15px}
.category-heading h3{font-size:clamp(64px,7vw,98px);line-height:1;font-weight:400}
.story-card{max-width:1220px;margin:0 auto 80px}
.story-card:last-of-type{margin-bottom:0}
.story-banner{border-radius:60px 60px 45px 45px;overflow:hidden;background:var(--green);color:var(--cream)}
.banner-photo{position:relative;display:flex;height:450px;margin:0;background:var(--green);gap:10px}
.banner-photo>img{width:100%;height:100%;min-width:0;object-fit:cover;object-position:center 55%}
.story-banner-corporate .banner-photo{height:500px}
.story-banner-corporate .banner-photo>img{width:calc(50% - 5px);object-position:center 48%}
.banner-photo>.section-wave{fill:var(--green);height:55px}
.setting-label{position:absolute;top:26px;left:28px;background:#f5f1e9ed;color:var(--green);padding:12px 20px;border-radius:40px;font-size:10px;letter-spacing:.07em}
.banner-copy{padding:12px 48px 40px;display:grid;grid-template-columns:1.15fr 1fr;column-gap:70px;align-items:center}
.story-number{grid-column:1/-1;color:var(--teal);font-size:9px;letter-spacing:.18em;text-transform:uppercase;margin:0 0 18px}
.banner-copy h4{font:400 clamp(38px,4.4vw,61px)/1.08 var(--display);letter-spacing:-.025em;margin:0}
.banner-copy h4 br{display:none}
.setting-summary>p{font-size:13px;line-height:1.9;max-width:330px;color:var(--pearl)}
.style-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.style-note{border:1px solid #e5dccc40;border-radius:30px;font-size:9px;padding:9px 14px;color:var(--pearl)}
.story-details{padding:48px 0 0}
.details-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:0 10px 30px}
.details-heading .section-kicker{font-size:8px;margin-bottom:9px}
.details-heading h4{font:400 43px/1.1 var(--display);margin:0}
.details-heading>p{font-size:10px;color:#61756d;line-height:1.7;padding-bottom:4px}
.details-heading>p span{margin:0 12px}
.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.detail-card{min-width:0;background:var(--edit-paper);border-radius:160px 160px 34px 34px;padding:14px 14px 22px;align-self:stretch}
.paired-card{grid-column:span 2;border-radius:180px 180px 34px 34px}
.card-photos{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
.paired-card .card-photos{grid-template-columns:repeat(2,minmax(0,1fr))}
.card-photos figure{min-width:0;margin:0}
.detail-photo{border-radius:160px 160px 22px 22px;overflow:hidden;background:var(--pearl)}
.card-photos figcaption{text-align:center;font-size:10px;line-height:1.7;color:#61756d;padding:14px 8px 0}
.card-heading{display:flex;gap:12px;align-items:center;justify-content:center;border-top:1px solid #324c471c;margin:18px 14px 0;padding-top:19px}
.card-heading h5{font:400 clamp(25px,2.5vw,35px)/1.1 var(--display);letter-spacing:-.02em;margin:0}
.occasion-category[data-category=corporate] .detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.occasion-category[data-category=corporate] .paired-card{grid-column:auto}
.secondary-story{margin-top:95px;padding-top:65px;border-top:1px solid #324c4728}
.occasion-invitation{position:relative;text-align:center;background:var(--edit-paper);padding:95px 7% 105px;overflow:hidden}
.occasion-invitation:before{content:'';position:absolute;right:-190px;top:20px;width:480px;height:480px;background:url('images/bloom-line.svg') center/contain no-repeat;opacity:.08;pointer-events:none}
.occasion-invitation h2{font-size:clamp(52px,6.5vw,88px);line-height:1.06}
.occasion-invitation h2 em{font-style:normal;color:#718e81}
.occasion-enquiry{display:inline-flex;gap:36px;align-items:center;background:var(--green);border-radius:60px;color:var(--cream);padding:19px 29px;margin-top:32px;font-size:12px}
.occasion-enquiry span{font-size:22px;color:var(--sand)}
.occasion-set{display:block;font-size:11px;margin-top:24px;text-decoration:underline;text-underline-offset:5px}
@media(max-width:1050px){.banner-copy{column-gap:30px;padding-inline:30px}.occasion-category{padding-inline:5%}.detail-grid{gap:18px}.card-heading{margin-inline:3px;gap:8px}.card-heading h5{font-size:27px}}
@media(max-width:820px){.occasion-cover{min-height:750px;height:94svh}.cover-copy{left:7%;right:7%;bottom:18%}.cover-copy h1{font-size:clamp(78px,13vw,112px)}.cover-image{object-position:65% center}.cover-shade{background:linear-gradient(90deg,#0b211bd9,#10231b35),linear-gradient(0deg,#10231be8,transparent 85%)}.cover-kicker{font-size:9px;line-height:1.8;letter-spacing:.15em;max-width:280px}.cover-bottom{display:block;margin-top:30px}.cover-bottom p{font-size:14px}.occasion-collection{padding-top:60px}.occasion-dock{top:73px}.occasion-dock .category-bar button{padding:13px 16px;font-size:10px}.category-heading h3{font-size:67px}.banner-photo,.story-banner-corporate .banner-photo{height:330px}.story-banner{border-radius:45px 45px 30px 30px}.banner-copy{grid-template-columns:1fr;padding:12px 28px 32px}.banner-copy h4{font-size:42px}.setting-summary{margin-top:18px}.setting-summary>p{max-width:none}.style-chips{margin-top:14px}.details-heading{align-items:start}.details-heading h4{font-size:36px}.details-heading>p{max-width:135px;font-size:9px}.details-heading>p span{display:none}.details-heading>p{display:flex;flex-direction:column;gap:5px}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.paired-card{grid-column:span 2}.detail-card:last-child:nth-child(odd):not(.paired-card){grid-column:auto}.occasion-category[data-category=corporate] .detail-grid{grid-template-columns:1fr}.occasion-category[data-category=corporate] .detail-card:not(.paired-card){max-width:380px;width:100%;justify-self:center}.card-heading h5{font-size:29px}.occasion-invitation{padding:75px 7%}}
@media(max-width:480px){.occasion-cover{height:90svh;min-height:730px}.cover-copy h1{font-size:81px}.cover-kicker{margin-bottom:30px}.occasion-cover>.section-wave{height:42px}.collection-heading h2{font-size:47px}.collection-heading>p:last-child{font-size:12px}.occasion-dock{padding:5px;margin-bottom:24px}.occasion-dock .category-bar{gap:0}.occasion-dock .category-bar button{padding:11px 14px;min-height:44px}.occasion-category{padding:55px 5% 75px}.occasion-category[data-category=corporate]{padding-top:65px}.category-heading{margin:35px 0}.category-heading h3{font-size:60px}.category-heading .catalog-eyebrow{font-size:8px;letter-spacing:.13em}.occasion-category>.section-wave{height:38px}.banner-photo{height:270px}.story-banner-corporate .banner-photo{height:280px;gap:5px}.story-banner-corporate .banner-photo>img{width:calc(50% - 2.5px)}.banner-photo>.section-wave{height:30px}.setting-label{top:18px;left:18px;font-size:8px;padding:10px 14px}.banner-copy{padding:12px 23px 29px}.banner-copy h4{font-size:38px}.story-number{font-size:8px;margin-bottom:14px}.setting-summary>p{font-size:12px}.style-note{font-size:8px;padding:8px 11px}.story-details{padding-top:35px}.details-heading{margin-inline:3px;gap:10px}.details-heading h4{font-size:32px}.details-heading>p{font-size:8px;max-width:120px}.detail-grid{gap:17px 12px}.detail-card{padding:8px 8px 16px;border-radius:100px 100px 25px 25px}.paired-card{border-radius:110px 110px 25px 25px}.card-photos{gap:10px}.card-photos figcaption{font-size:9px;padding:11px 0 0;min-height:41px}.card-heading{padding-top:13px;margin:10px 1px 0;gap:6px}.card-heading h5{font-size:22px}.paired-card .card-heading h5{font-size:28px}.occasion-category[data-category=corporate] .detail-card:not(.paired-card){max-width:280px}.secondary-story{margin-top:55px;padding-top:50px}.occasion-invitation h2{font-size:49px}}


/* Full photographs in softly rounded frames, visible without opening a viewer. */
.detail-card,.paired-card{border-radius:30px}
.detail-photo{height:430px;display:flex;align-items:center;justify-content:center;overflow:visible;background:transparent;border-radius:0}
.detail-photo img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;border-radius:18px}
.card-photos figcaption{min-height:40px}
a:focus-visible,button:focus-visible{outline:2px solid var(--sand);outline-offset:5px}
@media(max-width:1050px){.detail-photo{height:350px}}
@media(max-width:820px){.detail-photo{height:330px}}
@media(max-width:480px){
  .detail-grid{grid-template-columns:1fr;gap:24px}
  .detail-card,.paired-card{grid-column:auto;padding:12px 12px 20px;border-radius:25px}
  .paired-card .card-photos{grid-template-columns:1fr;gap:20px}
  .detail-photo{height:auto}
  .detail-photo img{width:100%;max-height:none;border-radius:16px}
  .card-photos figcaption{min-height:0;font-size:11px}
  .card-heading h5,.paired-card .card-heading h5{font-size:29px}
  .card-heading{margin-top:18px;padding-top:18px}
  .occasion-category[data-category=corporate] .detail-card:not(.paired-card){max-width:none}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}


/* A photographic invitation: real hospitality, quiet detail and warm metallic accents. */
.occasion-invitation{padding:65px 7% 85px;text-align:left;background:var(--edit-paper)}
.occasion-invitation:before{display:none}
.invitation-wrap{max-width:1220px;margin:auto;position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:.85fr 1.15fr;align-items:stretch;background:var(--edit-paper);color:var(--green);border-radius:100px 30px 100px 30px}
.invitation-photograph{margin:0;min-width:0;display:flex;align-items:center;background:transparent}
.invitation-photograph img{display:block;width:100%;height:auto}
.invitation-content{position:relative;align-self:center;padding:55px 55px 60px;text-align:center}
.invitation-content:before{content:'';position:absolute;inset:22px 22px 24px;border:1px solid #b58b4933;border-radius:4px 12px 68px 4px;pointer-events:none}
.invitation-rosette{width:54px;height:54px;object-fit:contain;margin:0 auto 23px;opacity:.65}
.invitation-content .section-kicker{color:#65776b;font-size:9px;letter-spacing:.22em;margin-bottom:24px}
.occasion-invitation h2{font-size:clamp(44px,4vw,61px);line-height:1.15;letter-spacing:-.025em}
.occasion-invitation h2 em{color:#8a6738;background:linear-gradient(transparent 76%,#e6d4af 76%,#e6d4af 94%,transparent 94%);padding:0 .035em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.invitation-note{font-size:13px;line-height:1.95;color:#52665e;max-width:320px;margin:24px auto 0}
.occasion-enquiry{margin-top:30px;position:relative;overflow:hidden;min-height:60px;border:1px solid #b58b49;background:linear-gradient(115deg,#c69d5c 0%,#edcf94 35%,#f2dcae 50%,#d9b377 72%,#e9c886 100%);background-size:180% 100%;color:#263f3b;font-size:12px;font-weight:600;letter-spacing:.025em;gap:30px;padding:17px 22px 17px 27px;box-shadow:inset 0 1px 0 #fff9,inset 0 -2px 0 #9b743b35,0 8px 22px #96703525;transition:background-position .4s,box-shadow .3s,transform .3s}
.occasion-enquiry span{color:#263f3b;font-size:20px;border-left:1px solid #324c4735;padding-left:20px}
.occasion-enquiry:hover{background-position:100% 0;box-shadow:inset 0 1px 0 #fffb,inset 0 -2px 0 #9b743b35,0 11px 26px #96703535;transform:translateY(-2px)}
.occasion-enquiry:focus-visible{outline:2px solid var(--green);outline-offset:5px}
.occasion-set{color:#52665e;font-size:10px;line-height:1.8;margin-top:25px;text-decoration-color:#52665e60}
.occasion-dock .category-bar button{transition:background .25s,color .25s}
@media(max-width:1050px){.invitation-content{padding:50px 36px}.occasion-invitation h2{font-size:45px}.invitation-content:before{inset:16px}}
@media(max-width:820px){.occasion-invitation{padding:40px 6% 60px}.invitation-wrap{grid-template-columns:.8fr 1.2fr;border-radius:65px 24px 65px 24px}.invitation-content{padding:40px 28px}.occasion-invitation h2{font-size:36px}.invitation-rosette{width:40px;height:40px;margin-bottom:20px}.invitation-content .section-kicker{font-size:8px}.invitation-note{font-size:11px}.occasion-enquiry{gap:15px;font-size:10px;padding:15px 18px}.occasion-enquiry span{padding-left:12px}.occasion-set{font-size:8px}}
@media(max-width:600px){.occasion-invitation{padding:35px 5% 50px}.invitation-wrap{grid-template-columns:1fr;border-radius:65px 24px 65px 24px}.invitation-photograph{padding:22px 22px 0;background:transparent}.invitation-photograph img{max-height:360px;width:auto;max-width:100%;margin:auto;border-radius:40px 16px 16px 16px}.invitation-content{padding:37px 30px 48px}.invitation-content:before{inset:18px 16px 18px;border-radius:12px 12px 48px 12px}.occasion-invitation h2{font-size:38px}.invitation-note{font-size:12px}.invitation-rosette{margin-bottom:18px}.invitation-content .section-kicker{margin-bottom:18px}.occasion-enquiry{font-size:11px}.occasion-set{font-size:8px}}
@media(prefers-reduced-motion:reduce){.occasion-enquiry,.occasion-dock .category-bar button{transition:none}.occasion-enquiry:hover{transform:none}}

/* Full-image invitation: photograph spans the entire panel behind the copy. */
.invitation-wrap{display:flex;align-items:center;min-height:500px;background:var(--green);color:var(--cream)}
.invitation-photograph{position:absolute;inset:0;display:block;padding:0;background:transparent;z-index:0}
.invitation-photograph img{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;object-position:center 66%;border-radius:0}
.invitation-wrap:after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#11282018 0%,#142e2560 35%,#17362dd9 62%,#17362df0 100%);pointer-events:none}
.invitation-content{z-index:2;width:60%;margin-left:auto;padding:30px 55px}
.invitation-content:before{display:none}
.invitation-rosette{width:32px;height:32px;margin:0 auto 10px;filter:brightness(0) invert(1);opacity:.65}
.invitation-content .section-kicker{color:var(--pearl);margin-bottom:16px}
.occasion-invitation h2{color:var(--cream);text-shadow:0 2px 18px #0b211b35;font-size:clamp(42px,3.6vw,55px);line-height:1.1}
.occasion-invitation h2 em{color:#edcf94;background:none;padding:0}
.invitation-note,.occasion-set{color:var(--pearl)}
.occasion-set{text-decoration-color:#e5dccc80}
.occasion-enquiry:focus-visible{outline-color:var(--cream)}
.invitation-note{margin-top:16px}
.invitation-content .occasion-enquiry{margin-top:22px}
.invitation-content .occasion-set{margin-top:18px}
@media(max-width:1050px){.invitation-content{width:65%;padding:30px 36px}.invitation-wrap{min-height:480px}}
@media(max-width:820px){.invitation-content{width:72%;padding:30px}.invitation-wrap{min-height:460px}.occasion-invitation h2{font-size:36px}}
@media(max-width:600px){.invitation-wrap{min-height:490px;align-items:center}.invitation-content{width:100%;margin:0;padding:32px 30px}.occasion-invitation h2{font-size:38px}.invitation-photograph{padding:0}.invitation-photograph img{width:100%;height:100%;max-height:none;max-width:none;border-radius:0;object-position:center}.invitation-wrap:after{background:linear-gradient(180deg,#17362d66 0%,#17362dc9 38%,#17362dec 100%)}}
