@font-face{font-family:Cormorant;src:url('/assets/cormorant.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Montserrat;src:url('/assets/montserrat.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
:root{--cream:#f7eee3;--wine:#4b101d;--rose:#b5836b;--line:#c7a18c;--serif:Cormorant,'Bodoni 72','Times New Roman',serif;--sans:Montserrat,Arial,sans-serif;color:var(--wine);background:#e7dbcf;font-family:var(--serif);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit}svg{display:block}button:focus-visible,a:focus-visible{outline:2px solid var(--rose);outline-offset:5px}.svg-library{position:absolute;width:0;height:0;overflow:hidden}.page{max-width:860px;margin:auto;background-color:var(--cream);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='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.045' filter='url(%23n)'/%3E%3C/svg%3E");overflow:hidden}.hero{text-align:center;padding-top:18px}.brand-ornament{display:flex;justify-content:center;align-items:center;gap:26px;color:var(--rose)}.brand-ornament span{height:1px;width:148px;background:var(--line)}.brand-ornament svg{width:60px;height:65px}.eyebrow{font:12px/1.65 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:#95684f;margin:8px 0}.top-eyebrow{margin:4px 0 0}h1{font-size:clamp(72px,17.8vw,158px);font-weight:400;line-height:1.04;letter-spacing:-.058em;margin:0 20px;position:relative;z-index:1}.portrait-wrap{position:relative;margin:-12px 0 0;line-height:0}.portrait{display:block;width:100%;height:auto;object-fit:contain}.bio{font-size:clamp(23px,4.4vw,39px);line-height:1.2;margin:17px 18px 0;letter-spacing:-.03em}.bio-separator{font-size:.85em;padding:0 .1em}.heart{font-family:Georgia,serif;font-size:.83em;margin-left:.1em}.bio-eyebrow{margin-top:15px}.socials{padding:28px 8.5% 16px}.section-label{display:flex;gap:27px;align-items:center;justify-content:center}.section-label span{height:1px;background:var(--line);flex:1}.section-label h2,.section-label p{font:12px/1.5 var(--sans);letter-spacing:.33em;text-transform:uppercase;font-weight:400;margin:0;white-space:nowrap}.sparkle{display:block;text-align:center;font-size:19px;color:var(--rose);line-height:1.5}.social-link{display:flex;gap:34px;align-items:center;text-decoration:none;border-bottom:1px solid var(--line);min-height:76px;transition:background .2s,padding .2s;font-size:31px;line-height:1.2;padding:16px}.social-link:hover{background:#b5836b0a;padding-left:23px}.social-icon{width:34px;height:34px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.5}.tiktok{fill:currentColor;stroke:none}.arrow{width:26px;height:20px;flex-shrink:0}.social-link .arrow{margin-left:auto}.society{position:relative;background:radial-gradient(ellipse at 30% 20%,#69283655,transparent 75%),linear-gradient(120deg,#4c121e,#360c16);color:var(--cream);padding:45px 9% 25px;margin-top:0;isolation:isolate}.society::after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.09;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.5' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.society-inner{position:relative}.society-rose{position:absolute;right:-43px;top:-62px;width:290px;height:370px;transform:rotate(-15deg);color:var(--rose);opacity:.28;z-index:-1}.invitation{max-width:360px;margin:0 auto 17px}.invitation span{background:var(--rose)}.invitation p{font-size:12px}.society h2{text-align:center;font-size:clamp(39px,8.9vw,76px);font-weight:400;letter-spacing:-.045em;line-height:1.02;margin:0 -15px}.society-subtitle{font-size:clamp(28px,6.1vw,51px);letter-spacing:-.025em;text-align:center;margin:4px 0 12px;line-height:1.1}.society-description{text-align:center;font-size:23px;line-height:1.35;margin:13px auto 27px;max-width:670px}form{text-align:left}.field{margin-top:24px}label{display:block;font:12px/1.5 var(--sans);text-transform:uppercase;letter-spacing:.24em;margin-bottom:9px}input{display:block;width:100%;height:60px;padding:12px 20px;color:var(--cream);background:#ffffff06;border:1px solid #b28a75;border-radius:0;font-size:23px;outline:none;transition:background .2s,border-color .2s}input::placeholder{color:#d5bdb2;opacity:.9}input:focus{border-color:var(--cream);background:#ffffff0c;box-shadow:0 0 0 1px var(--cream)}input[aria-invalid=true]{border-color:#ffc0ac}.field-error,.form-error{font:14px/1.5 var(--sans);color:#ffd1bd;margin:8px 0 0}.access-button{border:1px solid var(--cream);border-radius:0;display:flex;justify-content:center;align-items:center;gap:16px;width:100%;min-height:62px;margin-top:25px;background:var(--cream);color:var(--wine);font:14px/1.5 var(--sans);text-transform:uppercase;letter-spacing:.25em;transition:background .2s,transform .2s}.access-button:hover{background:#e8d5c3}.access-button:active{transform:translateY(1px)}.access-button:disabled{cursor:wait;opacity:.65}.access-button .arrow{width:21px}.preview-note{font:12px/1.5 var(--sans);text-align:center;color:#d4b8aa;margin:15px 0 0}footer{text-align:center;padding:16px 20px 22px}.footer-ornament{gap:20px}.footer-ornament span{width:85px}.footer-ornament svg{width:33px;height:40px}footer .eyebrow{font-size:12px;margin:5px 0 0}dialog{position:fixed;border:1px solid var(--line);background:var(--cream);color:var(--wine);padding:35px;max-width:460px;width:calc(100% - 36px);text-align:center;box-shadow:0 20px 90px #20070d33}dialog::backdrop{background:#22071099;backdrop-filter:blur(4px)}.close-dialog{position:absolute;right:9px;top:4px;background:none;border:0;font:30px var(--serif);color:var(--wine);width:44px;height:44px}.dialog-rose{width:55px;height:65px;color:var(--rose);margin:0 auto 10px}dialog h2{font-size:38px;font-weight:400;line-height:1.05;margin:0 0 15px}dialog p{font:15px/1.65 var(--sans)}.dialog-done{background:var(--wine);color:var(--cream);border:0;min-height:48px;width:100%;margin-top:15px;font:12px var(--sans);text-transform:uppercase;letter-spacing:.2em}[hidden]{display:none!important}
@media(min-width:1000px){.page{margin:28px auto;box-shadow:0 8px 70px #3d182312}.hero{padding-top:25px}}
@media(max-width:550px){.hero{padding-top:15px}.brand-ornament{gap:15px}.brand-ornament span{width:75px}.brand-ornament svg{width:38px;height:44px}.eyebrow{font-size:10px;letter-spacing:.24em}.top-eyebrow{margin:7px 0 5px}h1{font-size:18vw;line-height:1.1;margin:0 15px}.portrait-wrap{margin-top:-4px}.bio{font-size:6vw;margin-top:12px}.bio-eyebrow{margin-top:10px}.socials{padding:24px 6% 20px}.section-label{gap:15px}.section-label h2,.section-label p{font-size:11px}.sparkle{font-size:15px;margin-top:3px}.social-link{font-size:22px;gap:17px;min-height:66px;padding:14px 6px}.social-link:hover{padding-left:11px}.social-icon{width:26px;height:26px}.social-link .arrow{width:21px}.society{padding:32px 7% 23px}.society h2{font-size:10vw;margin:0 -8px}.society-subtitle{font-size:7.4vw;margin:8px 0 16px}.society-description{font-size:20px;line-height:1.3;margin-bottom:26px}.desktop-break{display:none}.invitation{max-width:260px;margin-bottom:23px}.invitation p{font-size:11px}.field{margin-top:21px}label{font-size:12px}input{font-size:21px;min-height:56px;padding:10px 14px}.access-button{min-height:57px;font-size:13px;letter-spacing:.22em}.preview-note{font-size:12px;line-height:1.6}.society-rose{width:190px;height:270px;right:-55px;top:-40px}.footer-ornament svg{width:30px;height:35px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}

/* Ivory portrait, burgundy biography and links, ivory invitation. */
.brand-ornament img{display:block;width:52px;height:65px;object-fit:contain;filter:grayscale(1) invert(1);mix-blend-mode:multiply;opacity:.72}
.portrait-wrap{aspect-ratio:1536/962;overflow:hidden}
.portrait{position:absolute;top:0;left:0}
.connections{position:relative;isolation:isolate;overflow:hidden;padding:30px 7% 35px;background:radial-gradient(ellipse at 20% 60%,#6b293455,transparent 72%),linear-gradient(120deg,#4c121e,#360c16);color:var(--cream)}
.connections::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.5' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.connections .bio{position:relative;text-align:center;margin:0;font-size:clamp(23px,4.4vw,39px)}
.connections .bio-eyebrow{text-align:center;color:#d9b7a1;margin:13px 0 0}
.connections-rose{position:absolute;width:245px;height:365px;object-fit:contain;left:-47px;bottom:-39px;transform:rotate(-16deg);opacity:.72;z-index:-1;pointer-events:none;mix-blend-mode:screen}
.connections .socials{position:relative;padding:26px 0 0;margin-left:16%}
.connections .section-label{color:#e0c6b5}
.connections .section-label span{background:#b58a7466}
.connections .sparkle{color:#cba086}
.connections .social-link{border-color:#b58a7466;font-size:28px;gap:23px;min-height:76px;padding:16px 10px}
.connections .social-link:hover{background:#f7eee309;padding-left:17px}
.connections .social-icon{width:30px;height:30px;color:#e0bda7}
.connections .arrow{color:#e0bda7}
.society{background-color:var(--cream);background-image:inherit;color:var(--wine);padding-top:48px;overflow:hidden}
.society::after{display:none}
.society-rose{object-fit:contain;right:-65px;top:-80px;width:270px;height:380px;opacity:.26;transform:rotate(-18deg);pointer-events:none;filter:grayscale(1) invert(1);mix-blend-mode:multiply}
.society .invitation{color:#90634e}
.society input{color:var(--wine);background:#ffffff24;border-color:#be9b87}
.society input::placeholder{color:#86675e;opacity:1}
.society input:focus{border-color:var(--wine);background:#ffffff60;box-shadow:0 0 0 1px var(--wine)}
.society input[aria-invalid=true]{border-color:#a12239}
.society .field-error,.society .form-error{color:#9b2037}
.society .access-button{background:var(--wine);color:var(--cream);border-color:var(--wine)}
.society .access-button:hover{background:#692334;border-color:#692334}
.society .preview-note{color:#84675d}
footer{border-top:1px solid #b5836b22}
.footer-ornament img{width:33px;height:43px}
.dialog-rose{object-fit:contain;filter:grayscale(1) invert(1);mix-blend-mode:multiply}
@media(max-width:550px){
  .brand-ornament img{width:35px;height:44px}
  .connections{padding:23px 6% 27px}
  .connections .bio{font-size:6vw}
  .connections .bio-eyebrow{margin-top:10px}
  .connections .socials{margin-left:9%;padding-top:24px}
  .connections .social-link{font-size:21px;gap:13px;padding:14px 4px;min-height:69px}
  .connections .social-icon{width:24px;height:24px}
  .connections .social-link .arrow{width:20px}
  .connections-rose{width:170px;height:270px;left:-84px;bottom:-29px;opacity:.5}
  .society{padding-top:35px}
  .society-rose{width:195px;height:285px;right:-74px;top:-56px;opacity:.2}
  .footer-ornament img{width:29px;height:38px}
}

/* Shared bronze engraving and a continuous portrait-to-burgundy edge. */
.rose-art{display:block;flex-shrink:0;background-color:var(--rose);-webkit-mask-image:url('/assets/rose-mask.png');-webkit-mask-size:contain;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;mask-image:url('/assets/rose-mask.png');mask-size:contain;mask-position:center;mask-repeat:no-repeat;filter:none;mix-blend-mode:normal}
.brand-ornament .rose-art{width:52px;height:65px;opacity:1}
.footer-ornament .rose-art{width:33px;height:43px}
.connections-rose.rose-art{opacity:1}
.society-rose.rose-art{opacity:.78}
.dialog-rose.rose-art{width:55px;height:65px;margin:0 auto 10px}
.portrait-wrap{aspect-ratio:1536/958}
.connections{margin-top:-1px;border:1px solid var(--rose);border-top-width:2px}
.newsletter-choice{display:flex;align-items:flex-start;gap:12px;margin:25px 0 0;font:14px/1.6 var(--sans);text-transform:none;letter-spacing:0;cursor:pointer}
.society .newsletter-choice input{appearance:auto;display:block;flex:0 0 19px;width:19px;height:19px;min-height:0;padding:0;margin:3px 0 0;accent-color:var(--wine);box-shadow:none}
.society .newsletter-choice input:focus-visible{outline:2px solid var(--wine);outline-offset:4px}
.signup-notice{font:12px/1.6 var(--sans);text-align:center;color:#79594f;margin:15px 0 0}
.text-button{display:inline;border:0;background:none;padding:0;color:var(--wine);font:inherit;text-decoration:underline;text-underline-offset:3px}
#collaboration-dialog{max-width:580px;text-align:left;max-height:90dvh;overflow:auto;padding:32px}
#collaboration-dialog h2,#collaboration-dialog .eyebrow,#collaboration-dialog .contact-address{text-align:center}
#collaboration-dialog .contact-address{font:15px/1.5 var(--sans);overflow-wrap:anywhere;user-select:text}
.email-draft label{margin-top:17px;color:var(--wine)}
.email-draft input,.email-draft textarea{width:100%;background:#fff5;border:1px solid var(--line);border-radius:0;color:var(--wine);font:15px/1.55 var(--sans);padding:12px;letter-spacing:0}
.email-draft input{height:46px;min-height:0}
.email-draft textarea{display:block;resize:vertical;min-height:190px}
.email-draft input:focus,.email-draft textarea:focus{outline:1px solid var(--wine);box-shadow:none}
a.dialog-done{display:flex;align-items:center;justify-content:center;text-decoration:none;padding:14px 18px;min-height:48px}
.secondary-button{width:100%;min-height:46px;background:transparent;border:1px solid var(--line);color:var(--wine);font:12px/1.5 var(--sans);letter-spacing:.12em;text-transform:uppercase;margin-top:10px}
#collaboration-dialog .draft-help{font:12px/1.6 var(--sans);margin:13px 0 0;text-align:center;color:#79594f}
#privacy-dialog{max-width:600px;max-height:85dvh;overflow:auto}
.privacy-copy{text-align:left}.privacy-copy p{font-size:14px;line-height:1.7}
@media(max-width:550px){
 .brand-ornament .rose-art{width:35px;height:44px}
 .footer-ornament .rose-art{width:29px;height:38px}
 .connections-rose.rose-art{opacity:.85}
 .society-rose.rose-art{opacity:.62}
 .newsletter-choice{font-size:13px;gap:10px}
 #collaboration-dialog{padding:28px 21px}
 #collaboration-dialog h2{font-size:32px}
}
