@font-face {
  font-family: 'DM Serif Display';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/type/dm-serif-display-400-italic-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, 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: 'DM Serif Display';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/type/dm-serif-display-400-italic-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'DM Serif Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/type/dm-serif-display-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, 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: 'DM Serif Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/type/dm-serif-display-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/type/poppins-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, 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: 'Poppins';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/type/poppins-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/type/poppins-500-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, 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: 'Poppins';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/type/poppins-500-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/type/poppins-600-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, 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: 'Poppins';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/type/poppins-600-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root {
    --tema-brand: #712f47;
    --tema-brand-deep: #5f263a;
    --tema-brand-50: #f4ebf1;
    --tema-brand-100: #ebdae4;
    --tema-highlight: #d7b545;
    --tema-canvas: #f6f4ee;
    --tema-surface: #fbfaf6;
    --tema-foreground: #2b1920;
    --tema-subtle: #67565e;
    --tema-divider: rgba(113, 47, 71, 0.16);
}
:root{--tema-top:"DM Serif Display";--tema-text:"Poppins"}
.material-symbols-outlined{font-size:1.2em;line-height:1;vertical-align:-.2em}
*,::before,::after{box-sizing:border-box}
body{margin:0;background:var(--tema-canvas);color:var(--tema-foreground);font-family:var(--tema-text),"Helvetica Neue",sans-serif;font-weight:300;line-height:1.65}
h1,h2,h3{font-family:var(--tema-top);font-weight:400}
img{max-width:100%}
[hidden]{display:none!important}
strong,b{font-weight:600}
.crest{max-width:70rem;margin:0 auto;padding:1.4rem 1.25rem;display:flex;align-items:center;justify-content:space-between}
.crest-logo{font-family:var(--tema-top,inherit);font-size:1.7rem;color:var(--tema-brand);text-decoration:none}
.crest-logo i,.drawer-title i,.sign-off-logo i{color:var(--tema-highlight)}
.crest-open{display:inline-flex;align-items:center;gap:.5rem;border:1px solid var(--tema-brand);background:none;color:var(--tema-brand);font:inherit;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;padding:.5rem .9rem;cursor:pointer}
.drawer-veil{position:fixed;inset:0;background:rgba(30,10,20,.45);z-index:70}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(22rem,88vw);background:var(--tema-canvas);z-index:71;padding:2rem 1.8rem;transform:translateX(100%);transition:transform .35s ease;border-left:3px double var(--tema-highlight);overflow-y:auto}
.drawer.drawer-on{transform:none}
.drawer-close{position:absolute;top:1rem;right:1rem;border:0;background:none;font-size:1.4rem;color:var(--tema-brand);cursor:pointer}
.drawer-title{font-family:var(--tema-top,inherit);font-size:1.5rem;color:var(--tema-brand);margin:1rem 0 1.5rem}
.drawer-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--tema-divider)}
.drawer-list a{display:block;padding:1rem 0;border-bottom:1px solid var(--tema-divider);color:var(--tema-foreground);text-decoration:none;font-family:var(--tema-top,inherit);font-size:1.15rem}
.drawer-quote{margin-top:2rem;font-style:italic;color:var(--tema-subtle)}
.sign-off{background:var(--tema-brand);color:rgba(255,255,255,.82);text-align:center;padding:2.8rem 1.25rem 2.4rem;margin-top:3.5rem;border-top:4px solid var(--tema-highlight)}
.sign-off-orn{margin:0;color:var(--tema-highlight);font-size:1.2rem}
.sign-off-logo{margin:.4rem 0 1.2rem;font-family:var(--tema-top,inherit);font-size:1.6rem;color:#fff}
.sign-off-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem 1.4rem}
.sign-off-nav a{color:#fff;text-decoration:none;font-size:.76rem;letter-spacing:.16em;text-transform:uppercase}
.sign-off-nav a:hover{color:var(--tema-highlight)}
.sign-off-fine{margin:1.5rem auto 0;max-width:42rem;font-size:.8rem;line-height:1.7}
.sheet{position:fixed;left:0;right:0;bottom:0;z-index:85;background:var(--tema-canvas);border-top:3px solid var(--tema-highlight);box-shadow:0 -14px 40px rgba(30,10,20,.2);transform:translateY(105%);transition:transform .45s ease}
.sheet.displayed{transform:none}
@media (min-width:44rem){.sheet{left:50%;right:auto;bottom:1.5rem;width:40rem;border:1px solid var(--tema-highlight);transform:translate(-50%,130%)}.sheet.displayed{transform:translate(-50%,0)}}
.sheet-inner{padding:1.4rem 1.5rem;text-align:center}
.sheet-title{margin:0 0 .5rem;font-family:var(--tema-top,inherit);font-size:1.35rem;color:var(--tema-brand)}
.sheet-text{margin:0 0 1.1rem;font-size:.88rem;line-height:1.6;color:var(--tema-subtle)}
.sheet-text a{color:var(--tema-brand)}
.sheet-actions{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center}
.sheet-btn{min-width:10rem;padding:.75rem 1.2rem;border:1px solid var(--tema-brand);background:transparent;color:var(--tema-brand);font:inherit;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;border-radius:999px;cursor:pointer}
.sheet-btn-fill{background:var(--tema-brand);color:#fff}
.deed{max-width:44rem;margin:0 auto;padding:2.5rem 1.25rem 3.5rem;text-align:center}
.deed-orn{margin:0;color:var(--tema-highlight);letter-spacing:.4em}
.deed-title{margin:.8rem 0 1rem;font-size:clamp(2rem,5vw,2.8rem);color:var(--tema-brand)}
.deed-intro{margin:0 auto 2.2rem;max-width:36rem;font-style:italic;line-height:1.7;color:var(--tema-subtle)}
.deed-body{text-align:left}
.deed-part{margin-bottom:1.8rem}
.deed-h2{margin:0 0 .7rem;font-size:1.3rem;color:var(--tema-brand);border-bottom:1px solid var(--tema-divider);padding-bottom:.4rem}
.deed-roman{color:var(--tema-highlight);font-weight:400}
.deed-p{margin:0 0 .8rem;line-height:1.8;text-align:justify;hyphens:auto}
.deed-list{margin:0 0 .8rem;padding-left:1.3rem;line-height:1.8}
.deed-body a{color:var(--tema-brand)}
.deed-date{margin-top:2rem;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;color:var(--tema-subtle)}
.gift{padding:3rem 1.25rem}
.gift-box{max-width:38rem;margin:0 auto;text-align:center;border:1px solid var(--tema-highlight);outline:1px solid var(--tema-highlight);outline-offset:6px;padding:2.4rem 1.6rem;background:#fff}
.gift-icon{font-size:2.6rem;color:var(--tema-highlight)}
.gift-eyebrow{margin:.6rem 0 .3rem;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--tema-subtle)}
.gift-title{margin:0;font-size:clamp(1.9rem,5vw,2.6rem);color:var(--tema-brand)}
.gift-lead{margin:1rem 0 1.6rem;line-height:1.7;color:var(--tema-subtle)}
.ribbon-list{list-style:none;margin:0 0 1.4rem;padding:0;text-align:left;display:grid;gap:.9rem}
.ribbon-list li{display:grid;grid-template-columns:2.4rem 1fr;gap:.8rem;align-items:start}
.ribbon-n{font-family:var(--tema-top,inherit);font-size:1.3rem;color:var(--tema-highlight);text-align:center}
.ribbon-t{margin:0;font-weight:600}
.ribbon-d{margin:.15rem 0 0;font-size:.9rem;color:var(--tema-subtle)}
.gift-note{font-size:.85rem;color:var(--tema-subtle);font-style:italic}
.gift-btn{display:inline-block;margin-top:.6rem;padding:.8rem 1.8rem;border-radius:999px;background:var(--tema-brand);color:#fff;text-decoration:none;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase}
.hall{padding:1rem 1.1rem 0}
.parlour{max-width:38rem;margin:0 auto;background:#fff;border:1px solid var(--tema-divider);padding:1.8rem 1.4rem;box-shadow:0 1px 0 var(--tema-highlight),0 20px 50px rgba(30,10,20,.07)}
.salon{text-align:center}
.salon-orn{margin:0;color:var(--tema-highlight)}
.salon-badge{margin:.3rem 0 0;font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;color:var(--tema-subtle)}
.salon-title{margin:.7rem 0 1.2rem;font-size:clamp(2rem,6.5vw,2.9rem);line-height:1.1;color:var(--tema-brand)}
.salon-title em{color:var(--tema-highlight)}
.salon-frame{padding:.5rem;border:1px solid var(--tema-highlight)}
.salon-frame img{display:block;width:100%;max-height:18rem;object-fit:cover}
.salon-lead{margin:1.2rem 0 .7rem;line-height:1.75}
.salon-meta{margin:0 0 1.4rem;font-size:.8rem;letter-spacing:.08em;color:var(--tema-subtle)}
.salon-cta{padding:1rem 2.6rem;border:1px solid var(--tema-brand);border-radius:999px;background:var(--tema-brand);color:#fff;font:inherit;font-size:.82rem;letter-spacing:.18em;text-transform:uppercase;cursor:pointer}
.salon-legal{margin:1.1rem 0 0;font-size:.74rem;color:var(--tema-subtle)}
.salon-legal a{color:var(--tema-brand)}
.trail{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.6rem;margin-bottom:1.4rem}
.trail-back{display:inline-flex;align-items:center;gap:.3rem;border:0;background:none;color:var(--tema-subtle);font:inherit;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;justify-self:start;padding:0}
.trail-step{grid-column:2;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--tema-brand)}
.trail-line{grid-column:1/-1;height:1px;background:var(--tema-divider)}
.trail-gold{display:block;height:1px;width:0;background:var(--tema-highlight);box-shadow:0 0 0 .5px var(--tema-highlight);transition:width .5s}
.leaf-q{margin:0 0 .5rem;font-size:clamp(1.5rem,5vw,1.9rem);line-height:1.25;text-align:center;color:var(--tema-brand)}
.leaf-sub{margin:0;text-align:center;font-style:italic;color:var(--tema-subtle)}
.ornates{display:grid;gap:.1rem;margin-top:1.2rem}
.ornate{position:relative;display:flex;align-items:center;gap:.9rem;padding:.95rem .4rem;border-bottom:1px solid var(--tema-divider);cursor:pointer}
.ornate input,.cameo input{position:absolute;opacity:0;pointer-events:none}
.ornate-mark{color:var(--tema-highlight);font-size:1.2rem;width:1.2rem;text-align:center}
.ornate-label{font-family:var(--tema-top,inherit);font-size:1.12rem}
.ornate.picked .ornate-mark{color:var(--tema-brand)}
.ornate.picked .ornate-mark::after{content:"";position:absolute;left:.75rem;top:50%;width:.5rem;height:.5rem;margin-top:-.25rem;border-radius:50%;background:var(--tema-brand)}
.ornate.picked .ornate-label{color:var(--tema-brand)}
.cameos{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem .8rem;margin-top:1.2rem}
.cameo{position:relative;display:block;text-align:center;cursor:pointer}
.cameo img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:50%;border:1px solid var(--tema-highlight);padding:.3rem;box-sizing:border-box}
.cameo-name{display:block;margin-top:.5rem;font-family:var(--tema-top,inherit)}
.cameo.picked img{border:3px double var(--tema-brand)}
.cameo.picked .cameo-name{color:var(--tema-brand)}
.maxim{text-align:center}
.maxim img{width:7rem;height:7rem;border-radius:50%;object-fit:cover;border:1px solid var(--tema-highlight);padding:.3rem}
.maxim-title{margin:1rem 0 .4rem;font-family:var(--tema-top,inherit);font-size:1.6rem;color:var(--tema-brand)}
.maxim-text{margin:0;font-style:italic;line-height:1.75;color:var(--tema-subtle)}
.leaf-next{display:block;margin:1.4rem auto 0;padding:.9rem 2.4rem;border:1px solid var(--tema-brand);border-radius:999px;background:transparent;color:var(--tema-brand);font:inherit;font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;cursor:pointer}
.leaf-next:disabled{opacity:.35;cursor:not-allowed}
.keepsake{text-align:center}
.keepsake-img img{width:10rem;height:10rem;object-fit:cover;border-radius:50%;border:1px solid var(--tema-highlight);padding:.35rem}
.keepsake-k{margin:.8rem 0 0;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--tema-subtle)}
.keepsake-v{margin:.2rem 0 0;font-family:var(--tema-top,inherit);font-size:1.5rem;color:var(--tema-brand)}
.keepsake-title{margin:1.2rem 0 .5rem;font-size:1.5rem}
.keepsake-title em{color:var(--tema-highlight)}
.invite{text-align:left}
.invite-sub{text-align:center;font-style:italic;color:var(--tema-subtle);line-height:1.6}
.invite-field{display:block;margin:1.2rem 0}
.invite-label{display:block;text-align:center;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--tema-subtle);margin-bottom:.4rem}
.invite-field input{width:100%;box-sizing:border-box;padding:.9rem;border:1px solid var(--tema-highlight);text-align:center;font:inherit;font-size:1.05rem}
.invite-honey{position:absolute;left:-200vw}
.invite-check{display:flex;gap:.6rem;margin-bottom:.6rem;font-size:.82rem;line-height:1.55;color:var(--tema-subtle)}
.invite-check a{color:var(--tema-brand)}
.invite-error{text-align:center;color:#8a1c2b;font-style:italic}
.invite-send{display:block;width:100%;margin-top:1rem;padding:1rem;border:0;border-radius:999px;background:var(--tema-brand);color:#fff;font:inherit;font-size:.82rem;letter-spacing:.18em;text-transform:uppercase;cursor:pointer}
.invite-fine{text-align:center;font-size:.74rem;color:var(--tema-subtle)}
