/* A private Paris edition: cream paper, oxblood ink, and quiet typography. */
.paris-page {
  --paris-paper:#f6f0e6; --paris-wine:#722f3d; --paris-ink:#382f2c;
  --paris-muted:#75665e; --paris-gold:#987b4b; --paris-line:#cdbc9e;
  --paris-serif:"Cormorant Garamond",Georgia,serif;
  --paris-cn:"Noto Serif SC","Songti SC",serif;
  margin:0; background:var(--paris-paper); color:var(--paris-ink);
  font-family:"Noto Sans SC",system-ui,sans-serif; font-size:16px; line-height:1.8;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.74' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23857255' opacity='.065' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E");
}
.paris-page a{color:inherit;text-decoration:none}
.paris-page a:focus-visible,.paris-page summary:focus-visible{outline:2px solid var(--paris-wine);outline-offset:6px}
.paris-page [hidden]{display:none!important}
.paris-page :is(h1,h2,h3,p,figure){margin:0}
.paris-page :is(h1,h2,h3){font-family:var(--paris-cn);font-weight:400}
.paris-page h2{font-size:clamp(28px,3vw,36px);line-height:1.75;letter-spacing:.04em}
.paris-page img{max-width:100%}
.paris-edition{max-width:1320px;padding:0 56px;margin:auto;container-type:inline-size}
.paris-sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.paris-nav{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:25px 0 23px;border-bottom:1px solid var(--paris-line)}
.paris-brand{font-family:var(--paris-serif);font-size:26px;font-weight:500;line-height:1.2}
.paris-brand span{font-style:italic;color:var(--paris-wine);margin:0 4px}
.paris-nav-note{font-size:9px;letter-spacing:.24em;color:var(--paris-muted)}
.paris-archive-link{font-size:11px;letter-spacing:.06em;padding:10px 0}
.paris-archive-link span{margin-left:12px;color:var(--paris-wine)}
.paris-eyebrow{font-size:10px;letter-spacing:.18em;font-weight:500;color:var(--paris-wine);line-height:1.8}
.paris-eyebrow>span[aria-hidden]{padding:0 12px;color:var(--paris-gold)}
.paris-hero{display:grid;grid-template-columns:.83fr 1.17fr;gap:50px;padding:62px 0 58px;align-items:center}
.paris-hero-copy{padding:0 0 0 14px}
.paris-number{display:flex;align-items:center;gap:18px;margin:13px 0 16px;color:var(--paris-wine)}
.paris-number>span{font-family:var(--paris-serif);font-size:clamp(140px,14vw,198px);line-height:.9;letter-spacing:-.07em;font-weight:400;font-variant-numeric:lining-nums;padding-right:.04em}
.paris-number small{font-family:var(--paris-serif);font-size:22px;font-style:italic;line-height:1.05;margin-top:35px}
.paris-hero h1{font-size:clamp(34px,3.45vw,46px);line-height:1.65;letter-spacing:.055em;margin-top:26px}
.paris-hero h1>span:not(.paris-sr-only){display:block}
.paris-hero-dates{display:flex;flex-wrap:wrap;gap:14px;font-family:var(--font-mono);font-size:10px;letter-spacing:.055em;color:var(--paris-muted);margin-top:22px!important}
.paris-intro{font-family:var(--paris-cn);font-size:13px;color:var(--paris-muted);line-height:2.1;margin-top:23px!important}
.paris-button{display:inline-flex;align-items:center;justify-content:space-between;gap:45px;min-height:46px;padding:12px 23px;border:1px solid var(--paris-wine);font-size:12px;letter-spacing:.12em;transition:background .22s,color .22s,transform .22s}
.paris-button:hover{background:var(--paris-wine);color:var(--paris-paper);transform:translateY(-2px)}
.paris-read-letter{margin-top:28px;background:var(--paris-wine);color:var(--paris-paper)!important}
.paris-read-letter:hover{background:#59232f}
.paris-dedication{display:flex;gap:8px;align-items:center;font-family:var(--paris-serif);font-size:18px;font-weight:500;margin-top:29px!important}
.paris-dedication>span[lang]{font-style:italic;color:var(--paris-muted)}
.paris-dedication-line{width:28px;height:1px;background:var(--paris-line);margin:0 4px}
.paris-postcard{position:relative;padding:23px 23px 17px;background:#faf6ec;border:1px solid #c4b297;box-shadow:8px 12px 0 -4px #f1e9dc,8px 12px 0 -3px #cbbca3,0 12px 30px #5743310a;transform:rotate(1.2deg)}
.paris-postcard::before{content:"";position:absolute;inset:8px;border:1px solid #cdbc9e80;pointer-events:none}
.paris-postcard-top{display:flex;align-items:center;justify-content:space-between;min-height:74px;padding:0 3px 12px;gap:14px}
.paris-postcard-top>span:first-child{font-size:8px;letter-spacing:.17em;color:var(--paris-muted)}
.paris-postmark{display:flex;flex-direction:column;justify-content:center;align-items:center;flex-shrink:0;width:78px;height:78px;border:1px solid #722f3da6;outline:1px solid #722f3d80;outline-offset:-5px;border-radius:50%;color:var(--paris-wine);transform:rotate(-14deg);line-height:1.25}
.paris-postmark>span{font-size:8px;letter-spacing:.1em}
.paris-postmark strong{font-family:var(--paris-serif);font-size:23px;font-weight:500;margin:4px 0}
.paris-art{position:relative;aspect-ratio:3/2;overflow:hidden;background:#f2eadb;border-top:1px solid #cdbc9e80;border-bottom:1px solid #cdbc9e80}
.paris-art img{position:relative;display:block;width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply}
.paris-art-fallback{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:#f2eadb;color:var(--paris-wine)}
.paris-art-fallback>span{font-family:var(--paris-serif);font-size:90px;font-style:italic}
.paris-art-fallback>small{font-family:var(--paris-cn);font-size:12px;color:var(--paris-muted)}
/* Keep the fallback from showing through the softly colored illustration. */
.paris-art:has(img:not([hidden])) .paris-art-fallback{visibility:hidden}
.paris-postcard figcaption{padding:15px 0 20px;text-align:center}
.paris-postcard figcaption>span{font-family:var(--paris-serif);font-size:48px;font-style:italic;color:var(--paris-wine);line-height:1.2}
.paris-postcard figcaption p{font-family:var(--paris-cn);font-size:11px;letter-spacing:.1em;margin-top:8px}
.paris-postcard-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--paris-line);padding-top:12px;gap:10px;color:var(--paris-muted);font-size:7px;letter-spacing:.1em}
.paris-postcard-bottom>span[aria-hidden]{font-family:var(--paris-serif);font-size:18px;color:var(--paris-wine)}
.paris-countdown{display:flex;align-items:center;justify-content:space-between;gap:36px;border-top:1px solid var(--paris-line);border-bottom:1px solid var(--paris-line);padding:25px 40px;background:#eee5d542}
.paris-countdown .paris-eyebrow{font-size:9px;letter-spacing:.22em}
.paris-countdown #celebration-label{font-family:var(--paris-cn);font-size:18px;margin:6px 0}
.paris-timezone{font-size:9px;letter-spacing:.08em;color:var(--paris-muted)}
.paris-countdown-units{display:flex;align-items:start;justify-content:center;gap:21px}
.paris-countdown-units>span{display:flex;flex-direction:column;align-items:center;min-width:44px}
.paris-countdown-units b{font-family:var(--paris-serif);font-weight:500;line-height:1;font-size:42px;font-variant-numeric:lining-nums tabular-nums;color:var(--paris-wine)}
.paris-countdown-units small{font-size:9px;color:var(--paris-muted);margin-top:8px}
.paris-countdown-units i{font-family:var(--paris-serif);font-style:normal;font-size:24px;line-height:1.5;color:var(--paris-gold)}
.paris-celebration-mark{display:none;font-family:var(--paris-serif);font-style:italic;font-size:42px;color:var(--paris-wine)}
.paris-countdown.is-celebrating .paris-celebration-mark{display:block}
.paris-section{padding:86px 14px}
.paris-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:40px}
.paris-section-heading h2,.paris-letter-heading h2{margin-top:16px}
.paris-section-intro{font-family:var(--paris-cn);font-size:13px;line-height:2.2;color:var(--paris-muted);padding-right:25px}
.paris-timeline{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0;margin:0;counter-reset:memory}
.paris-timeline li{position:relative;padding:27px 28px 25px 0;margin-right:30px;border-top:1px solid var(--paris-line);counter-increment:memory;display:flex;flex-direction:column}
.paris-timeline li::after{content:counter(memory,decimal-leading-zero);position:absolute;right:0;top:23px;color:#9a8a78;font-family:var(--paris-serif);font-style:italic;font-size:20px;line-height:1}
.paris-timeline li:nth-child(3n){margin-right:0}
.paris-timeline time{font-family:var(--font-mono);font-size:10px;letter-spacing:.04em;color:var(--paris-wine)}
.paris-timeline h3{font-size:18px;line-height:1.85;margin:18px 0 12px}
.paris-timeline p{font-size:12px;line-height:2;color:var(--paris-muted);margin-bottom:18px}
.paris-timeline a,.paris-here{font-size:11px;letter-spacing:.03em;margin-top:auto;color:var(--paris-wine)}
.paris-timeline a{align-self:flex-start;padding:5px 0;border-bottom:1px solid #722f3d55}
.paris-timeline a:hover{border-color:var(--paris-wine)}
.paris-timeline-current{border-top-color:var(--paris-wine)!important}
.paris-here{padding:5px 0}
.paris-here>span{margin-left:9px}
.paris-letter-section{display:grid;grid-template-columns:.75fr 1.25fr;gap:55px;align-items:start;border-top:1px solid var(--paris-line)}
.paris-letter-heading>p:not(.paris-eyebrow){font-family:var(--paris-cn);font-size:13px;color:var(--paris-muted);line-height:2.2;margin-top:22px}
.paris-handwritten{display:block;font-family:var(--paris-serif);font-size:25px;font-style:italic;color:var(--paris-wine);transform:rotate(-5deg);transform-origin:left center;margin-top:36px}
.paris-letter{position:relative;background:#fcf8ef;border:1px solid #cbbc9f;box-shadow:0 12px 32px #5946300b}
.paris-letter summary{position:relative;display:grid;grid-template-columns:1fr auto;gap:18px 20px;padding:26px 34px 22px;list-style:none;cursor:pointer;overflow:hidden;background:linear-gradient(153deg,transparent 49.5%,#cdbc9e35 50%,transparent 50.5%) top right/55% 70% no-repeat}
.paris-letter summary::-webkit-details-marker{display:none}
.paris-letter summary::before{content:"";position:absolute;inset:9px;border:1px solid #cdbc9e60;pointer-events:none}
.paris-envelope-label{grid-column:1/-1;font-size:8px;letter-spacing:.16em;color:var(--paris-muted)}
.paris-envelope-address{display:flex;flex-direction:column;align-items:flex-start;padding:15px 0 24px}
.paris-envelope-address>small{font-family:var(--paris-cn);font-size:13px;color:var(--paris-muted)}
.paris-envelope-address>strong{font-family:var(--paris-serif);font-size:50px;font-style:italic;font-weight:500;color:var(--paris-wine);line-height:1.3}
.paris-envelope-address>span{font-family:var(--paris-cn);font-size:12px;margin-top:12px}
.paris-seal{align-self:center;display:flex;align-items:center;justify-content:center;gap:5px;flex-shrink:0;width:76px;height:76px;border-radius:46% 49% 45% 48%;background:radial-gradient(ellipse at 30% 20%,#984759,#722f3d 60%,#54202e);border:1px solid #672d3a;box-shadow:inset 0 0 0 5px #722f3d,inset 0 0 0 6px #bd7a8166,2px 5px 7px #431d2526;color:#f1d8c5;font-family:var(--paris-serif);font-size:22px;transform:rotate(-12deg);transition:transform .3s,box-shadow .3s}
.paris-seal small{font-size:13px}
.paris-letter summary:hover .paris-seal{transform:rotate(-5deg);box-shadow:inset 0 0 0 5px #722f3d,inset 0 0 0 6px #bd7a8166,3px 7px 10px #431d2533}
.paris-envelope-action{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;padding-top:12px;border-top:1px solid #cdbc9e90;font-size:11px;letter-spacing:.12em;color:var(--paris-wine)}
.paris-letter-plus{font-size:19px;transition:transform .25s}
.paris-close-label{display:none}
.paris-letter[open] .paris-close-label{display:inline}
.paris-letter[open] .paris-open-label{display:none}
.paris-letter[open] .paris-letter-plus{transform:rotate(45deg)}
.paris-letter-body{padding:37px 40px 35px;border-top:1px solid var(--paris-line);font-family:var(--paris-cn);font-size:15px;line-height:2.25;scroll-margin-top:24px;animation:paris-unfold .35s ease-out}
.paris-letter-body:focus{outline:none}
.paris-letter-body p{margin-bottom:24px}
.paris-letter-body .paris-dear{font-size:20px;color:var(--paris-wine);margin-bottom:28px}
.paris-letter-body .paris-signature{display:flex;flex-direction:column;align-items:flex-end;gap:6px;margin:30px 0 0}
.paris-signature>span{font-size:12px;color:var(--paris-muted)}
.paris-signature strong{font-family:var(--paris-serif);font-weight:500;font-size:37px;font-style:italic;line-height:1.3;color:var(--paris-wine)}
.paris-signature small{font-size:10px;color:var(--paris-muted)}
.paris-travel{position:relative;display:grid;grid-template-columns:170px 1fr;gap:46px;border:1px solid var(--paris-line);padding:40px 50px;background:#eee4d252;box-shadow:inset 0 0 0 7px var(--paris-paper),inset 0 0 0 8px #cdbc9e80}
.paris-travel-margin{border-right:1px solid var(--paris-line);display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between}
.paris-travel-vertical{font-family:var(--paris-serif);font-size:45px;font-style:italic;color:var(--paris-wine);transform:rotate(-8deg);margin-bottom:22px;white-space:nowrap}
.paris-travel-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px;flex-wrap:wrap}
.paris-plan-badge{font-size:10px;color:var(--paris-wine);letter-spacing:.08em;border:1px solid #722f3d70;padding:3px 10px}
.paris-travel-dates{display:flex;flex-wrap:wrap;gap:10px;font-size:9px;font-family:var(--font-mono);color:var(--paris-muted)}
.paris-travel h2{font-size:29px;line-height:1.7}
.paris-travel-summary{font-family:var(--paris-cn);color:var(--paris-muted);font-size:13px;line-height:2.15;margin:20px 0 24px!important;max-width:640px}
.paris-text-link{display:inline-flex;align-items:center;gap:18px;min-height:40px;font-size:11px;border-bottom:1px solid #722f3d70;color:var(--paris-wine)!important}
.paris-text-link:hover{border-bottom-color:var(--paris-wine)}
.paris-ending{text-align:center;padding:90px 20px 73px}
.paris-ending h2{margin-top:23px;font-size:clamp(32px,3.3vw,42px);line-height:1.85}
.paris-couple{display:flex;justify-content:center;align-items:center;gap:17px;margin-top:30px}
.paris-couple img{border-radius:50%;object-fit:cover;padding:3px;border:1px solid var(--paris-line)}
.paris-couple>span{font-family:var(--paris-serif);font-size:24px}
.paris-couple i{font-weight:400;color:var(--paris-wine);margin:0 5px}
.paris-ending-links{display:flex;flex-direction:column;align-items:center;gap:15px;margin-top:32px}
.paris-ending-links .paris-text-link{border-color:transparent;color:var(--paris-muted)!important}
.paris-ending-links .paris-text-link:hover{border-color:var(--paris-muted)}
.paris-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;border-top:1px solid var(--paris-line);padding:25px 0 30px;color:var(--paris-muted);font-size:8px;letter-spacing:.12em}
.paris-footer i{font-style:normal;padding:0 10px}
@keyframes paris-unfold{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
@media(min-width:1500px){.paris-edition{border-left:1px solid #cdbc9e66;border-right:1px solid #cdbc9e66}}
@media(max-width:1000px){
 .paris-edition{padding:0 32px}.paris-nav-note{display:none}.paris-hero{gap:30px;padding:50px 0}.paris-hero-copy{padding-left:0}.paris-number{gap:12px}.paris-number>span{font-size:145px}.paris-number small{font-size:19px}.paris-hero h1{font-size:35px}.paris-hero-dates{gap:8px;font-size:9px}.paris-intro{font-size:12px}.paris-postcard{padding:19px 17px 14px}.paris-postmark{width:65px;height:65px}.paris-postcard-top>span:first-child{font-size:6px}.paris-postcard figcaption>span{font-size:38px}.paris-postcard-bottom{font-size:5.5px;letter-spacing:.04em}.paris-section{padding:65px 0}.paris-timeline li{margin-right:20px;padding-right:18px}.paris-timeline h3{font-size:16px}.paris-letter-section{grid-template-columns:.7fr 1.3fr;gap:28px}.paris-letter-heading .paris-eyebrow{font-size:8px}.paris-letter-heading h2{font-size:29px}.paris-letter summary{padding:24px}.paris-letter-body{padding:30px}.paris-travel{grid-template-columns:120px 1fr;gap:28px;padding:35px}.paris-travel-vertical{font-size:30px}.paris-countdown{padding:22px 24px;gap:20px}.paris-countdown-units{gap:14px}
}
@media(max-width:700px){
 .paris-edition{padding:0 24px}.paris-nav{padding:21px 0 18px;gap:15px}.paris-brand{font-size:23px}.paris-archive-link{font-size:10px}.paris-archive-link span{margin-left:5px}
 .paris-hero{grid-template-columns:1fr;gap:39px;padding:37px 0 38px}.paris-hero-copy{padding:0 4px}.paris-eyebrow{font-size:9px}.paris-number{margin:20px 0 15px;gap:18px}.paris-number>span{font-size:157px}.paris-number small{font-size:23px;margin-top:29px}.paris-hero h1{font-size:35px;line-height:1.6;margin-top:20px}.paris-hero-dates{font-size:10px;gap:12px;margin-top:21px!important}.paris-intro{font-size:12px;margin-top:20px!important}.paris-read-letter{margin-top:23px}.paris-dedication{font-size:18px;margin-top:22px!important}
 .paris-postcard{margin:0 5px!important;padding:18px 15px 13px;transform:rotate(.8deg)}.paris-postcard-top{min-height:65px;padding-bottom:12px}.paris-postcard-top>span:first-child{font-size:7px;letter-spacing:.12em}.paris-postmark{width:60px;height:60px}.paris-postmark>span{font-size:6px}.paris-postmark strong{font-size:19px}.paris-postcard figcaption{padding:15px 0}.paris-postcard figcaption>span{font-size:38px}.paris-postcard figcaption p{font-size:10px}.paris-postcard-bottom{font-size:5.5px;letter-spacing:.06em;gap:7px}.paris-art-fallback>span{font-size:67px}.paris-art-fallback>small{font-size:10px}
 .paris-countdown{flex-direction:column;align-items:flex-start;gap:24px;padding:24px 10px}.paris-countdown #celebration-label{font-size:17px}.paris-countdown-units{gap:20px;align-self:center}.paris-countdown-units b{font-size:38px}.paris-countdown-units>span{min-width:36px}.paris-countdown-units small{font-size:10px}.paris-celebration-mark{font-size:36px;align-self:center}
 .paris-section{padding:55px 4px}.paris-section-heading{display:block;margin-bottom:30px}.paris-section-heading h2{font-size:29px}.paris-section-intro{font-size:12px;margin-top:20px!important;padding:0}
 .paris-timeline{grid-template-columns:1fr}.paris-timeline li,.paris-timeline li:nth-child(3n){margin:0;padding:25px 24px 26px 25px;border-top:0;border-left:1px solid var(--paris-line)}.paris-timeline li::before{content:"";position:absolute;left:-3px;top:32px;width:5px;height:5px;background:var(--paris-wine);transform:rotate(45deg)}.paris-timeline li::after{top:23px;font-size:23px}.paris-timeline h3{font-size:18px;margin:13px 0 10px}.paris-timeline time{font-size:10px}.paris-timeline p{font-size:12px;margin-bottom:12px}.paris-timeline a,.paris-here{font-size:11px}.paris-timeline-current{border-left-color:var(--paris-wine)!important}
 .paris-letter-section{display:block}.paris-letter-heading h2{font-size:30px}.paris-letter-heading .paris-eyebrow{font-size:9px}.paris-letter-heading>p:not(.paris-eyebrow){font-size:12px;margin-top:16px}.paris-handwritten{font-size:25px;margin:20px 0 32px}.paris-letter summary{padding:23px 22px 20px;gap:14px}.paris-envelope-label{font-size:7px;letter-spacing:.12em}.paris-envelope-address{padding:7px 0 14px}.paris-envelope-address>strong{font-size:44px}.paris-envelope-address>span{font-size:11px}.paris-seal{width:64px;height:64px;font-size:20px}.paris-letter-body{padding:27px 22px;font-size:15px;line-height:2.2}.paris-letter-body p{margin-bottom:23px}.paris-letter-body .paris-dear{font-size:18px}
 .paris-travel{display:block;padding:29px 24px}.paris-travel-margin{border-right:0;margin-bottom:22px;display:block}.paris-travel-vertical{display:none}.paris-travel-top{display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin-bottom:20px}.paris-travel h2{font-size:26px}.paris-travel-summary{font-size:12px;margin:17px 0!important}.paris-travel-dates{font-size:9px;gap:7px}.paris-text-link{font-size:10px;gap:10px}
 .paris-ending{padding:65px 0 50px}.paris-ending h2{font-size:31px}.paris-ending .paris-eyebrow{font-size:8px}.paris-couple{gap:12px;margin-top:25px}.paris-couple>span{font-size:22px}.paris-couple img{width:38px;height:38px}.paris-ending-links{margin-top:27px}.paris-footer{display:grid;grid-template-columns:1fr auto;font-size:7px;gap:12px;padding:22px 0}.paris-footer>span:nth-child(2){grid-column:1;grid-row:2}.paris-footer>a{grid-column:2;grid-row:1/3}
}
/* Reflow on the available paper width, including browser/text zoom. */
@container (max-width:650px){
 .paris-nav-note{display:none}
 .paris-hero,.paris-letter-section{grid-template-columns:1fr}
 .paris-timeline{grid-template-columns:1fr}
 .paris-timeline li{margin-right:0}
 .paris-countdown{flex-direction:column;align-items:flex-start}
 .paris-countdown-units{align-self:center}
 .paris-travel{display:block}
 .paris-travel-margin{border-right:0;margin-bottom:22px}
 .paris-travel-vertical{display:none}
}
@media(prefers-reduced-motion:reduce){
 html:has(.paris-page){scroll-behavior:auto}
 .paris-page *,.paris-page *::before,.paris-page *::after{animation:none!important;transition:none!important}
}
