@layer astro.images{:where([data-astro-image]){height:auto}:where([data-astro-image=full-width]){width:100%}:where([data-astro-image=constrained]){max-width:100%}[data-astro-image-fit=fill]{object-fit:fill}[data-astro-image-fit=contain]{object-fit:contain}[data-astro-image-fit=cover]{object-fit:cover}[data-astro-image-fit=scale-down]{object-fit:scale-down}[data-astro-image-pos=top]{object-position:top}[data-astro-image-pos=bottom]{object-position:bottom}[data-astro-image-pos=left]{object-position:left}[data-astro-image-pos=right]{object-position:right}[data-astro-image-pos=center]{object-position:center}[data-astro-image-pos=top-bottom]{object-position:top bottom}[data-astro-image-pos=top-left]{object-position:top left}[data-astro-image-pos=top-right]{object-position:top right}[data-astro-image-pos=top-center]{object-position:top center}[data-astro-image-pos=bottom-top]{object-position:bottom top}[data-astro-image-pos=bottom-left]{object-position:bottom left}[data-astro-image-pos=bottom-right]{object-position:bottom right}[data-astro-image-pos=bottom-center]{object-position:bottom center}[data-astro-image-pos=left-top]{object-position:left top}[data-astro-image-pos=left-bottom]{object-position:left bottom}[data-astro-image-pos=left-right]{object-position:left right}[data-astro-image-pos=left-center]{object-position:left center}[data-astro-image-pos=right-top]{object-position:right top}[data-astro-image-pos=right-bottom]{object-position:right bottom}[data-astro-image-pos=right-left]{object-position:right left}[data-astro-image-pos=right-center]{object-position:right center}[data-astro-image-pos=center-top]{object-position:center top}[data-astro-image-pos=center-bottom]{object-position:center bottom}[data-astro-image-pos=center-left]{object-position:center left}[data-astro-image-pos=center-right]{object-position:center right}}:root{--ink:#5a3b45;--ink-deep:#432732;--cream:#fff7f2;--paper:#fffdf9;--blush:#f7d7d9;--rose:#d87682;--rose-deep:#bc5f6c;--petal:#f2e3d6;--sage:#d4dfcf;--line:#5a3b451f;--line-strong:#5a3b4533;--surface:#ffffffb8;--surface-strong:#ffffffe6;--shadow:0 1rem 2.5rem #a86b7b1a;--display:"Iowan Old Style", "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;--sans:"Avenir Next", "Segoe UI", "Helvetica Neue", Arial, sans-serif;--page-pad:clamp(1.25rem, 4vw, 4.5rem);--section-pad:clamp(5.5rem, 11vw, 10rem);--radius:.9rem}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6rem}body{color:var(--ink);background:radial-gradient(circle at top left, #f7d7d961, transparent 30%), linear-gradient(180deg, #fffaf6 0%, var(--cream) 46%, #fffdfb 100%);font-family:var(--sans);text-rendering:optimizelegibility;margin:0;font-size:1rem;line-height:1.6}body:before{z-index:20;opacity:.016;pointer-events:none;content:"";background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");position:fixed;inset:0}::selection{color:var(--paper);background:var(--rose-deep)}img{width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}h1,h2,h3,p,figure{margin-top:0}h1,h2,h3{font-family:var(--display);letter-spacing:-.045em;font-weight:400;line-height:.98}h2{font-size:clamp(2.6rem,6vw,5.8rem)}.skip-link{z-index:100;color:#fff;background:var(--rose-deep);padding:.75rem 1rem;position:fixed;top:1rem;left:1rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}:focus-visible{outline:3px solid var(--rose);outline-offset:4px}.site-header{z-index:10;width:100%;min-height:5rem;padding:1rem var(--page-pad);backdrop-filter:blur(14px);background:#fffbf7c7;border-bottom:1px solid #ffffff8c;grid-template-columns:1fr auto 1fr;align-items:center;display:grid;position:sticky;top:0;left:0}.brand{letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.75rem;width:fit-content;font-size:.82rem;font-weight:750;display:inline-flex}.brand-mark{width:2.2rem;height:2.2rem;color:var(--paper);background:linear-gradient(135deg, var(--rose-deep), var(--rose));font-family:var(--display);border-radius:.8rem;place-items:center;font-size:1.05rem;font-style:italic;display:grid}.desktop-nav{gap:clamp(1.5rem,3vw,3.5rem);display:flex}.desktop-nav a,.header-cta{letter-spacing:.1em;text-transform:uppercase;font-size:.78rem;font-weight:700;position:relative}.desktop-nav a:after{content:"";transform-origin:100%;background:currentColor;height:1px;transition:transform .22s;position:absolute;bottom:-.3rem;left:0;right:0;transform:scaleX(0)}.desktop-nav a:hover:after{transform-origin:0;transform:scaleX(1)}.header-cta{justify-self:end;align-items:center;gap:.6rem;display:flex}.header-cta span{width:2rem;height:2rem;color:var(--paper);background:var(--rose);border-radius:50%;place-items:center;transition:transform .2s;display:grid}.header-cta:hover span{transform:rotate(45deg)}.mobile-nav{display:none}.hero{min-height:calc(100svh - 5rem);padding:clamp(4.5rem, 9vw, 7rem) var(--page-pad) 4rem;grid-template-columns:minmax(0,.95fr) minmax(20rem,.7fr);align-items:start;gap:clamp(3rem,8vw,9rem);display:grid;position:relative;overflow:hidden}.hero:before{content:"";background:linear-gradient(90deg, transparent, var(--line-strong), transparent);height:1px;position:absolute;inset:auto 0 0}.eyebrow{letter-spacing:.17em;text-transform:uppercase;align-items:center;gap:.8rem;margin-bottom:1.7rem;font-size:.72rem;font-weight:800;line-height:1.25;display:flex}.eyebrow:before{content:"";background:var(--rose);width:2.5rem;height:1px}.eyebrow-light:before{background:var(--sage)}.hero h1{max-width:11ch;margin-bottom:1.6rem;font-size:clamp(3.5rem,7vw,7rem)}.hero h1 em{color:var(--rose-deep);font-weight:inherit}.hero-introduction{color:#5a3b45d1;max-width:35rem;margin-bottom:2.25rem;font-size:clamp(1.05rem,1.5vw,1.2rem);line-height:1.7}.hero-actions{flex-wrap:wrap;align-items:center;gap:2rem;display:flex}.button{border:1px solid var(--line);letter-spacing:.07em;text-transform:uppercase;border-radius:100vw;justify-content:center;align-items:center;gap:1.5rem;min-height:3.5rem;padding:.8rem 1.2rem .8rem 1.45rem;font-size:.78rem;font-weight:800;transition:transform .2s,background .2s,border-color .2s,box-shadow .2s;display:inline-flex}.button span{border-radius:50%;place-items:center;width:2rem;height:2rem;margin:-.35rem;display:grid}.button-primary{color:var(--paper);background:linear-gradient(135deg, var(--rose-deep), var(--rose));border-color:#bc5f6c47;box-shadow:0 .8rem 1.8rem #bc5f6c2e}.button-primary span{color:var(--rose-deep);background:#fffdf9f2}.button:hover{transform:translateY(-3px)}.text-link{letter-spacing:.08em;text-transform:uppercase;color:#5a3b45c7;gap:.7rem;font-size:.75rem;font-weight:750;display:flex}.hero-figure{z-index:1;width:min(100%,34rem);margin:0 auto;position:relative}.hero-image-wrap{background:var(--surface-strong);box-shadow:var(--shadow);border-radius:calc(var(--radius) + .15rem);border:1px solid #ffffffb3;padding:.7rem;position:relative}.hero-image-wrap picture img{aspect-ratio:4/5;object-fit:cover;object-position:50% 38%;border-radius:calc(var(--radius) - .15rem)}.hero-sticker{min-height:2.25rem;color:var(--ink);letter-spacing:.1em;text-align:center;text-transform:uppercase;background:#fffdf9e0;border:1px solid #5a3b451f;border-radius:999px;justify-content:center;align-items:center;padding:.45rem .8rem;font-size:.72rem;font-weight:700;line-height:1;display:inline-flex;position:absolute;bottom:1rem;right:1rem;box-shadow:0 .6rem 1.5rem #5a3b4514}.hero-figure figcaption{color:#5a3b45a8;margin:1rem 0 0;font-size:.9rem}.scroll-cue{right:var(--page-pad);letter-spacing:.14em;text-transform:uppercase;color:#5a3b458f;align-items:center;gap:1rem;font-size:.65rem;font-weight:700;display:flex;position:absolute;bottom:1.5rem}.scroll-cue i{background:linear-gradient(90deg, #bc5f6c4d, var(--rose-deep));width:5rem;height:1px;display:block;position:relative}.manifesto{padding:var(--section-pad) var(--page-pad);color:var(--ink);background:0 0;grid-template-columns:minmax(0,1.2fr) minmax(17rem,.55fr);align-items:end;gap:clamp(4rem,10vw,10rem);display:grid}.manifesto h2{max-width:12ch;margin-bottom:2.5rem}.manifesto-copy>p:last-child{color:#5a3b45c7;max-width:50rem;font-size:clamp(1.02rem,1.45vw,1.15rem);line-height:1.75}.quality-list{background:var(--surface);border-radius:calc(var(--radius) + .2rem);box-shadow:var(--shadow);border:1px solid #ffffffb8;margin:0;padding:.35rem 1.25rem;list-style:none}.quality-list li{border-bottom:1px solid #5a3b451a;grid-template-columns:2.6rem 1fr;align-items:center;padding:1rem 0;font-size:.88rem;font-weight:650;display:grid}.quality-list span{color:var(--rose-deep);font-family:var(--display);font-size:.9rem;font-style:italic}.stories{padding:var(--section-pad) var(--page-pad)}.story{grid-template-columns:minmax(0,1fr) minmax(0,.82fr);align-items:center;gap:clamp(2.5rem,7vw,7rem);min-height:38rem;display:grid}.story+.story{margin-top:var(--section-pad)}.story-reverse{grid-template-columns:minmax(0,.82fr) minmax(0,1fr)}.story-reverse .story-image{order:2}.story-image{margin:0;position:relative}.story-image picture img{aspect-ratio:4/5;object-fit:cover;object-position:var(--image-position,center);border-radius:calc(var(--radius) + .15rem);box-shadow:var(--shadow);filter:saturate(.96)contrast(1.01)}.story:nth-child(2) .story-image picture img,.story:nth-child(4) .story-image picture img{aspect-ratio:1}.photo-number{aspect-ratio:1;width:4.5rem;color:var(--paper);background:linear-gradient(135deg, var(--rose), var(--rose-deep));font-family:var(--display);border-radius:50%;place-items:center;font-size:1.2rem;font-style:italic;display:grid;position:absolute;bottom:-1.4rem;right:-1.4rem}.story-copy h2{max-width:10ch;margin-bottom:2rem;font-size:clamp(2.8rem,5vw,5rem)}.story-copy>p:not(.eyebrow){color:#5a3b45d1;max-width:35rem;font-size:clamp(1rem,1.45vw,1.12rem);line-height:1.75}.story-copy aside{border-top:1px solid var(--line);color:#5a3b459e;max-width:32rem;margin-top:2rem;padding:1rem 0 0 1.4rem;font-size:.85rem;line-height:1.65}.gallery-section{padding:var(--section-pad) var(--page-pad);color:var(--ink);background:0 0;overflow:hidden}.gallery-heading{grid-template-columns:1fr 2fr;gap:2rem;margin-bottom:clamp(3rem,8vw,7rem);display:grid}.gallery-heading h2{max-width:12ch;margin:0}.gallery-grid{grid-template-columns:minmax(0,1.85fr) minmax(16rem,.9fr);align-items:end;gap:clamp(1.5rem,4vw,4rem);display:grid}.gallery-item{margin:0}.gallery-item picture img{aspect-ratio:4/5;object-fit:cover;border-radius:calc(var(--radius) + .15rem);box-shadow:var(--shadow)}.gallery-item-featured picture img{aspect-ratio:16/10}.gallery-item figcaption{color:#5a3b45ad;font-family:var(--display);grid-template-columns:2.5rem 1fr;margin-top:1rem;font-size:.95rem;font-style:italic;display:grid}.gallery-item figcaption span{color:var(--rose-deep)}.date-ideas{padding:var(--section-pad) var(--page-pad)}.section-heading{grid-template-columns:minmax(0,1.4fr) minmax(18rem,.5fr);align-items:end;gap:3rem;margin-bottom:clamp(3.5rem,7vw,6.5rem);display:grid}.section-heading h2{max-width:12ch;margin:0}.section-heading>p{color:#5a3b45b8;max-width:27rem;font-family:var(--display);margin-bottom:.4rem;font-size:1.15rem}.date-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.date-list li{border-bottom:1px solid var(--line);border-radius:1.15rem;grid-template-columns:5rem minmax(14rem,.6fr) minmax(20rem,1fr) 3rem;align-items:center;gap:2rem;min-height:8rem;padding:1.5rem 1.25rem;transition:padding .25s,background .25s,border-color .25s,transform .25s;display:grid}.date-list li:hover{background:#ffffffd1;border-color:#5a3b4514;transform:translateY(-2px)}.date-number{color:var(--rose-deep);font-family:var(--display);font-size:1rem;font-style:italic}.date-list h3{letter-spacing:-.03em;margin:0;font-size:clamp(1.7rem,3vw,2.7rem)}.date-list p{color:#5a3b45ad;max-width:38rem;margin:0;font-size:.92rem}.date-arrow{aspect-ratio:1;border:1px solid var(--line);border-radius:50%;place-items:center;width:2.5rem;display:grid}.compatibility{padding:var(--section-pad) var(--page-pad);color:var(--ink);background:0 0}.compatibility-heading{margin-bottom:clamp(3rem,7vw,6rem)}.compatibility-heading h2{max-width:11ch;margin-bottom:0}.compatibility-columns{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.compatibility-card{background:var(--surface);border-radius:calc(var(--radius) + .15rem);box-shadow:var(--shadow);border:1px solid #ffffffbf;padding:clamp(2rem,5vw,4rem)}.compatibility-card-accent{background:linear-gradient(#f7d7d9b8,#fffaf6e0);border-color:#ffffffd1}.compatibility-card>p{font-family:var(--display);margin-bottom:3rem;font-size:1.2rem;font-style:italic}.compatibility-card ul{margin:0;padding:0;list-style:none}.compatibility-card li{font-family:var(--display);border-top:1px solid #5a3b451a;grid-template-columns:2.2rem 1fr;padding:1rem 0;font-size:clamp(1.05rem,1.7vw,1.3rem);line-height:1.45;display:grid}.compatibility-card-accent li{border-color:#17342d33}.compatibility-card li span{color:var(--rose);font-family:var(--sans);font-size:.95rem}.compatibility-card-accent li span{color:var(--rose-deep)}.reveal{padding:var(--section-pad) var(--page-pad);grid-template-columns:minmax(18rem,.75fr) minmax(0,1fr);align-items:center;gap:clamp(3rem,10vw,10rem);display:grid;overflow:hidden}.reveal-image{background:var(--surface-strong);box-shadow:var(--shadow);border-radius:calc(var(--radius) + .1rem);border:1px solid #ffffffbf;margin:0;padding:.7rem;position:relative}.reveal-image picture img{aspect-ratio:4/5;object-fit:cover;border-radius:calc(var(--radius) - .1rem)}.reveal-copy{position:relative}.reveal-copy h2{max-width:11ch;margin-bottom:2rem}.reveal-copy>p:not(.eyebrow){max-width:35rem;font-family:var(--display);font-size:1.3rem}.handwritten{color:var(--rose-deep);letter-spacing:.08em;text-transform:uppercase;background:#ffffffb3;border:1px solid #bc5f6c1f;border-radius:999px;margin-top:1.5rem;padding:.45rem .8rem;font-size:.78rem;font-weight:700;display:inline-flex}.contact{min-height:42rem;padding:var(--section-pad) var(--page-pad);color:var(--ink);text-align:center;background:linear-gradient(#f8d9dbbf 0%,#f4c8cde0 100%);border-top:1px solid #fff9;place-items:center;display:grid;position:relative;overflow:hidden}.contact:before,.contact:after{display:none}.contact:before{top:-10rem;left:-10rem}.contact:after{bottom:-10rem;right:-8rem}.contact-inner{z-index:1;max-width:48rem;box-shadow:var(--shadow);backdrop-filter:blur(10px);background:#fffdf975;border:1px solid #ffffff8c;border-radius:1.5rem;padding:clamp(2rem,5vw,3.5rem);position:relative}.contact .eyebrow{justify-content:center}.contact h2{margin:0 auto 2rem;font-size:clamp(3.2rem,8vw,7.5rem)}.contact-inner>p:not(.eyebrow){max-width:42rem;margin:0 auto 2.5rem;font-size:clamp(1.05rem,1.5vw,1.18rem);line-height:1.75}.button-contact{color:var(--paper);background:linear-gradient(135deg, var(--rose-deep), var(--rose))}.button-contact span{color:var(--rose-deep);background:#fffdf9eb}.contact small{opacity:.72;letter-spacing:.03em;margin-top:1.4rem;font-size:.72rem;display:block}.contact-orbit{display:none}footer{padding:2.25rem var(--page-pad);color:#5a3b45b8;background:#fffcf8fa;border-top:1px solid #5a3b4514;grid-template-columns:1fr auto 1fr;align-items:center;font-size:.72rem;display:grid}.footer-brand{color:var(--ink)}footer p{text-align:center;margin:0}footer>a:last-child{letter-spacing:.08em;text-transform:uppercase;justify-self:end;font-weight:700}.not-found{min-height:100svh;padding:var(--page-pad);text-align:center;place-content:center;display:grid}.not-found .eyebrow{justify-content:center}.not-found h1{max-width:12ch;margin-bottom:2rem;font-size:clamp(3.5rem,8vw,7rem)}.not-found>p:not(.eyebrow){font-family:var(--display);margin-bottom:2rem;font-size:1.3rem}.not-found .button{justify-self:center}.js [data-reveal]{opacity:0;transition:opacity .75s cubic-bezier(.22,1,.36,1),transform .75s cubic-bezier(.22,1,.36,1);transform:translateY(2rem)}.js [data-reveal].is-visible{opacity:1;transform:translateY(0)}@media (width<=960px){.desktop-nav,.header-cta{display:none}.site-header{grid-template-columns:1fr auto}.mobile-nav{display:block;position:relative}.mobile-nav summary{border:1px solid var(--line);cursor:pointer;border-radius:50%;place-content:center;gap:.35rem;width:2.75rem;height:2.75rem;list-style:none;display:grid}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav summary span{background:currentColor;width:1rem;height:1px;display:block}.mobile-nav-panel{border:1px solid var(--line);background:#fffdf9f5;width:min(18rem,100vw - 2rem);padding:1rem;display:grid;position:absolute;top:3.3rem;right:0;box-shadow:0 1rem 3rem #a86b7b24}.mobile-nav-panel a{border-bottom:1px solid var(--line);letter-spacing:.08em;text-transform:uppercase;padding:.85rem;font-size:.78rem;font-weight:700}.mobile-nav-panel a:last-child{color:var(--rose-deep);border-bottom:0}.hero{grid-template-columns:1fr .8fr;gap:3rem;min-height:auto}.hero-sticker{bottom:.75rem;right:.75rem}.manifesto{grid-template-columns:1fr}.quality-list{max-width:38rem}.story{gap:4rem;min-height:0}.date-list li{grid-template-columns:3rem minmax(12rem,.6fr) 1fr}.date-arrow{display:none}}@media (width<=720px){:root{--section-pad:5.5rem}.site-header{min-height:4.75rem;position:sticky}.hero{grid-template-columns:1fr;min-height:auto;padding-top:3rem}.hero-copy{order:1}.hero-figure{order:2;width:88%}.hero h1{font-size:clamp(3.8rem,17vw,6.2rem)}.scroll-cue{display:none}.manifesto,.gallery-heading,.section-heading,.gallery-grid,.compatibility-columns,.reveal{grid-template-columns:1fr}.story,.story-reverse{grid-template-columns:1fr;gap:3rem}.story-reverse .story-image{order:0}.story-image{width:calc(100% - 1rem)}.gallery-item picture img,.gallery-item-featured picture img{aspect-ratio:4/5}.gallery-item:last-child{width:78%;margin-left:auto}.section-heading{gap:1.5rem}.date-list li{grid-template-columns:2.5rem 1fr;gap:.5rem 1rem;padding:1.5rem 1rem}.date-list p{grid-column:2}.reveal-image{width:85%;margin:0 auto}footer{grid-template-columns:1fr auto;gap:2rem}footer p{display:none}}@media (width<=440px){.brand>span:last-child{display:none}.hero-actions{flex-direction:column;align-items:flex-start}.hero-sticker{bottom:1.5rem;right:-1.2rem}.compatibility-card{padding:1.5rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.js [data-reveal]{opacity:1;transform:none}}
