:root{--background:#fffdfb;--foreground:#302729;--primary:#9d3455;--border:#dbc6bf;--muted:#f6eae6;--pink:#f3dfe1}
*{box-sizing:border-box;box-shadow:none!important}
html{scroll-behavior:smooth}
body{margin:0;background:var(--background);color:var(--foreground);font-family:'Onest',sans-serif;font-size:15px;line-height:1.7;overflow-x:hidden}
body.admin-bar .swiss-header{top:32px}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--primary);outline-offset:5px}
img{display:block;width:100%;height:100%;object-fit:cover}
h1,h2,h3,p{margin:0}
p{font-size:15px!important}
h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;line-height:1.02}
h1{font-size:clamp(3.5rem,5.5vw,6rem);letter-spacing:-.035em}
h2{font-size:clamp(2.8rem,4.5vw,5rem);letter-spacing:-.025em}
h3{font-size:2rem}
em{color:var(--primary);font-weight:400}
svg{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.eyebrow{font-family:'Onest',sans-serif;font-size:12px;letter-spacing:.19em;color:#8d6965;margin-bottom:22px;font-weight:500}
.section{padding:100px 6%;max-width:1600px;margin:auto;position:relative;background:var(--background)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:54px;padding:14px 24px;border:1px solid currentColor;background:transparent;color:var(--foreground);font-family:'Onest',sans-serif;font-size:16px;line-height:1.2;letter-spacing:.09em;text-transform:uppercase;cursor:pointer;transition:color .25s,background .25s,border-color .25s}
.button svg,.text-link svg,.order-link svg,.mega-intro svg{width:20px;height:20px;transition:transform .25s}
.button:hover{background:var(--foreground);border-color:var(--foreground);color:#fff}
.button:hover svg,.text-link:hover svg,.order-link:hover svg{transform:translateX(5px)}
.text-link{display:inline-flex;align-items:center;gap:14px;font-size:15px;border-bottom:1px solid #a7877f;padding-bottom:5px}
.text-link:hover{color:var(--primary)}

.swiss-header{height:126px;padding:0 4.5%;display:grid;grid-template-columns:1fr 240px 1fr;align-items:center;background:#fffdfb;position:sticky;top:0;z-index:100;border-bottom:1px solid transparent;transition:height .25s,border-color .25s}
.swiss-header.is-scrolled{height:92px;border-bottom-color:var(--border)}
.navigation{font-size:15px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.menu-list{display:flex;align-items:center;gap:23px;margin:0;padding:0;list-style:none}
.navigation .nav-link{font-size:15px}
.navigation .nav-link:hover{color:var(--primary)}
.swiss-brand{justify-content:center;align-items:center;width:142px;height:142px;margin:auto;display:flex;background-color:white;padding:20px;border-radius:70px;position:relative;z-index:3;transition:width .25s,height .25s,padding .25s}
.swiss-header.is-scrolled .swiss-brand{width:92px;height:92px;padding:13px}
.swiss-brand img{object-fit:contain}
.header-right{display:flex;align-items:center;justify-content:flex-end;gap:26px}
.order-link,.header-phone{font-size:15px;letter-spacing:.08em;text-transform:uppercase}
.order-link{display:flex;align-items:center;gap:9px;text-decoration:underline;text-underline-offset:6px}
.menu{display:none;width:38px;height:38px;padding:6px;border:0;background:transparent;cursor:pointer}
.menu span{display:block;height:1px;background:var(--foreground);margin:6px 0;transition:transform .2s}
.mega-wrap{position:static;display:flex;align-items:center;gap:6px}
.mega-toggle{display:block;border:0;background:transparent;padding:2px;color:inherit;cursor:pointer}
.mega-toggle span{display:block;font-size:18px;line-height:1;transition:transform .2s}
.mega-wrap.is-open .mega-toggle span{transform:rotate(45deg)}
.mega-menu{position:absolute;left:0;right:0;top:calc(100% - 1px);background:var(--background);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:30px 4.5%;display:grid;grid-template-columns:220px 1fr;gap:30px;text-transform:none;letter-spacing:0;opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .2s,visibility .2s,transform .2s}
.mega-wrap.is-open .mega-menu{opacity:1;visibility:visible;transform:none}
.mega-intro{padding:8px 35px 8px 0;border-right:1px solid var(--border)}
.mega-intro>small{font-size:11px;letter-spacing:.16em;color:#8d6965}
.mega-intro p{font-family:'Cormorant Garamond',serif;font-size:15px;line-height:1.45;margin:15px 0 28px;white-space:normal}
.mega-intro>a{display:inline-flex;gap:10px;align-items:center;font-size:13px;border-bottom:1px solid}
.mega-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px 14px;margin:0;padding:0;list-style:none}
.mega-card>a{display:grid;grid-template-columns:58px 1fr;column-gap:11px;align-items:center}
.mega-image{grid-row:1/3;width:58px;height:66px;overflow:hidden}
.mega-image img{transition:transform .35s}
.mega-card:hover .mega-image img{transform:scale(1.05)}
.mega-card-copy{display:flex;flex-direction:column;white-space:normal}
.mega-card strong{font-family:'Cormorant Garamond',serif;font-size:18px;font-weight:500;line-height:1.1}
.mega-card small{font-size:11px;color:#836f6a;line-height:1.35;margin-top:5px}

.swiss-home{position:relative}
.swiss-hero{position:sticky;top:92px;height:calc(100svh - 92px);min-height:620px;max-height:900px;overflow:hidden;background:#eadbd7;z-index:0}
.hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 1s,visibility 1s}
.hero-slide.is-active{opacity:1;visibility:visible}
.swiss-hero-image,.swiss-hero-shade{position:absolute;inset:0}
.swiss-hero-image img{object-position:center 67%;filter:saturate(.82) brightness(1.06);transform:scale(1.02);transition:transform 7s ease}
.hero-slide.is-active .swiss-hero-image img{transform:scale(1.08)}
.swiss-hero-shade{background:linear-gradient(90deg,rgba(31,17,20,.55),rgba(31,17,20,.08) 60%,rgba(31,17,20,.02))}
.swiss-hero-copy{position:absolute;left:7%;top:50%;transform:translateY(-50%);width:min(740px,80%);color:#fff}
.swiss-hero-copy .eyebrow{color:#fff;margin-bottom:26px}
.swiss-hero h1{font-size:clamp(4rem,6.5vw,7.2rem);line-height:.9;letter-spacing:-.035em}
.hero-script,.section-script,.signature{font-family:'Great Vibes',cursive;color:#f3b3c8;font-size:clamp(3rem,5vw,6rem);line-height:1;display:block}
.hero-script{margin:-4px 0 25px 42%}
.hero-button{color:#fff}
.hero-button:hover{background:#fff;border-color:#fff;color:var(--foreground)}

.occasions{padding:44px 6% 40px;background:var(--background);position:relative;z-index:2;text-align:center;border-bottom:1px solid var(--border)}
.occasions>p{font-size:16px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin-bottom:30px}
.occasion-grid{max-width:1200px;margin:auto;display:grid;grid-template-columns:repeat(6,1fr);gap:24px}
.occasion-grid div{display:flex;flex-direction:column;align-items:center;gap:12px;font-size:13px;text-transform:uppercase;letter-spacing:.05em}
.occasion-grid svg{width:40px;height:40px;color:var(--primary)}
.swiss-collection{z-index:2}
.center-heading{text-align:center;position:relative;margin-bottom:60px}
.center-heading h2{font-size:clamp(3.2rem,5.3vw,6rem)}
.center-heading .section-script{position:absolute;left:55%;bottom:-25px;transform:rotate(-8deg)}
.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.category-image{height:420px;position:relative;overflow:hidden;background:var(--muted)}
.category-image img{transition:transform .55s;filter:brightness(1.04)}
.category:hover img{transform:scale(1.04)}
.category-image b{position:absolute;right:14px;bottom:14px;width:46px;height:46px;display:flex;align-items:center;justify-content:center;background:var(--background);font-weight:400;border-radius:50%}
.category-image b svg{width:22px}
.category h3{margin:22px 0 8px;font-size:30px}
.category p{font-size:15px;color:#7b6662}

.swiss-story{display:grid;grid-template-columns:1fr 1fr;background:#f2e2df;position:relative;z-index:2}
.swiss-story-photo{min-height:720px}
.swiss-story-photo img{object-position:center 60%}
.swiss-story-content{padding:9% 12%;align-self:center;position:relative}
.swiss-story-content .section-script{margin:-25px 0 15px 35%}
.swiss-story-content p:not(.eyebrow){margin:22px 0;color:#675457}
.swiss-desserts{display:grid;grid-template-columns:.82fr 1.18fr;min-height:700px;background:var(--background);position:relative;z-index:2}
.dessert-copy{padding:10% 14%;align-self:center}
.dessert-copy p:not(.eyebrow){font-size:15px;margin:26px 0;color:#675457;max-width:510px}
.dessert-photo{min-height:700px;overflow:hidden}
.dessert-photo img{transition:transform .6s}
.dessert-photo:hover img{transform:scale(1.025)}

.benefits{padding:100px 6%;background:#f4e5e3;position:relative;z-index:2;text-align:center}
.benefits-copy{max-width:1450px;margin:auto}
.benefits-title{font-family:'Cormorant Garamond',Georgia,serif;margin-bottom:48px}
.benefits-copy ul{list-style:none;margin:0 auto 45px;padding:0;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid #cbaead;border-bottom:1px solid #cbaead}
.benefits-copy li{min-height:205px;padding:32px 22px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;border-right:1px solid #cbaead}
.benefits-copy li:last-child{border-right:0}
.benefits-copy li svg{width:47px;height:47px;color:var(--primary)}
.benefits-copy li span{font-size:15px;line-height:1.45}
.swiss-quote{padding:110px 6%;text-align:center;background:var(--background);position:relative;z-index:2}
.swiss-quote p{font-family:'Cormorant Garamond',serif;font-size:clamp(2.8rem,4.5vw,5rem);line-height:1.08}
.swiss-quote span{font-family:'Great Vibes',cursive;color:var(--primary);font-size:40px;display:block;margin-top:25px}
.swiss-contact-banner{height:690px;position:relative;z-index:2;color:#fff;display:grid;place-items:center;text-align:center;overflow:hidden}
.swiss-contact-banner>img{position:absolute;inset:0;filter:brightness(.65)}
.swiss-contact-banner:after{content:'';position:absolute;inset:0;background:rgba(38,20,23,.25)}
.swiss-contact-banner>div{position:relative;z-index:1}
.swiss-contact-banner .eyebrow{color:#fff}
.swiss-contact-banner .button{color:#fff;margin-top:34px}
.swiss-contact-banner .button:hover{background:#fff;border-color:#fff;color:var(--foreground)}

.page-intro{padding:100px 6% 80px;text-align:center;background:#f6e9e6}
.page-intro h1{font-size:clamp(3.5rem,6vw,6.4rem)}
.page-intro>p:last-child:not(.eyebrow){max-width:620px;margin:28px auto 0;color:#6f5c5f;font-size:15px}
.gallery-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 32px;padding:26px 6%;border-bottom:1px solid var(--border);font-size:15px}
.gallery-nav a{padding:4px 0}.gallery-nav [aria-current=page]{border-bottom:1px solid var(--primary);color:var(--primary)}
.gallery-section{padding-top:65px;padding-bottom:20px}
.gallery-group{margin-bottom:75px}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:38px}
.photos{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.photo-button{height:450px;border:0;background:var(--muted);padding:0;position:relative;overflow:hidden;cursor:zoom-in}
.photo-button img{transition:transform .4s}.photo-button:hover img{transform:scale(1.025)}
.photo-button span{position:absolute;right:15px;bottom:15px;width:44px;height:44px;border-radius:50%;background:var(--background);display:grid;place-items:center;font-size:22px}
.gallery-note{font-size:14px;color:#6f5c5f;margin-top:20px}
.lightbox{width:min(900px,94vw);max-height:94vh;border:1px solid var(--border);background:var(--background);padding:22px;color:var(--foreground)}
.lightbox::backdrop{background:rgba(32,22,24,.78)}
.lightbox img{max-height:75vh;object-fit:contain}.lightbox p{text-align:center;margin-top:10px}.lightbox-close{position:absolute;right:20px;top:18px;width:43px;height:43px;border:1px solid var(--foreground);background:var(--background);font-size:28px;z-index:2;cursor:pointer}
.story{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:80px 10%;align-items:center;background:var(--background)}
.story-image{height:650px}.story-image img{object-position:center 18%}
.story-copy p:not(.eyebrow){margin:23px 0;color:#6f5c5f}.story-copy h2{font-size:clamp(3rem,4.5vw,5rem)}
.signature{font-size:42px;margin-top:30px}
.cta{padding:100px 6%;text-align:center;background:var(--background)}
.cta p{margin:24px auto 28px;max-width:560px;color:#6f5c5f}
.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:12%;padding:85px 8%;max-width:1450px;margin:auto}
.contact-layout aside>p:not(.eyebrow){margin:24px 0 15px}.contact-big{display:block;font-family:'Cormorant Garamond',serif;font-size:38px;color:var(--primary)}
.address{margin:42px 0;padding:32px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.address p:not(.eyebrow){margin:0 0 16px}.contact-social{display:flex;gap:25px}
.form-intro{color:#6f5c5f;margin:20px 0 26px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-grid label{font-size:13px}.full{grid-column:1/-1}
input,textarea{display:block;width:100%;min-width:0;margin-top:7px;padding:14px;border:1px solid #c7aaa7;border-radius:0;background:transparent;color:var(--foreground);font-size:15px}textarea{resize:vertical}.form-help{font-size:12px;color:#6f5c5f;margin:20px 0}.content-page{min-height:45vh}
.file-label input{padding:11px;cursor:pointer}.file-label span{display:block;margin-top:8px;color:#6f5c5f;font-size:13px}.form-notice{margin:22px 0;padding:16px 18px;border:1px solid var(--border);font-size:15px}.form-notice.success{border-color:#789677;background:#f0f6ef}.form-notice.error{border-color:#b66d78;background:#fff0f1}.website-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}

.site-footer{position:relative;z-index:2;background:#fff;border-top:1px solid var(--border);padding:72px 5% 24px}
.footer-main{display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:7%;max-width:1500px;margin:auto;min-height:300px}
.footer-identity img{width:150px;height:150px;object-fit:contain;margin-bottom:22px}.footer-identity p{font-family:'Cormorant Garamond',serif;font-size:22px;line-height:1.35}
.footer-column h3{font-size:29px;margin-bottom:25px}.footer-column>a,.footer-column>p{display:block;font-size:15px;margin:0 0 10px;color:#66585a}.footer-column>a:hover{color:var(--primary)}
.footer-social{display:flex;gap:20px;margin-top:25px}.footer-social a{font-size:14px;border-bottom:1px solid}
.footer-bottom{max-width:1500px;margin:35px auto 0;padding-top:22px;border-top:1px solid var(--border);color:#776568}

.reveal-pending:not(.write-target){opacity:0;transform:translateY(24px)}
.reveal-done:not(.write-target){animation:ddReveal .7s var(--reveal-delay,0ms) both}
.ink-letter{display:inline-block;white-space:pre}
.write-target.reveal-pending .ink-letter{opacity:0;filter:blur(2px);transform:translateY(.18em)}
.write-target.reveal-done .ink-letter{animation:ddInk .46s calc(var(--reveal-delay,0ms) + var(--letter-index,0)*34ms) both}
@keyframes ddReveal{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes ddInk{from{opacity:0;filter:blur(2px);transform:translateY(.18em)}to{opacity:1;filter:none;transform:none}}

@media (hover:hover) and (min-width:901px){.mega-menu{pointer-events:none}.mega-wrap:hover .mega-menu,.mega-wrap:focus-within .mega-menu,.mega-wrap.is-open .mega-menu{opacity:1;visibility:visible;transform:none;pointer-events:auto}}
@media (max-width:1180px){.swiss-header{grid-template-columns:1fr 170px 1fr;padding-inline:3%}.header-phone{display:none}.mega-grid{grid-template-columns:repeat(3,1fr)}.category-image{height:340px}.swiss-story-photo{min-height:620px}.benefits-copy li{padding-inline:12px}}
@media (max-width:900px){body.admin-bar .swiss-header{top:46px}.swiss-header{height:92px;grid-template-columns:1fr auto;padding:9px 5%}.swiss-brand{grid-column:1;grid-row:1;width:74px;height:74px;margin:0;padding:0;background:transparent;border-radius:0}.header-right{grid-column:2;grid-row:1}.order-link{display:none}.menu{display:block}.navigation{display:none;position:absolute;left:0;right:0;top:100%;background:var(--background);padding:25px 6%;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.navigation.open{display:block}.navigation .menu-list{flex-direction:column;align-items:stretch;gap:0}.navigation .menu-list>li{width:100%}.navigation .nav-link{display:inline-block;padding:13px 0;font-size:15px}.mega-wrap{width:100%;display:grid;grid-template-columns:1fr auto}.mega-toggle{display:block;padding:10px 4px}.mega-menu{grid-column:1/-1;position:static;display:none;grid-template-columns:1fr;padding:10px 0 8px;border:0;opacity:1;visibility:visible;transform:none}.mega-wrap.is-open .mega-menu{display:grid}.mega-intro{display:none}.mega-grid{grid-template-columns:1fr 1fr}.swiss-hero{top:92px;height:calc(100svh - 92px);min-height:620px}.category-grid{grid-template-columns:1fr 1fr}.occasion-grid{grid-template-columns:repeat(3,1fr);row-gap:28px}.swiss-story,.swiss-desserts{grid-template-columns:1fr}.swiss-story-photo,.dessert-photo{min-height:520px}.swiss-story-content,.dessert-copy{padding:70px 8%}.benefits-copy ul{grid-template-columns:repeat(2,1fr)}.benefits-copy li:nth-child(even){border-right:0}.benefits-copy li:last-child{grid-column:1/-1;border-top:1px solid #cbaead}.footer-main{grid-template-columns:1fr 1fr;gap:45px 12%}.photos{grid-template-columns:1fr 1fr}.contact-layout{grid-template-columns:1fr;gap:60px}.story{grid-template-columns:1fr}.story-image{height:520px}.story-image img{object-position:center 18%}}
@media (max-width:600px){h1{font-size:3.4rem}h2{font-size:3rem}.button{font-size:16px;gap:18px;padding:13px 18px}.swiss-hero-copy{left:6%;width:88%}.swiss-hero h1{font-size:clamp(2.9rem,14vw,4.4rem);overflow-wrap:anywhere}.hero-script{margin-left:18%;font-size:3.5rem}.hero-button{max-width:94%;font-size:13px}.occasions{padding:35px 5%}.occasions>p{font-size:14px}.occasion-grid{grid-template-columns:repeat(2,1fr)}.section{padding:65px 6%}.center-heading{margin-bottom:45px}.category-grid{gap:28px 14px}.category-image{height:255px}.category h3{font-size:24px}.category p{font-size:13px}.swiss-story-photo,.dessert-photo{min-height:430px}.swiss-story-content,.dessert-copy{padding:58px 7%}.benefits{padding:65px 6%}.benefits-copy ul{grid-template-columns:1fr}.benefits-copy li,.benefits-copy li:nth-child(even),.benefits-copy li:last-child{grid-column:auto;border-right:0;border-top:1px solid #cbaead;min-height:160px}.benefits-copy li:first-child{border-top:0}.swiss-quote{padding:75px 7%}.swiss-contact-banner{height:580px}.page-intro{padding:65px 6% 55px}.gallery-nav{gap:10px 18px;font-size:13px}.section-heading{align-items:flex-start;flex-direction:column}.photos{grid-template-columns:1fr 1fr;gap:12px}.photo-button{height:275px}.story{padding:55px 7%;gap:40px}.story-image{height:430px}.contact-layout{padding:55px 7%}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.footer-main{grid-template-columns:1fr;gap:38px}.footer-identity img{width:125px;height:125px}.footer-bottom{align-items:flex-end;gap:25px}.footer-bottom small{max-width:230px}.mega-grid{grid-template-columns:1fr}.mega-image{width:65px;height:70px}.mega-card>a{grid-template-columns:65px 1fr}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}.reveal-pending,.ink-letter{opacity:1!important;transform:none!important;filter:none!important}}
