.collection-mobile-navigation{display:none}.rail-counter{text-align:center;min-width:46px;font:13px/1.5 var(--sans);font-variant-numeric:tabular-nums;color:var(--muted);align-self:center}@media (max-width:950px){.studio-experience :is(.hero-preview-link,.hero-bottom a,.text-link,.bespoke-note a,.invitation-footer nav a,.footer-bottom a,.template-actions a){align-items:center;min-height:44px;display:inline-flex}.experience-controls :is(button,a){min-height:44px}.experience-controls .back-to-top{width:44px;height:44px}}@media (max-width:767px){.studio-experience{--page-gutter:clamp(16px, 5vw, 24px);--section-gap:56px;font-size:16px}.studio-experience .section-width,.studio-experience .studio-header{width:calc(100% - 2 * var(--page-gutter))}.studio-experience h2{letter-spacing:-.7px;text-wrap:balance;font-size:clamp(30px,7.8vw,42px);line-height:1.18}.studio-experience .eyebrow{letter-spacing:.12em;font-size:11px;line-height:1.7}.studio-experience section[id]{scroll-margin-top:84px}.studio-experience :is(.text-link,.hero-preview-link,.hero-bottom a,.bespoke-note a){align-items:center;gap:12px;min-height:44px;font-size:14px;display:inline-flex}.studio-experience .button{min-height:48px;line-height:1.5}.atelier-note{letter-spacing:.02em;text-align:center;color:#67594f;justify-content:center;min-height:32px;padding:6px 12px;font-size:11px}.atelier-note>span:last-child{display:none}.studio-experience .studio-header{height:64px}.studio-experience .studio-header .brand{justify-content:center;min-height:44px}.studio-experience .studio-header .brand>span{font-size:23px}.studio-experience .studio-header .brand small{letter-spacing:4px;margin-top:5px;font-size:11px}.studio-experience .header-scrolled,.studio-experience .menu-open{width:100%;max-width:none;height:64px;padding-inline:var(--page-gutter);background:var(--ivory);-webkit-backdrop-filter:none;backdrop-filter:none;position:fixed;inset:0 0 auto}.studio-experience:has(:is(.header-scrolled,.menu-open)) #main{padding-top:64px}.studio-experience .menu-toggle{min-width:64px;padding:10px 0 10px 12px}.studio-header .menu-toggle{justify-content:center;align-items:center;gap:9px;display:inline-flex}.studio-header nav,.studio-experience .studio-header nav{overscroll-behavior:contain;visibility:hidden;opacity:0;pointer-events:none;max-height:calc(100dvh - 85px);transition:transform .32s cubic-bezier(.22,1,.36,1),opacity .22s,visibility 0s linear .32s;display:flex;overflow-y:auto;transform:translateY(-14px)}.studio-header nav.nav-open,.studio-experience .studio-header nav.nav-open{visibility:visible;opacity:1;pointer-events:auto;transition-delay:0s;transform:translateY(0)}.studio-header nav>a{opacity:0;transition:transform .26s cubic-bezier(.22,1,.36,1),opacity .18s;transform:translateY(10px)}.studio-header nav.nav-open>a{opacity:1;transition-delay:35ms;transform:translateY(0)}.studio-header nav.nav-open>a:nth-child(2){transition-delay:70ms}.studio-header nav.nav-open>a:nth-child(3){transition-delay:.105s}.studio-header nav.nav-open>a:nth-child(4){transition-delay:.14s}.studio-experience .studio-header nav,.studio-experience .header-scrolled nav{height:calc(100dvh - 64px);max-height:calc(100dvh - 64px);padding:24px var(--page-gutter) calc(24px + env(safe-area-inset-bottom));overscroll-behavior:contain;box-shadow:none;position:fixed;inset:64px 0 0;overflow-y:auto}.studio-experience .studio-header .nav-open{flex-direction:column;justify-content:flex-start;gap:16px}.studio-experience .studio-header nav>a:not(.button){min-height:56px;font:28px/1.3 var(--serif);border-bottom:1px solid var(--line)}.letter-hero-copy{padding-top:28px}.letter-hero h1{letter-spacing:-1.2px;margin:16px 0 18px;font-size:clamp(38px,10.3vw,64px);line-height:1.14}.hero-title-line{overflow:visible}.hero-description{max-width:36ch;padding:0;font-size:16px;line-height:1.75}.hero-actions{flex-direction:column;gap:8px;margin-top:22px}.hero-actions .button{justify-content:center;gap:20px;width:min(100%,340px);min-width:0;padding:14px 16px;font-size:14px}.letter-stage{aspect-ratio:1/1.08;width:100%;max-width:410px;height:auto;min-height:0;margin:18px 0 0;transform:none}.stage-composition{width:520px;height:585px;transform:translateX(-50%) scale(var(--stage-scale,.74));transform-origin:top;inset:0 auto auto 50%}.stage-edition,.stage-rose,.stage-petals{display:none}.hero-light-wash{height:100%;inset-inline:0}.letter-view{min-height:86px;margin-top:0;font-size:20px}.letter-small,.letter-date,.envelope-front>span{letter-spacing:1.2px;font-size:17px}.letter-names{font-size:31px}.letter-open .hero-letter{height:550px;transform:translate(-10px,-10px)rotate(1deg)}.wax-seal{width:86px;height:86px;left:213px}.hero-bottom{padding:4px 0 20px}.invitation-ribbon{min-height:54px;padding:14px var(--page-gutter);color:#68583f;gap:10px}.invitation-ribbon>span{font-size:16px}.template-section{padding-block:var(--section-gap) 40px}.collection-heading{margin-bottom:24px}.collection-heading>p{margin-top:16px;font-size:16px;line-height:1.75}.collection-heading>p br{display:none}.collection-toolbar{align-items:stretch;gap:12px;margin:24px 0 16px}.collection-filters{overscroll-behavior-x:contain;margin-inline:calc(-1 * var(--page-gutter));padding:4px var(--page-gutter);scrollbar-width:thin;scrollbar-color:#bca589 transparent;flex-wrap:nowrap;gap:8px;overflow-x:auto}.collection-filters button{white-space:nowrap;border-color:#dcd2c5;flex-shrink:0;align-items:center;min-height:44px;padding:10px 15px;font-size:14px;display:inline-flex}.collection-filters sup{font-size:12px}.collection-count{align-self:start;font-size:13px}.collection-mobile-navigation{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.collection-mobile-navigation>p{color:var(--muted);font-size:13px}.collection-mobile-navigation .review-controls{flex-direction:row;gap:8px;padding:0}.collection-mobile-navigation button{width:44px;height:44px}.template-grid{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:var(--page-gutter);margin-inline:calc(-1 * var(--page-gutter));padding:4px var(--page-gutter) 16px;scrollbar-width:thin;scrollbar-color:#bca589 #e9e1d5;grid-template-columns:none;grid-auto-columns:min(86%,340px);grid-auto-flow:column;gap:16px;overflow-x:auto}.template-card{scroll-snap-align:start;flex-direction:column;min-width:0;display:flex}.template-card .template-art{min-height:0;padding:42px 14px 20px}.template-card .mini-invitation{width:min(100%,230px);max-width:94%;padding:28px 28px 35px}.template-card .mini-kicker,.template-card .mini-date,.template-card .mini-signature,.template-edition{font-size:11px}.template-card .mini-kicker{letter-spacing:.06em}.template-card .mini-invitation h3{margin-block:8px 12px;font-size:27px;line-height:1.15}.template-card .mini-photo{height:118px}.template-card .template-open{color:#653d42;margin-top:20px;font-size:13px}.template-edition{color:#653d42}.template-info{align-items:flex-start;margin-top:20px}.template-info p{letter-spacing:.12em;font-size:11px;line-height:1.7}.template-info h3{font-size:28px;line-height:1.2}.template-swatch{margin-top:9px}.template-description{margin-block:10px 18px;font-size:16px;line-height:1.7}.template-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:auto;padding-top:12px;display:grid}.template-actions>a{border:1px solid #c9baa6;justify-content:center;gap:6px;min-height:48px;padding:8px;font-size:13px}.template-actions>a:last-child{background:var(--wine);border-color:var(--wine);color:#fff8ef}.bespoke-note{margin-top:24px;font-size:15px}.story-feature-photo{aspect-ratio:4/5;height:auto;max-height:480px}.story-feature-photo:after{content:"";pointer-events:none;background:linear-gradient(#0006,#0000 35%);position:absolute;inset:0}.story-feature-photo>span{z-index:1;top:20px;left:var(--page-gutter);right:var(--page-gutter);letter-spacing:.12em;font-size:11px}.story-feature-copy{padding:36px var(--page-gutter) 44px}.feature-flower{margin:18px 0;font-size:36px}.story-feature-copy>p:not(.eyebrow),.atelier-inner p:not(.eyebrow),.contact-inner>div>p:not(.eyebrow){max-width:40ch;padding-inline:0;font-size:16px;line-height:1.8}.story-feature-copy>p:not(.eyebrow),.contact-inner>div>p:not(.eyebrow),.contact-inner .contact-form .fine-print{color:#6b594f}.feature-details b,.step-number{color:#80623e}.feature-details{gap:16px;font-size:14px}.feature-details>span{gap:12px;display:flex}.feature-details b{margin:0}.story-feature-copy .text-link{margin-top:24px}.how-section,.faq-section{padding-block:var(--section-gap)}.invitation-steps{gap:24px}.invitation-steps li{grid-template-columns:42px minmax(0,1fr);align-items:baseline;column-gap:14px;padding-top:20px;display:grid}.invitation-steps li>div{grid-row:1/3;margin:0}.step-number{font-size:32px;line-height:1.2}.step-icon{display:none}.invitation-steps h3{margin-bottom:10px;font-size:27px;line-height:1.2}.invitation-steps p{grid-column:2;font-size:16px;line-height:1.75}.atelier-inner{gap:28px;padding-block:44px}.atelier-monogram{width:132px;height:148px}.atelier-monogram>span{letter-spacing:-16px;padding-right:16px;font-size:66px}.atelier-monogram small{letter-spacing:0;font-size:11px}.customer-reviews{padding-block:var(--section-gap) 40px}.reviews-heading{flex-wrap:wrap;gap:18px}.review-controls{flex-direction:row;align-items:center;padding:0}.reviews-description,.customer-review blockquote{font-size:16px;line-height:1.8}.reviews-rail{scroll-padding-inline:var(--page-gutter);margin-inline:calc(-1 * var(--page-gutter));padding-inline:var(--page-gutter);grid-auto-columns:min(88%,340px);gap:16px}.customer-review{padding:20px}.review-card-top{letter-spacing:.1em;font-size:11px}.faq-section{gap:24px}.faq-list summary{gap:16px;min-height:56px;padding-block:18px;font-size:16px;line-height:1.6}.faq-list summary>span{flex-shrink:0}.faq-answer p{padding-right:0;font-size:16px;line-height:1.8}.invitation-contact{padding-block:44px}.contact-inner{gap:28px}.contact-handwriting{margin-top:18px}.contact-inner .contact-form,.contact-inner .contact-form .button{width:100%;max-width:none}.contact-inner :is(input,textarea){min-height:48px;scroll-margin-block:90px 120px}.contact-inner .fine-print{font-size:13px;line-height:1.7}.invitation-footer{gap:24px;padding-block:36px 24px}.invitation-footer>div:first-child{flex-direction:column;gap:20px}.invitation-footer .brand{min-height:44px}.invitation-footer>nav{gap:8px;width:100%;display:grid}.invitation-footer a:not(.brand){align-items:center;gap:8px;min-height:44px;display:flex}.footer-bottom{gap:12px;display:grid}.footer-bottom>p{font-size:13px!important}.experience-controls{width:calc(100% - 2 * var(--page-gutter));padding:16px 0 calc(24px + env(safe-area-inset-bottom));border-top:1px solid var(--line);flex-wrap:wrap;gap:8px;margin:0 auto;position:static}.experience-controls button,.experience-controls .back-to-top{-webkit-backdrop-filter:none;backdrop-filter:none;background:#faf6ef;min-height:44px;font-size:13px}.experience-controls .back-to-top{visibility:visible;width:44px;height:44px}.motion-settings-panel{left:0;right:auto}.sample-toolbar{gap:8px 16px;padding:12px 16px}.sample-toolbar>a{align-items:center;min-height:44px;display:inline-flex}.sample-toolbar .brand{align-items:flex-start;display:flex}.invitation-experience .invitation-cover{min-height:0;padding:16px}.invitation-experience .cover-inner{min-height:min(640px,100svh - 130px);padding:52px 13% 76px}.invitation-experience .cover-inner h1{overflow-wrap:anywhere;word-break:normal;font-size:clamp(38px,11vw,56px);line-height:1.15}.invitation-experience .cover-inner .eyebrow{font-size:11px;line-height:1.7}.invitation-experience .cover-inner small{font-size:12px}.wedding-invitation:not(.invitation-compact){--paper-gutter:clamp(18px, 5.5vw, 28px);padding:0}.wedding-invitation:not(.invitation-compact) .invitation-front{padding:56px 13% 76px}.wedding-invitation:not(.invitation-compact) h1{overflow-wrap:anywhere;word-break:normal;font-size:clamp(40px,11vw,64px);line-height:1.15}.wedding-invitation:not(.invitation-compact) h2{text-wrap:balance;font-size:clamp(30px,8vw,42px);line-height:1.2}.wedding-invitation:not(.invitation-compact) p{font-size:16px;line-height:1.8}.wedding-invitation:not(.invitation-compact) .eyebrow{letter-spacing:.12em;font-size:11px;line-height:1.7}.wedding-invitation:not(.invitation-compact) .wedding-date{letter-spacing:1px;font-size:14px}.wedding-invitation .wedding-date>span{padding-inline:4px}.wedding-invitation .invitation-countdown{justify-content:center;gap:8px}.wedding-invitation .invitation-countdown>div{flex:1;min-width:0}.wedding-invitation .invitation-countdown strong{font-size:32px}.wedding-invitation :is(.event-map-link,.attendance-options label,.button,.rsvp-success button){min-height:48px}.wedding-invitation :is(input:not([type=radio]),select,textarea){min-height:48px;scroll-margin-block:40px 100px}.wedding-invitation:not(.invitation-compact) .wedding-footer{padding-bottom:calc(40px + env(safe-area-inset-bottom))}}@media (max-width:430px){.letter-stage{--stage-scale:.7}}@media (max-width:400px){.letter-stage{--stage-scale:.64}}@media (max-width:375px){.letter-stage{--stage-scale:.6}}@media (max-width:359px){.letter-stage{--stage-scale:.52}.letter-hero h1{font-size:34px}.letter-hero .eyebrow{letter-spacing:.03em;font-size:11px}.collection-mobile-navigation{gap:8px}.collection-mobile-navigation>p{max-width:100px}.template-actions{grid-template-columns:1fr}}
.showcase-section{background:radial-gradient(at 50% 45%,#fffdf7 0,#f3ece1 48%,#0000 75%);padding-bottom:46px;overflow:clip}.showcase-section>.collection-heading{text-align:center;flex-direction:column;align-items:center;gap:18px;margin-bottom:4px}.showcase-section .collection-heading h2{font-size:clamp(34px,3.6vw,52px)}.showcase-section .collection-heading h2 br{display:none}.showcase-section .collection-heading h2 em:before{content:" "}.showcase-section .collection-heading>p{max-width:580px;padding:0}.invitation-showcase{max-width:1600px;margin-inline:auto;container-type:inline-size}.showcase-stage{--spread:min(19cqw, 230px);--card-drop:24px;--card-turn:20deg;isolation:isolate;perspective:1400px;touch-action:pan-y pinch-zoom;height:530px;position:relative}.showcase-plane{transform-style:preserve-3d;pointer-events:none;position:absolute;inset:0}.showcase-card{width:clamp(240px,22vw,286px);transform:translate3d(calc(var(--side) * (var(--spread) + max(0, var(--depth) - 1) * var(--spread) * .66)), calc(var(--depth) * var(--card-drop)), calc(var(--depth) * -90px)) rotateY(calc(var(--side) * -1 * (var(--card-turn) + var(--depth) * 6deg))) rotateZ(calc(var(--offset) * 3.5deg)) scale(calc(1 - var(--depth) * .09));opacity:1;pointer-events:auto;margin-top:calc(clamp(240px,22vw,286px)/-1.33333);margin-left:calc(clamp(240px,22vw,286px)/-2);position:absolute;top:50%;left:50%}.invitation-showcase[data-showcase-entrance=pending] .showcase-card{transform:translate3d(calc(var(--side) * 18px), 34px, -90px) rotateY(0deg) rotateZ(calc(var(--side) * 2deg)) scale(.94)}.showcase-float{border-radius:7px;position:relative;box-shadow:0 25px 35px -17px #39231760,0 3px 7px #39231717}.showcase-card .mini-invitation{aspect-ratio:2/3;width:100%;max-width:none;box-shadow:none;background:var(--invite-art-background);border-radius:7px;margin:0;padding:35px 36px 45px;transition:none;transform:none}.showcase-card .mini-invitation h3{font-size:31px}.showcase-card .mini-photo{height:142px}.showcase-card .mini-kicker{font-size:8px}.showcase-card .mini-date{font-size:9px}.showcase-select{cursor:pointer;background:0 0;border:1px solid #fff6;border-radius:7px;width:100%;position:absolute;inset:0}.showcase-select:after{content:"";border-radius:inherit;opacity:0;background:linear-gradient(110deg,#fff0 22%,#fff4 46%,#fff0 62%);transition:opacity .4s;position:absolute;inset:0}.showcase-select:hover:after{opacity:1}.showcase-orbit{pointer-events:none;border:1px solid #b9a17a29;border-radius:50%;width:82%;height:76%;position:absolute;top:13%;left:9%;transform:rotate(-9deg)}.showcase-orbit>span{letter-spacing:3px;color:#8b7354;background:#f8f3eb;padding:8px 13px;font-size:9px;position:absolute;top:4%;right:5%;transform:rotate(9deg)}.showcase-orbit>i{font:normal 30px var(--serif);color:#a58a5d;position:absolute;bottom:12%;left:5%}.showcase-ground{pointer-events:none;background:radial-gradient(#7151311f,#0000 67%);border-radius:50%;width:52%;height:65px;position:absolute;bottom:45px;left:24%}.showcase-arrow{z-index:20;width:48px;height:48px;color:var(--wine);background:#fffcf5ee;border:1px solid #c4af9380;border-radius:50%;font-size:23px;transition:background .2s,color .2s;position:absolute;top:calc(50% - 24px);box-shadow:0 5px 15px #57402d10}.showcase-arrow:hover{background:var(--wine);color:#fff9ef}.showcase-prev{left:max(24px,50% - 650px)}.showcase-next{right:max(24px,50% - 650px)}.showcase-caption{justify-content:center;align-items:center;gap:25px;width:min(540px,100% - 40px);min-height:76px;margin:0 auto;display:flex}.showcase-counter{color:var(--wine);font:30px var(--serif);font-variant-numeric:tabular-nums}.showcase-counter i{color:#807264;font:normal 13px var(--sans)}.showcase-caption>div{border-left:1px solid #c7b79c;flex:1;padding-left:23px}.showcase-caption p{color:#776450;margin-bottom:5px;font-size:11px}.showcase-caption h3{color:var(--wine);font-size:27px}.showcase-caption>a{white-space:nowrap;border-bottom:1px solid #b39a79;align-items:center;gap:10px;min-height:44px;font-size:12px;display:inline-flex}.showcase-dots{justify-content:center;margin:12px auto 22px;display:flex}.showcase-dots button{background:0 0;border:0;place-items:center;width:34px;height:44px;padding:6px;display:grid}.showcase-dots span{background:#b9ac9a;border-radius:20px;width:6px;height:6px;transition:width .3s,background .3s;display:block}.showcase-dots [aria-pressed=true] span{background:var(--wine);width:24px}.showcase-cta{text-align:center}.showcase-cta .button{gap:28px;min-height:56px;padding-inline:30px}.showcase-cta p{font:italic 18px var(--serif);color:#786652;margin-top:13px}.showcase-section>.bespoke-note{padding-inline:20px}.catalog-main{padding-block:20px 65px}.catalog-back{min-height:44px;color:var(--wine);align-items:center;font-size:14px;font-weight:600;display:inline-flex}.catalog-heading{text-align:center;padding-block:12px 28px}.catalog-heading h1{margin:0 0 12px;font-size:clamp(32px,4vw,48px);font-weight:600}.invitation-catalog .bespoke-note a{font-weight:600}.catalog-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;padding-block:30px;display:flex}.catalog-footer>a:last-child{align-items:center;gap:16px;min-height:44px;font-weight:600;display:inline-flex}.invitation-catalog .catalog-grid{scroll-snap-type:none;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-columns:auto;grid-auto-flow:row;gap:48px 32px;margin:0;padding:0;display:grid;overflow:visible}.catalog-grid .template-card{min-width:0}.catalog-card-caption{padding:16px 1px 0}.catalog-card-category{color:#7a6452;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:4px;font-size:11px}.catalog-card-caption h2{color:var(--ink);font-size:clamp(21px,2.1vw,28px);font-weight:600;line-height:1.2}.catalog-card-caption button{min-height:44px;color:var(--wine);background:0 0;align-items:center;gap:14px;padding:4px 0;font-size:13px;display:inline-flex}.catalog-card-caption button:hover{text-underline-offset:4px;text-decoration:underline}.catalog-grid .template-card .template-art{aspect-ratio:9/16;border-radius:8px;min-height:0;padding:0;box-shadow:0 3px 10px #39231714;container-type:inline-size}.catalog-grid .template-art:focus-visible{outline:2px solid var(--template-accent);outline-offset:4px}.invitation-catalog .template-card .mini-invitation{width:100%;max-width:none;height:100%;box-shadow:none;border-radius:0;padding:12% 13% 16%;transition:none;transform:none}.catalog-grid .template-card .mini-ornament{margin-bottom:2cqw;font-size:10cqw}.catalog-grid .template-card .mini-kicker{letter-spacing:.08em;font-size:3cqw}.catalog-grid .template-card .mini-invitation h3{margin:4cqw 0 5cqw;font-size:11cqw;line-height:1.1}.catalog-grid .template-card .mini-invitation h3 em{margin-block:1cqw;font-size:7cqw}.catalog-grid .template-card .mini-photo{height:48cqw}.catalog-grid .template-card .mini-date{letter-spacing:.08em;margin-top:5cqw;font-size:3.5cqw}.catalog-grid .template-card .mini-signature,.invitation-catalog .template-card .template-art:before{display:none}@media (min-width:1024px){.invitation-catalog .catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:56px 48px}}@media (min-width:768px) and (max-width:1100px){.studio-experience:has(.invitation-showcase) .experience-controls{flex-wrap:wrap;width:calc(100% - 48px);margin:24px auto;position:static}}@media (max-width:767px){.showcase-section>.collection-heading{margin-bottom:0}.showcase-stage{--spread:min(44cqw, 230px);--card-drop:17px;--card-turn:14deg;height:415px}.showcase-card{width:220px;margin-top:-165px;margin-left:-110px}.showcase-card .mini-invitation{padding:28px 28px 35px}.showcase-card .mini-invitation h3{margin-block:8px 12px;font-size:27px}.showcase-card .mini-photo{height:118px}.showcase-card .mini-ornament{font-size:23px}.showcase-card .mini-date{margin-top:12px}.showcase-arrow{width:44px;height:44px;top:calc(50% - 22px)}.showcase-prev{left:12px}.showcase-next{right:12px}.showcase-orbit{width:135%;height:65%;top:20%;left:-17.5%}.showcase-orbit>span{display:none}.showcase-caption{gap:12px;min-height:85px}.showcase-caption>div{padding-left:12px}.showcase-caption h3{font-size:23px}.showcase-counter{font-size:27px}.showcase-counter i{font-size:11px}.showcase-caption>a{gap:6px;font-size:13px}.showcase-cta{padding-inline:20px}.showcase-cta .button{justify-content:center;width:min(100%,340px);font-size:14px}.showcase-cta p{font-size:16px}.catalog-main{padding-block:15px 40px}.catalog-heading{padding-block:16px 24px}.invitation-catalog .catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}.catalog-card-caption{padding-top:12px}.catalog-card-caption h2{font-size:21px}.catalog-heading h1{font-size:clamp(32px,8.5vw,42px)}.catalog-footer{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){.invitation-showcase *,.invitation-showcase :after{transition:none!important}}
.partner-page{color:#30282a;background:#f5efe7;min-height:100vh}.partner-header-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:clamp(120px,18vw,240px);display:block;overflow:hidden}.studio-header .nav-open .partner-header-name{max-width:calc(100vw - 140px)}.partner-login-notice{z-index:100;top:max(144px, env(safe-area-inset-top));right:max(20px, env(safe-area-inset-right));color:#30282a;background:#fcf9f4;border:1px solid #d8cbc0;border-left:3px solid #45694e;align-items:flex-start;gap:12px;width:min(420px,100vw - 32px);padding:16px;font-size:14px;line-height:1.5;display:flex;position:fixed;box-shadow:0 8px 28px #30282a1a}.partner-login-notice>div{overflow-wrap:anywhere;flex:1;min-width:0}.partner-login-notice strong{font-weight:600}.partner-login-notice p{color:#675853;margin:4px 0 0}.partner-login-check{color:#45694e;font-size:20px}.partner-login-notice button{color:#753b46;cursor:pointer;background:0 0;border:0;flex:0 0 44px;min-height:44px;margin:-8px -8px -8px 0;font-size:24px}.partner-login-notice button:focus-visible{outline-offset:2px;outline:2px solid #753b46}.partner-top{border-bottom:1px solid #d8cbc0;justify-content:space-between;align-items:center;gap:20px;padding:24px clamp(20px,5vw,80px);display:flex}.partner-top>a:last-child{font-size:14px}.partner-auth-layout{grid-template-columns:1fr 1fr;align-items:start;gap:clamp(32px,8vw,120px);max-width:1240px;margin:auto;padding:72px 32px 100px;display:grid}.partner-auth-layout h1{font-family:var(--serif);margin:24px 0;font-size:clamp(40px,5vw,68px);font-weight:500;line-height:1.12}.partner-auth-layout h1 em{color:#7b3747}.partner-auth-layout>div>p:last-child{color:#675853;max-width:420px;line-height:1.8}.partner-auth-panel{background:#fcf9f4;border:1px solid #d8cbc0;padding:clamp(24px,3vw,40px)}.partner-auth-panel h2{font-family:var(--serif);margin:0 0 24px;font-size:30px}.partner-form{gap:18px;display:grid}.partner-form label{margin-bottom:7px;font-size:14px;display:block}.partner-form input{width:100%;min-width:0;min-height:48px;font:inherit;color:inherit;background:#fffdf9;border:1px solid #bcaaa0;border-radius:0;padding:12px 14px}.partner-form input[aria-invalid=true]{border-color:#9a3046}.partner-password{align-items:center;gap:8px;display:flex}.partner-password input{flex:1}.partner-password button{width:48px;min-height:48px;color:inherit;font:inherit;cursor:pointer;background:#fffdf9;border:1px solid #bcaaa0;flex:none;place-items:center;padding:8px;font-size:13px;display:grid}.partner-recovery-toggle{width:44px;min-height:44px;color:inherit;font:inherit;cursor:pointer;background:#fffdf9;border:1px solid #bcaaa0;justify-self:start;place-items:center;padding:8px 12px;font-size:14px;display:grid}.partner-form .fine-print{color:#675853;margin:6px 0 0}.partner-form .field-error:empty,.partner-actions p:empty,.template-choice-notice:empty{display:none}.partner-form>a{text-underline-offset:4px;font-size:14px}.partner-confirmation{line-height:1.8}.partner-confirmation .button{margin-top:20px}.partner-dashboard{max-width:1240px;margin:auto;padding:48px 32px 100px}.partner-dashboard h1{font:500 clamp(32px, 5vw, 52px)/1.2 var(--serif);overflow-wrap:anywhere;margin:16px 0}.partner-dashboard>p{overflow-wrap:anywhere}.partner-status{background:#e9ded1;margin-top:16px;padding:6px 12px;font-size:14px;display:inline-block}.partner-status-approved{color:#285b37;background:#e1e9db}.partner-status-suspended,.partner-status-rejected{color:#833247;background:#f1dfe2}.partner-actions{flex-wrap:wrap;align-items:center;gap:20px;margin:24px 0 48px;display:flex}.partner-actions p{flex-basis:100%}.partner-status-message{max-width:650px;margin-top:24px;line-height:1.8}.partner-section-heading{border-top:1px solid #d8cbc0;justify-content:space-between;align-items:center;gap:20px;padding:24px 0;display:flex}.partner-section-heading h2{font:500 34px/1.2 var(--serif);margin:0 0 8px}.partner-section-heading p,.partner-invitations article>p{color:#675853;font-size:14px}.partner-invitations{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.partner-invitations article{overflow-wrap:anywhere;border-top:1px solid #d8cbc0;min-width:0;padding:24px 0}.partner-invitations h3{font:500 28px/1.3 var(--serif);margin:12px 0}.partner-invitations article>div{flex-wrap:wrap;align-items:center;gap:20px;margin-top:24px;display:flex}.partner-empty{padding:36px 0;line-height:1.8}.partner-empty h3{font:500 28px/1.3 var(--serif)}.partner-pagination{justify-content:center;gap:24px;margin-top:36px;display:flex}.template-choice{position:relative}.template-mobile-actions{align-items:start}.template-mobile-actions .template-choice>.button{width:100%}.template-choice-notice{overflow-wrap:anywhere;max-width:360px;margin-top:8px;font-size:13px;line-height:1.5;display:block}.sample-toolbar .template-choice-notice{background:#fcf9f4;border:1px solid #d8cbc0;width:min(320px,85vw);padding:12px;position:absolute;right:0;box-shadow:0 6px 20px #30282a1a}.partner-page :is(a,button,input):focus-visible{outline-offset:4px;outline:3px solid #a76c7d}.partner-page button:disabled{opacity:.6;cursor:wait}@media (max-width:900px){.partner-auth-layout{gap:32px;padding:48px 24px}.partner-invitations{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:768px) and (max-width:950px){:is(.studio-experience,.invitation-catalog) .studio-header{gap:16px}:is(.studio-experience,.invitation-catalog) .studio-header nav{gap:12px;font-size:13px}:is(.studio-experience,.invitation-catalog) .studio-header .button{margin-left:0;padding:10px;font-size:13px;display:inline-flex}.studio-header .partner-header-name{max-width:144px}}@media (max-width:640px){.partner-login-notice{top:max(100px, env(safe-area-inset-top))}.partner-top{flex-wrap:wrap;padding:18px 20px}.partner-auth-layout{grid-template-columns:1fr;padding:36px 20px 64px}.partner-auth-layout h1{margin:16px 0}.partner-dashboard{padding:36px 20px 64px}.partner-invitations{grid-template-columns:1fr;gap:8px}.partner-section-heading{flex-direction:column;align-items:start}.partner-actions{gap:16px}}.partner-share-link{background:#fbf8f3;border:1px solid #e2d6ca;border-radius:6px;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:12px;padding:8px 10px;font-size:13px;display:flex}.partner-share-link a{min-width:0;color:var(--wine);overflow-wrap:anywhere;flex:180px}.partner-share-link button{min-height:32px;color:var(--wine);white-space:nowrap;background:#fff;border:1px solid #ccb8ba;border-radius:4px;padding:4px 10px;font-size:12px}.partner-share-link [role=alert]{color:#9b2c2c;flex-basis:100%;margin:0}.partner-published{background:#f1f8f2;border:1px solid #b9d6bf;border-radius:8px;margin-bottom:28px;padding:20px 22px}.partner-published h3{font:500 26px/1.3 var(--serif);margin:8px 0 4px}.partner-published .partner-share-link{background:#fff;max-width:640px}.partner-invitations article[data-new]{background:#f6fbf6;border-top:3px solid #4f8a5b;padding-inline:14px}.partner-retention{color:#7d6a57;margin-top:8px;font-size:12px}.partner-retention[data-stage=notice]{color:#7a4a12;background:#fff7ea;border:1px solid #f0c48a;border-radius:6px;justify-items:start;gap:8px;padding:10px 12px;font-size:13px;display:grid}.partner-retention [role=alert]{color:#9b2c2c;margin:0}.retention-policy{color:#655446;border-inline-start:2px solid #b69a77;margin-block:20px;padding-inline-start:16px;font-size:14px;line-height:1.7}.retention-policy>strong{color:#413326}.retention-policy>p{margin-block:8px 0}.partner-filters{background:#fcf9f4;border:1px solid #d8cbc0;grid-template-columns:1.5fr 1fr 1fr 1.4fr;gap:16px;margin-block:24px;padding:20px;display:grid}.partner-filters>div{min-width:0}.partner-filters label{margin-bottom:8px;font-size:14px;display:block}.partner-filters input,.partner-filters select{width:100%;min-width:0;min-height:44px;color:inherit;font:inherit;background:#fffdf9;border:1px solid #bcaaa0;padding:10px;font-size:14px}.partner-filter-actions,.partner-feedback-links{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.partner-filters .partner-filter-actions,.partner-filters .fine-print{grid-column:1/-1}.partner-filters .fine-print{color:#675853;margin:0;line-height:1.6}.partner-feedback h1,.partner-invitations h3{overflow-wrap:anywhere}.partner-feedback-links{margin-block:24px 40px}.partner-feedback-links a{text-underline-offset:4px;padding-block:10px;text-decoration:underline}.partner-feedback section{margin-block:36px;scroll-margin-top:24px}.partner-feedback-summary{border-block:1px solid #d8cbc0;grid-template-columns:repeat(4,1fr);gap:16px;padding-block:24px;display:grid}.partner-feedback-summary dt{color:#675853;font-size:14px}.partner-feedback-summary dd{font:500 38px/1.1 var(--serif);margin:8px 0 0}.partner-event-totals{padding-left:20px;line-height:1.8}.partner-table-scroll{background:#fcf9f4;border:1px solid #d8cbc0;max-width:100%;margin-top:24px;overflow-x:auto}.partner-response-table{border-collapse:collapse;text-align:left;width:100%;min-width:680px;font-size:14px}.partner-response-table caption{text-align:left;color:#675853;padding:14px}.partner-response-table th,.partner-response-table td{vertical-align:top;overflow-wrap:anywhere;border-top:1px solid #d8cbc0;max-width:300px;padding:16px}.partner-response-table thead{background:#eee4d8}.partner-response-table small{color:#675853;margin-top:6px;font-weight:400;display:block}.partner-response-table td p,.partner-wishes article>p{white-space:pre-wrap;overflow-wrap:anywhere}.partner-response-table td p{margin:0 0 12px}.partner-wishes article{border-top:1px solid #d8cbc0;padding-block:24px}.partner-wishes article>header{flex-wrap:wrap;justify-content:space-between;gap:16px;display:flex}.partner-wishes h3{overflow-wrap:anywhere;margin:0 0 6px}.partner-wishes time,.partner-wishes header>span{color:#675853;font-size:13px}.partner-wish-control p:empty{display:none}.partner-wish-control [role=alert],.partner-csv-control [role=alert]{color:#9b2c2c;font-size:14px}.partner-csv-control .button{white-space:normal}@media (max-width:1024px){.partner-filters{grid-template-columns:1fr 1fr}}@media (max-width:600px){.partner-filters{grid-template-columns:1fr;padding:16px}.partner-feedback-summary{grid-template-columns:1fr 1fr;gap:24px 16px}}
.wedding-invitation .has-section-photo{isolation:isolate;color:#fff;padding-inline:clamp(14px,4vw,32px);position:relative}.has-section-photo>.section-background-image{z-index:-1;object-fit:cover;object-position:center 40%;filter:brightness();pointer-events:none;transition:filter .9s}.has-section-photo[data-photo-revealed]>.section-background-image,.has-section-photo:focus-within>.section-background-image{filter:brightness(.36)}.wedding-invitation .has-section-photo>:is(h2,p,small,span){color:#fff}.wedding-invitation .has-section-photo>.button{color:#263d32;background:#fff;border-color:#fff}.wedding-invitation .has-section-photo>.button:focus-visible{outline-offset:5px;outline:2px solid #fff}.wedding-invitation .has-section-photo>.rsvp-form{background:var(--invite-background);color:var(--invite-accent);padding:24px}.wedding-invitation .countdown-photo{margin:30px 0 40px}.wedding-invitation .countdown-photo.has-section-photo{align-items:end;min-height:280px;padding:24px;display:flex}.wedding-invitation .countdown-photo>.invitation-countdown{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(6px,2vw,16px);width:min(100%,430px);min-height:0;margin:0 auto;display:grid}.wedding-invitation .countdown-photo .invitation-countdown>div{aspect-ratio:1;background:color-mix(in srgb, var(--invite-accent) 10%, var(--invite-background));border:0;border-radius:5px;flex-direction:column;justify-content:center;align-items:center;min-width:0;padding:8px 4px;display:flex}.wedding-invitation .countdown-photo .invitation-countdown strong{font-variant-numeric:lining-nums tabular-nums;max-width:100%;font-size:clamp(26px,5vw,44px)}.wedding-invitation .countdown-photo .invitation-countdown span{letter-spacing:1px;font-size:11px}.wedding-invitation .countdown-photo .invitation-countdown>span{grid-column:1/-1}.wedding-invitation .countdown-photo.has-section-photo .invitation-countdown>div{background:#00000075}.wedding-invitation .has-section-photo.countdown-photo .countdown-arrived{background:#00000075;width:100%;margin:0;padding:16px}.background-photo-editor{border:1px solid var(--line,#d7cab7);min-width:0;margin:24px 0;padding:16px}.background-photo-editor legend{font-size:14px;font-weight:600}.background-photo-preview{height:140px;margin:12px 0;position:relative}.background-photo-preview img,.background-photo-choices img{object-fit:cover}.background-photo-auto{z-index:1;color:#fff;background:#18181bcc;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600;position:absolute;top:8px;left:8px}.background-photo-choices{grid-template-columns:repeat(auto-fill,minmax(48px,1fr));gap:8px;margin-block:12px;display:grid}.background-photo-choices button{aspect-ratio:1;cursor:pointer;background:0 0;border:2px solid #0000;min-width:44px;padding:0;position:relative}.background-photo-choices button[aria-pressed=true]{outline:2px solid var(--wine);outline-offset:2px}@media (max-width:600px){.wedding-invitation .countdown-photo.has-section-photo{min-height:200px;padding:14px}.wedding-invitation .countdown-photo .invitation-countdown span{letter-spacing:.5px;margin-top:6px;font-size:10px}}.wedding-invitation.invitation-compact .countdown-photo.has-section-photo{min-height:200px;padding:14px}@media (prefers-reduced-motion:reduce){.has-section-photo>.section-background-image{filter:brightness(.36);transition:none}}
.portrait-invitation{--portrait-name-size:5.2cqi;isolation:isolate;aspect-ratio:2/3;background:var(--invite-art-background);width:100%;min-width:0;color:var(--invite-art-ink);text-align:center;position:relative;overflow:hidden;container-type:inline-size}.portrait-invitation>.template-artwork{object-fit:cover}.portrait-copy{z-index:1;padding:10% 7% 0;position:relative}.portrait-invitation .portrait-kicker{font:400 2.3cqi/1.7 var(--serif);letter-spacing:.22em;color:inherit;overflow-wrap:anywhere;margin:0 0 5%}.portrait-invitation .portrait-names{font:500 5.2cqi/1.35 var(--serif);text-transform:uppercase;overflow-wrap:anywhere;color:inherit;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:4%;margin:0;display:grid}.portrait-invitation .portrait-names em{font:400 11cqi/1.2 var(--serif);margin:0;display:block}.portrait-photo{z-index:1;border-radius:48% 48% 0 0;width:70%;height:64%;position:absolute;top:28%;left:15%;overflow:hidden}.portrait-photo img{object-fit:cover;object-position:50% 35%}.portrait-photo[data-trim-sample-border=true] img{transform:scale(1.1)}.portrait-invitation .portrait-signature{z-index:1;font:italic 2.5cqi/1.5 var(--serif);letter-spacing:.04em;color:inherit;margin:0;position:absolute;inset:auto 10% 3%}.portrait-vom-xanh{background:#faf4e8;border-bottom:2px solid #244a36}.portrait-vom-xanh>.template-artwork{clip-path:ellipse(35% 100% at 50% 0);object-fit:cover;object-position:top;max-width:none;width:220%!important;height:55%!important;left:-60%!important}.portrait-vom-xanh .portrait-photo{width:62%;height:64%;top:29%;left:19%}.portrait-vom-xanh .portrait-signature{color:#244a36}.portrait-song-yen .portrait-copy{padding-top:4%}.portrait-song-yen>.template-artwork{object-fit:cover;height:90%!important;top:10%!important}.portrait-song-yen .portrait-kicker{margin-bottom:3%}.portrait-song-yen .portrait-names{--portrait-name-size:4.7cqi;align-items:start}.portrait-song-yen .portrait-photo{border:.65cqi solid #e6c58c;border-radius:14% 14% 12% 12%/10% 10% 9% 9%;width:76%;height:62%;top:30%;left:12%;box-shadow:0 0 0 .5cqi #850f24,0 0 0 .7cqi #e6c58c}.portrait-sen-ngoc .portrait-copy{padding:12% 17% 0}.portrait-sen-ngoc .portrait-kicker{margin-bottom:4%;font-size:2.1cqi}.portrait-sen-ngoc .portrait-names{--portrait-name-size:7.2cqi;flex-direction:column;align-items:stretch;gap:1cqi;font-style:italic;display:flex}.portrait-sen-ngoc .portrait-names span:first-child{text-align:left}.portrait-sen-ngoc .portrait-names span:last-child{text-align:right}.portrait-sen-ngoc .portrait-names em{display:none}.portrait-sen-ngoc .portrait-photo{border:.6cqi solid #67814c;border-radius:16% 10%/9% 7%;width:69%;height:58%;top:30%;left:19%}.portrait-sen-ngoc .portrait-signature{bottom:5%;left:35%}.portrait-long-phung .portrait-copy{padding:4% 12% 0}.portrait-long-phung .portrait-kicker{margin-bottom:2%}.portrait-seal{font:400 8cqi/1.3 var(--serif);margin:0 0 3%;display:block}.portrait-long-phung .portrait-names{--portrait-name-size:8.5cqi;text-transform:none;flex-direction:column;gap:.5cqi;font-style:italic;display:flex}.portrait-long-phung .portrait-names em{font:italic 5cqi/1.2 var(--serif)}.portrait-long-phung .portrait-signature{letter-spacing:.22em;font-style:normal;top:39%;bottom:auto}.portrait-long-phung[data-photo=true]{aspect-ratio:2/4.4}.portrait-long-phung[data-photo=true] .portrait-photo{border:.5cqi solid #f4d99d;width:56%;height:31%;top:31%;left:22%}.portrait-long-phung[data-photo=true]>.template-artwork{object-fit:cover;height:68%!important;top:auto!important}.portrait-long-phung[data-photo=true] .portrait-signature{top:25%}.wedding-invitation:not(.invitation-compact) .invitation-portrait-front,.wedding-invitation.invitation-compact .invitation-portrait-front{min-height:0;padding:0}.invitation-catalog .template-card:has(.portrait-invitation) .template-art{aspect-ratio:2/3}.portrait-invitation[data-photo=false]:not(.portrait-long-phung) .portrait-copy{padding-top:20%}.portrait-invitation[data-photo=false]:not(.portrait-long-phung) .portrait-names{--portrait-name-size:9cqi;flex-direction:column;gap:4cqi;display:flex}.cover-vom-xanh .cover-inner>.template-artwork,.cover-song-yen .cover-inner>.template-artwork,.cover-sen-ngoc .cover-inner>.template-artwork{object-fit:cover}.cover-long-phung .cover-inner{padding:55px clamp(24px,6vw,48px) 65px}.cover-long-phung .cover-inner>.template-artwork{opacity:.18;object-fit:cover}.cover-long-phung .cover-inner h1{font-size:clamp(32px,7vw,46px)}.cover-long-phung .cover-inner .cover-flower{margin-block:12px;font-size:32px}.portrait-invitation .portrait-names,.wedding-invitation .invitation-portrait-front .portrait-invitation .portrait-names{font-size:var(--portrait-name-size);line-height:1.35}.wedding-invitation .portrait-invitation .portrait-kicker{font-size:2.3cqi;line-height:1.7}.wedding-invitation .portrait-invitation .portrait-signature{font-size:2.5cqi;line-height:1.5}
.wedding-invitation.theme-classic .invitation-paper>.invitation-front{width:min(500px, calc(100% + var(--paper-gutter) * 2));aspect-ratio:2/3;margin-inline:max(calc((100% - 500px) / 2), calc(-1 * var(--paper-gutter)));flex-direction:column;justify-content:center;padding:60px 40px 90px;display:flex;container-type:inline-size}.theme-classic .invitation-front>.template-artwork,.cover-classic .cover-inner>.template-artwork{object-fit:cover}:is(.theme-classic,.template-classic,.theme-hoa-trang,.template-hoa-trang,.cover-inner) :is(h1,h3).formal-script-names{font-family:"Pinyon Script", var(--serif);font-variant:normal;text-transform:none;letter-spacing:0;text-wrap:balance;overflow-wrap:anywhere;font-style:normal;font-weight:400;line-height:1.4}.formal-script-names>span{display:block}.formal-script-names>em{font-family:var(--serif)}.wedding-invitation.theme-classic .invitation-front h1.formal-script-names{font-size:clamp(32px,15cqi,66px)}.wedding-invitation.theme-classic .invitation-front h1.formal-script-names em{margin-block:.15em;font-size:.62em}.catalog-grid .template-classic .mini-invitation{justify-content:flex-start;padding-top:27.3cqi}.catalog-grid .template-classic .mini-invitation h3.formal-script-names{font-size:13cqi}.wedding-invitation.theme-hy-do .invitation-paper>.invitation-front{width:min(500px, calc(100% + var(--paper-gutter) * 2));aspect-ratio:2/3;margin-inline:max(calc((100% - 500px) / 2), calc(-1 * var(--paper-gutter)));flex-direction:column;justify-content:flex-start;min-height:0;padding:0;display:flex;container-type:inline-size}.template-card .mini-invitation[data-calligraphy=true],.showcase-card .mini-invitation[data-calligraphy=true]{justify-content:flex-start;padding:0;container-type:inline-size}.invitation-experience .cover-inner[data-calligraphy=true],.template-mobile-cover .cover-inner[data-calligraphy=true]{--calligraphy-bottom-space:4cqi;aspect-ratio:2/3;justify-content:flex-start;min-height:0;padding:0 0 28px;container-type:inline-size}.theme-hy-do .invitation-front>.template-artwork,.cover-inner[data-calligraphy=true]>.template-artwork{object-fit:cover}.calligraphy-heading{width:100%;padding:22cqi 8cqi var(--calligraphy-bottom-space,18cqi);container-type:inline-size}.calligraphy-heading p.calligraphy-kicker{color:inherit;font:400 2.85cqi/1.8 var(--sans);letter-spacing:.12em;margin:0}.calligraphy-heading .calligraphy-ornament{font:400 10.5cqi/1.3 var(--serif);margin-block:3.333cqi;display:block}:is(.wedding-invitation,.template-card,.showcase-card,.cover-inner) .calligraphy-heading :is(h1,h3).calligraphy-names{font:400 14cqi/1.45 "Beau Rivage", var(--serif);font-variant:normal;text-transform:none;letter-spacing:0;overflow-wrap:anywhere;text-wrap:balance;margin:0}.calligraphy-heading .calligraphy-names>span{display:block}.theme-phung-son .invitation-front h1,.template-phung-son .mini-invitation h3,.cover-phung-son .cover-inner h1{font-family:"Beau Rivage", var(--serif);font-variant:normal;text-transform:none;letter-spacing:0;overflow-wrap:anywhere;text-wrap:balance;font-style:normal;font-weight:400;line-height:1.45}.catalog-grid .template-hy-do .mini-invitation .calligraphy-heading{flex-direction:column;padding-top:27.3cqi;display:flex;container-type:normal}.catalog-grid .template-hy-do .calligraphy-heading .calligraphy-ornament{order:0;margin:0 0 2cqi;font-size:10cqi;line-height:1.1}.catalog-grid .template-hy-do .calligraphy-heading .calligraphy-kicker{order:1;font-size:3cqi;line-height:1.7}.catalog-grid .template-hy-do .calligraphy-heading h3.calligraphy-names{order:2;margin:4cqi 0 5cqi;font-size:11.76cqi}:is(.wedding-invitation,.template-card,.showcase-card,.cover-inner) .calligraphy-heading .calligraphy-names>em{font:400 .6em/1.3 "Beau Rivage", var(--serif);margin-block:.2em;display:block}
.wedding-invitation .invitation-paper>.invitation-front{width:min(500px, calc(100% + var(--paper-gutter) * 2));margin-inline:max(calc((100% - 500px) / 2), calc(-1 * var(--paper-gutter)))}.invitation-front-content{display:contents}.invitation-front-content>*{z-index:1;position:relative}.wedding-invitation .invitation-paper>.invitation-photo-front{height:auto;min-height:0;padding:0;container-type:inline-size}.invitation-photo-front>.invitation-front-content{min-height:150cqi;padding:10cqi 12cqi 12cqi;display:block}.wedding-invitation .invitation-photo-front .eyebrow{letter-spacing:.12em;font-size:2.8cqi;line-height:1.7}.wedding-invitation .invitation-photo-front .wedding-flower{margin-block:2cqi;font-size:8cqi;line-height:1.3}.wedding-invitation .invitation-photo-front h1{font-size:10cqi;line-height:1.15}.wedding-invitation .invitation-photo-front h1 em{margin-block:1cqi;font-size:6cqi}.wedding-invitation .invitation-photo-front .wedding-date{letter-spacing:.1em;margin:4cqi 0 3cqi;font-size:3.2cqi;line-height:1.8}.wedding-invitation .invitation-photo-front .wedding-date>span{padding-inline:1cqi}.wedding-invitation .invitation-photo-front .wedding-invite-line{text-wrap:balance;margin:0 0 5cqi;font-size:3.5cqi;line-height:1.8}.wedding-invitation .invitation-photo-front .invitation-image{aspect-ratio:4/5;width:62cqi;max-width:100%;height:auto}.invitation-photo-front .invitation-image img{object-fit:cover;object-position:50% 35%}.template-lotus{vertical-align:middle;width:1.5em;height:1em;display:inline-block}:is(.theme-sen-hong,.theme-su-lam,.theme-anh-dao,.theme-phung-son,.theme-song-hac,.theme-hoa-trang) .invitation-photo-front>.invitation-front-content{padding-block:8cqi 10cqi}.wedding-invitation.theme-sen-hong .invitation-photo-front .wedding-flower{justify-content:center;margin-block:3cqi 4cqi;font-size:8cqi;line-height:1;display:flex}.wedding-invitation:is(.theme-sen-hong,.theme-su-lam,.theme-anh-dao,.theme-phung-son,.theme-song-hac,.theme-hoa-trang) .invitation-photo-front h1{margin:0}.wedding-invitation:is(.theme-sen-hong,.theme-su-lam,.theme-anh-dao,.theme-phung-son,.theme-song-hac,.theme-hoa-trang) .invitation-photo-front .invitation-image{margin-top:6cqi}.mini-invitation[data-simple-front] .mini-kicker{margin-bottom:4%}.wedding-invitation.theme-phung-son .invitation-photo-front>.invitation-front-content{padding-top:14cqi}.wedding-invitation.theme-phung-son .invitation-photo-front h1{font-size:14cqi}.catalog-grid .template-phung-son .mini-invitation{padding-top:20%}.catalog-grid .template-phung-son .mini-invitation h3{font-size:14cqw;line-height:1.45}.template-card .mini-invitation[data-simple-front] .mini-photo{aspect-ratio:4/5;width:84%;height:auto}.wedding-invitation.theme-hoa-trang .invitation-photo-front h1.formal-script-names,.catalog-grid .template-hoa-trang .mini-invitation h3.formal-script-names{font-size:12cqi;line-height:1.25}.invitation-experience .invitation-cover .cover-inner{aspect-ratio:auto;min-height:0}.invitation-experience .cover-inner:not([data-calligraphy=true]){padding-inline:clamp(24px,6vw,60px)}
.wedding-invitation .invitation-paper>.white-flower-front{min-height:0;padding:0;container-type:inline-size}.white-flower-composition{width:100%;min-height:150cqi;color:var(--invite-art-ink);padding:14cqi 8cqi 12cqi;position:relative}.white-flower-photos{width:80cqi;height:78cqi;margin:10cqi auto 0;position:relative}.white-flower-photo{aspect-ratio:3/4;border:.65cqi solid var(--invite-art-ink);background:var(--invite-art-background);width:44cqi;position:absolute;overflow:hidden;box-shadow:0 1cqi 2cqi #35372918}.white-flower-photo:first-child{top:0;left:2cqi;transform:rotate(-7deg)}.white-flower-photo:nth-child(2){bottom:0;right:2cqi;transform:rotate(8deg)}.white-flower-photo img{object-fit:cover;object-position:50% 35%}:is(.wedding-invitation,.template-card,.showcase-card,.cover-inner) .white-flower-composition :is(h1,h3).white-flower-names{font:400 12cqi/1.25 "Pinyon Script", var(--serif);font-variant:normal;letter-spacing:0;text-transform:none;text-wrap:balance;overflow-wrap:anywhere;margin:0}.white-flower-names>span{display:block}.white-flower-names>span:first-child{margin-right:8cqi}.white-flower-names>span:last-child{margin-top:2cqi;margin-left:8cqi}.white-flower-composition[data-photo-count="1"] .white-flower-photo{top:8cqi;left:18cqi;transform:rotate(-3deg)}.white-flower-composition[data-photo-count="0"]{align-content:center;display:grid}.white-flower-composition[data-photo-count="0"] .white-flower-names{margin-top:0}:is(.template-card,.showcase-card) .mini-invitation.white-flower-front{padding:0;display:block;container-type:inline-size}.invitation-experience .cover-inner[data-photo-pair=true],.template-mobile-cover .cover-inner[data-photo-pair=true]{padding:0 0 28px;display:block;container-type:inline-size}.cover-inner[data-photo-pair=true] .cover-open{margin-top:0}.invitation-experience .cover-inner[data-photo-pair=true]{width:min(100%,420px)}.cover-inner[data-photo-pair=true] .white-flower-composition{min-height:0;padding-block:12cqi 6cqi}.cover-inner[data-photo-pair=true] .white-flower-photos{width:74cqi;height:68cqi;margin-top:8cqi}.cover-inner[data-photo-pair=true] .white-flower-photo{width:40cqi}.cover-inner[data-photo-pair=true] .white-flower-composition h1.white-flower-names{margin-top:0;font-size:10cqi}
@font-face{font-family:Lora;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/lora-vietnamese.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Lora;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/lora-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lora;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/lora-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.wedding-invitation .invitation-paper>.invitation-botanical-front{min-height:0;padding:0;container-type:inline-size}:is(.wedding-invitation,.template-card,.showcase-card,.cover-inner) :is(h1,h3).botanical-composition{width:100%;min-height:184cqi;color:var(--invite-art-ink);font:400 6cqi/1.4 var(--serif);font-variant:normal;letter-spacing:0;text-transform:none;flex-direction:column;gap:10cqi;margin:0;padding:12cqi 5cqi 28cqi;display:flex}.botanical-person{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:center;gap:4cqi;min-height:64cqi;display:grid}.botanical-person:nth-child(2){grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}.botanical-person:nth-child(2) .botanical-portrait{order:1;transform:rotate(6deg)}.botanical-portrait{aspect-ratio:4/5;border:2cqi solid #fff;display:block;position:relative;overflow:hidden;transform:rotate(-7deg);box-shadow:0 2cqi 4cqi #29312424}.botanical-portrait img{object-fit:cover;object-position:50% 30%}.botanical-portrait[data-sample-crop=groom] img{transform-origin:20% 40%;transform:scale(2.5)}.botanical-portrait[data-sample-crop=bride] img{transform-origin:58% 26%;transform:scale(2.2)}.botanical-caption{text-align:center;min-width:0;display:block}.botanical-title{font:italic 400 3.1cqi/1.6 var(--serif);letter-spacing:.03em;overflow-wrap:anywhere;margin-bottom:3cqi;display:block}.botanical-name{font:400 6.2cqi/1.4 Lora, var(--serif);text-wrap:balance;overflow-wrap:anywhere;display:block}.botanical-person[data-has-photo=false] .botanical-caption{grid-column:1/-1}:is(.template-card,.showcase-card) .mini-invitation.invitation-botanical-front{padding:0;display:block;container-type:inline-size}:is(.template-card,.showcase-card) .mini-invitation.invitation-botanical-front .botanical-composition{min-height:0;padding-top:10cqi;padding-bottom:20cqi}.invitation-experience .cover-inner[data-botanical=true],.template-mobile-cover .cover-inner[data-botanical=true]{padding:0 0 24px;display:block;container-type:inline-size}.invitation-experience .cover-inner[data-botanical=true]{width:min(100%,390px)}.cover-inner[data-botanical=true] .botanical-composition{gap:5cqi;min-height:0;padding-block:8cqi 6cqi}.cover-inner[data-botanical=true] .cover-open{margin-top:0}

