/* Reusable catalogue cards; all selectors scoped to the component. */
.invitation-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:44px 28px;color:#42382c;font:17px/1.5 Arial,sans-serif}
.invitation-card{min-width:0}.invitation-card a{text-decoration:none;color:inherit}.invitation-card__cover{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;border-radius:22px;isolation:isolate;box-shadow:0 8px 28px #4e382b0a;transition:box-shadow .25s}
.invitation-card__cover:hover{box-shadow:0 12px 35px #4e382b24}.invitation-card__cover>img{position:absolute;display:block;pointer-events:none}.cover-copy{position:relative;z-index:2;text-align:center;padding:9% 6%}.cover-copy h2{font:400 clamp(32px,4vw,52px)/1.15 Georgia,serif;margin:16px 0 20px}.cover-copy h2 i{font-weight:400;font-size:.65em}.cover-kicker,.cover-date{font-size:17px;line-height:1.5;margin:0}.cover-open{position:absolute;z-index:3;bottom:18px;left:50%;transform:translateX(-50%);white-space:nowrap;padding:10px 17px;border:1px solid #ffffff60;border-radius:24px;background:#fffaf2ed;color:#42382c;font-size:16px}
.cover--peach{background:radial-gradient(ellipse at 80% 10%,#e3edf0,transparent 65%),#fff0df;color:#624535!important}.cover--peach>img{width:90%;height:64%;object-fit:contain;bottom:6%;left:5%}.cover--peach .cover-copy{padding-top:8%}.cover--peach .cover-copy h2{font-size:clamp(30px,3.5vw,44px);margin:10px 0}.cover--peach .cover-kicker{color:#98735a}
.cover--race{background:linear-gradient(#ffe4ae,#fff2d8 65%,#efc992);color:#392a23!important}.cover--race>img{width:112%;height:60%;object-fit:contain;left:-6%;bottom:4%}.cover--race .cover-copy h2{font-weight:bold;font-size:clamp(36px,4.5vw,60px)}.cover--race .cover-kicker{color:#a52921}.cover--race:after{content:'';position:absolute;bottom:0;width:100%;height:14px;background:repeating-conic-gradient(#3e332b 0% 25%,#fff5de 0% 50%) 0/28px 28px}
.cover--blue{background:#bed4e2;color:white!important}.cover--blue>img{width:100%;height:100%;object-fit:cover;object-position:50% 45%}.cover--blue:after{content:'';position:absolute;inset:0;background:linear-gradient(#102b3e80,#143b5050 65%,#102b3e55);z-index:1}.cover--blue .cover-copy{padding-top:15%;text-shadow:0 2px 14px #12314966}.cover--blue .cover-copy h2{font-style:italic;font-size:clamp(44px,5.6vw,70px)}
.cover--wine{background:#32161e;color:#f5e6d2!important}.cover--wine>img{width:118%;max-width:none;height:auto;left:-9%;bottom:5%}.cover--wine .cover-copy{padding-top:12%}.cover--wine .cover-kicker{color:#dfc9a0}.cover--wine .cover-copy h2{font-size:clamp(40px,4.6vw,58px)}
.invitation-card__meta{display:flex;justify-content:space-between;align-items:start;gap:12px;padding-top:18px}.invitation-card__meta h3{font-size:19px;line-height:1.4;margin:0;font-weight:600}.invitation-card__meta p{font-size:16px;margin:5px 0 0;color:#746656}.invitation-card__meta>a{padding:11px 16px;border:1px solid #ded1b4;border-radius:12px;background:#f6efdf;font-size:16px;white-space:nowrap}.invitation-card a:focus-visible{outline:3px solid #456985;outline-offset:5px}
.cards-preview{margin:0;background:#fffaf1;color:#42382c;font:17px/1.5 Arial,sans-serif}.cards-preview *{box-sizing:border-box}.cards-preview main{max-width:1100px;margin:auto;padding:36px 28px 80px}.cards-preview header{padding:0 0 40px}.cards-preview header>a{color:#715936;font-size:16px}.cards-preview header>p{margin-top:40px;color:#786039}.cards-preview h1{font:400 clamp(34px,4.5vw,56px)/1.15 Georgia,serif;margin:16px 0}
@media(max-width:620px){.invitation-cards{grid-template-columns:1fr;gap:34px}.cards-preview main{padding-inline:20px}.cover-copy h2{font-size:44px}.cover--peach .cover-copy h2{font-size:36px}.cover--race .cover-copy h2{font-size:48px}.cover--blue .cover-copy h2{font-size:56px}.cover--wine .cover-copy h2{font-size:48px}.invitation-card__meta h3{font-size:18px}}
@media(prefers-reduced-motion:reduce){.invitation-card__cover{transition:none}}
@media(max-width:620px){.invitation-card__cover{min-height:500px}.cover--peach>img{height:52%;bottom:10%}.cover--race>img{height:50%;bottom:9%}.cover--wine>img{bottom:13%}.cover--blue .cover-copy{padding-top:18%}}
@media(max-width:360px){.cover--peach .cover-copy h2{font-size:30px}.cover--race .cover-copy h2{font-size:42px}.cover--blue .cover-copy h2{font-size:48px}.cover--wine .cover-copy h2{font-size:42px}}
/* Racing cover: name follows the car's blank panel at every screen size. */
.cover--race{background:repeating-conic-gradient(#171717 0% 25%,#fff 0% 50%) 0/72px 72px}
.cover--race:after{display:none}
.cover--race .cover-copy{width:84%;margin:7% auto 0;padding:18px 10px 22px;background:#fffaf3;border:1px solid #e5ddd0;border-radius:14px;box-sizing:border-box;box-shadow:0 4px 18px #0002}
.cover--race .cover-copy h2{margin:0 0 14px;font-size:clamp(32px,4vw,52px)}
.race-card-car{position:absolute;left:-6%;bottom:15%;width:112%;z-index:2}
.race-card-car img{display:block;width:100%;height:auto}
.race-card-name{position:absolute;left:28%;top:50%;width:46%;transform:translateY(-50%);text-align:center;font:bold clamp(20px,3vw,34px)/1.15 Georgia,serif;color:#8e1d16}
@media(max-width:620px){.race-card-car{bottom:18%}.cover--race .cover-copy{margin-top:8%;padding:20px 10px}.cover--race .cover-copy h2{font-size:38px}.race-card-name{font-size:clamp(20px,5.5vw,32px)}}
.invitation-card__cover{width:100%;box-sizing:border-box}
/* Keep the candle arrangement inside the card, closer to its centre. */
.cover--wine>img{width:96%;left:2%}
/* Catalogue uses three narrower columns than the design review page. */
.catalog-cream .invitation-card{container-type:inline-size}
.catalog-cream .invitation-card__cover{min-height:0;aspect-ratio:.82;border-radius:23px}
.catalog-cream .cover-copy h2{font-size:clamp(30px,10cqw,42px)}
.catalog-cream .cover--blue .cover-copy h2{font-size:clamp(30px,11cqw,46px);overflow-wrap:normal}
.catalog-cream .cover--peach>img{height:52%;bottom:10%}
.catalog-cream .cover--peach .cover-copy h2{font-size:clamp(28px,9cqw,36px)}
.catalog-cream .cover--race .cover-copy h2{font-size:clamp(30px,11cqw,42px)}
.catalog-cream .race-card-name{font-size:clamp(20px,7cqw,30px)}
.catalog-cream .cover--wine>img{bottom:13%}
/* New collection entries share the same covers on home and catalogue. */
.template-item__preview{position:relative;display:block}
.template-new-badge{position:absolute;top:12px;left:12px;z-index:5;background:#fff4d9;color:#583d2d;border:1px solid #d6b883;border-radius:999px;padding:5px 12px;font:700 16px/1.3 Arial,sans-serif;letter-spacing:.04em;box-shadow:0 2px 8px #34211115}
.home-calendar-production #collection-track .invitation-card{container-type:inline-size}
.home-calendar-production #collection-track .invitation-card__cover{min-height:0;aspect-ratio:.82}
.home-calendar-production #collection-track .cover-copy h2{font:400 clamp(28px,10cqw,42px)/1.15 Georgia,serif;letter-spacing:0}
.home-calendar-production #collection-track .cover-copy p{font:400 17px/1.5 Arial,sans-serif}
.home-calendar-production #collection-track .cover--blue .cover-copy h2{font-size:clamp(28px,10cqw,42px)}
.home-calendar-production #collection-track .cover--peach>img{height:52%;bottom:10%}
.home-calendar-production #collection-track .cover--wine>img{bottom:13%}
.home-calendar-production #collection-track .race-card-name{font-size:clamp(20px,7cqw,30px)}

/* Home covers use the same footprint as the original collection. */
.home-calendar-production #collection-track .cover-open{display:none}
.home-calendar-production #collection-track .cover--wine>img{bottom:3%}
.home-calendar-production #collection-track .cover--peach>img{bottom:2%}
.home-calendar-production #collection-track .race-card-car{bottom:7%}

/* Catalogue follows the same cover-and-footer pattern as existing designs. */
.catalog-cream .cover-open{display:none}
.catalog-cream .cover--peach>img{bottom:2%}
.catalog-cream .cover--wine>img{bottom:3%}
.catalog-cream .race-card-car{bottom:7%}
