.header{position:sticky;top:0;z-index:var(--z-overlay);background-color:var(--color-bg-header);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--color-border-light);box-shadow:0 1px 0 0 var(--color-border-light)}.header:before{content:"";display:block;height:2px;background:linear-gradient(90deg,transparent 0%,var(--color-accent) 30%,var(--color-primary) 70%,transparent 100%);opacity:.6}.header__inner{display:flex;align-items:center;height:6rem}.header__logo{text-decoration:none;flex-shrink:0}.header__logo-text{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--font-weight-normal);font-style:italic;color:var(--color-primary);letter-spacing:.01em;position:relative}.header__logo-text:before{content:"✦";position:absolute;top:-.5em;left:-.8em;font-size:.45em;font-style:normal;color:var(--color-accent);opacity:.8}.header__logo-text:after{content:"✦";position:absolute;bottom:-.3em;right:-.7em;font-size:.3em;font-style:normal;color:var(--color-accent);opacity:.6}.header__nav{flex:1;display:flex;justify-content:center}.header__nav-list{display:flex;align-items:center;gap:var(--space-8)}.header__nav-link{font-family:var(--font-body);font-size:var(--text-lg);font-weight:var(--font-weight-normal);color:var(--color-text-muted);text-decoration:none;letter-spacing:var(--tracking-wide);text-transform:capitalize;transition:color var(--transition-normal);position:relative}.header__nav-link:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:1px;background-color:var(--color-secondary);transition:width var(--transition-normal)}.header__nav-link:hover:after,.header__nav-link--active:after{width:100%}.header__nav-link:hover,.header__nav-link--active{color:var(--color-primary)}.header__cta{display:inline-flex;align-items:center;padding:var(--space-2) var(--space-6);font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--font-weight-normal);color:var(--color-text-on-primary);background-color:var(--color-primary);text-decoration:none;border-radius:var(--radius-full);letter-spacing:var(--tracking-wide);transition:background-color var(--transition-normal),transform var(--transition-fast);white-space:nowrap}.header__cta:hover{background-color:var(--color-primary-hover);color:var(--color-text-on-primary);transform:translateY(-1px)}.header__menu-toggle{display:none;margin-left:auto;width:2.5rem;height:2.5rem;align-items:center;justify-content:center;background:none;border:none;border-radius:var(--radius-sm);transition:background-color var(--transition-fast)}.header__menu-toggle:hover{background-color:#69418b0f}.header__menu-icon,.header__menu-icon:before,.header__menu-icon:after{display:block;width:1.25rem;height:1.5px;background-color:var(--color-primary);transition:transform var(--transition-normal),opacity var(--transition-normal)}.header__menu-icon{position:relative}.header__menu-icon:before,.header__menu-icon:after{content:"";position:absolute;left:0}.header__menu-icon:before{top:-6px}.header__menu-icon:after{top:6px}.header__menu-toggle--open .header__menu-icon{background-color:transparent}.header__menu-toggle--open .header__menu-icon:before{transform:translateY(6px) rotate(45deg)}.header__menu-toggle--open .header__menu-icon:after{transform:translateY(-6px) rotate(-45deg)}.header__mobile-nav{background-color:var(--color-bg);border-top:1px solid var(--color-border)}.header__mobile-nav-list{display:flex;flex-direction:column;padding:var(--space-6) 0;gap:var(--space-1)}.header__mobile-nav-link{display:block;padding:var(--space-4) var(--space-6);font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--font-weight-normal);color:var(--color-text-muted);text-decoration:none;letter-spacing:var(--tracking-wide);transition:color var(--transition-fast)}.header__mobile-nav-link:hover,.header__mobile-nav-link--active{color:var(--color-primary)}.header__mobile-cta{display:block;margin:var(--space-4) var(--space-6) var(--space-2);padding:var(--space-4) var(--space-6);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--font-weight-normal);color:var(--color-text-on-primary);background-color:var(--color-primary);text-decoration:none;text-align:center;border-radius:var(--radius-full);letter-spacing:var(--tracking-wide)}@media(max-width:768px){.header__nav,.header__cta{display:none}.header__menu-toggle{display:flex}}.footer{margin-top:auto;background-color:var(--color-primary);color:var(--color-text-on-dark);position:relative}.footer__closing{padding-top:var(--space-10);padding-bottom:var(--space-2);font-family:var(--font-display);font-size:var(--text-base);font-style:italic;color:var(--color-text-on-primary) max-width: none}.footer__divider{display:flex;justify-content:center;padding-top:var(--space-8)}.footer__inner{display:grid;grid-template-columns:2fr 1fr 1fr;gap:var(--space-12);padding-block:var(--space-12) var(--space-16)}.footer__logo{text-decoration:none;display:inline-block;margin-bottom:var(--space-4)}.footer__logo-text{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--font-weight-normal);color:var(--color-third)}.footer__tagline{font-size:var(--text-base);color:var(--color-text-on-dark);line-height:var(--leading-loose)}.footer__heading{font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--font-weight-medium);color:var(--color-third);text-transform:uppercase;letter-spacing:var(--tracking-wider);margin-bottom:var(--space-5)}.footer__nav-list{display:flex;flex-direction:column;gap:var(--space-3)}.footer__nav-link{font-size:var(--text-base);color:var(--color-text-on-primary);text-decoration:none;transition:color var(--transition-fast)}.footer__nav-link:hover{color:var(--color-third);opacity:.7}.footer__contact-list{display:flex;flex-direction:column;gap:var(--space-3)}.footer__contact-item{display:flex;flex-direction:column;gap:var(--space-1)}.footer__contact-label{font-size:var(--text-base);color:var(--color-text-on-primary);letter-spacing:var(--tracking-wide);font-weight:var(--font-weight-semibold)}.footer__contact-value{font-size:var(--text-base);color:var(--color-text-on-primary)}.footer__contact-link{text-decoration:none;transition:color var(--transition-fast)}.footer__contact-link:hover{color:var(--color-third);opacity:.7}.footer__bottom{border-top:1px solid rgba(245,237,220,.1)}.footer__bottom-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding-block:var(--space-6);flex-wrap:wrap}.footer__copyright{font-size:var(--text-sm);color:var(--color-text-on-primary);max-width:none}.footer__legal{display:flex;gap:var(--space-4)}.footer__legal-link{font-size:var(--text-base);color:var(--color-text-on-primary);text-decoration:none;transition:color var(--transition-fast)}.footer__legal-link:hover{color:var(--color-third);opacity:.7}@media(max-width:768px){.footer__inner{grid-template-columns:1fr;gap:var(--space-10);padding-block:var(--space-10)}.footer__bottom-inner{flex-direction:column;align-items:flex-start}}.cookie-banner{position:fixed;bottom:var(--space-6);left:50%;transform:translate(-50%);z-index:var(--z-toast);display:flex;align-items:center;gap:var(--space-6);flex-wrap:wrap;width:min(calc(100vw - var(--space-8)),780px);padding:var(--space-4) var(--space-6);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.cookie-banner__text{flex:1;font-size:var(--text-sm);color:var(--color-text-muted);line-height:var(--leading-normal);max-width:none}.cookie-banner__link{color:var(--color-primary);text-underline-offset:2px}.cookie-banner__actions{display:flex;gap:var(--space-3);flex-shrink:0}.cookie-banner__btn{padding:var(--space-2) var(--space-5);font-size:var(--text-sm);font-weight:var(--font-weight-semibold);border-radius:var(--radius-md);border:1px solid transparent;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.cookie-banner__btn--primary{color:var(--color-text-on-primary);background-color:var(--color-primary)}.cookie-banner__btn--primary:hover{background-color:var(--color-primary-hover)}.cookie-banner__btn--secondary{color:var(--color-text-muted);background-color:transparent;border-color:var(--color-border)}.cookie-banner__btn--secondary:hover{color:var(--color-text);border-color:var(--color-text-muted)}@media(max-width:480px){.cookie-banner{flex-direction:column;align-items:stretch;gap:var(--space-4);bottom:0;border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%}.cookie-banner__actions{justify-content:flex-end}}@font-face{font-family:"Awesome Serif";src:url(/fonts/awesome-serif.woff2) format("woff2"),url(/fonts/awesome-serif.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"Awesome Serif";src:url(/fonts/awesome-serif-italic.woff2) format("woff2"),url(/fonts/awesome-serif-italic.woff) format("woff");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Perfectly Nineties;src:url(/fonts/perfectly-nineties.woff2) format("woff2"),url(/fonts/perfectly-nineties.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}:root{--color-primary: #69418b;--color-secondary: #7b5da0;--color-third: #f5eddc;--color-primary-hover: #7b5da0;--color-primary-dark: #3d2557;--color-primary-soft: #4d3268;--color-bg: var(--color-third);--color-bg-alt: #eee5d1;--color-bg-header: rgba(238, 229, 209, .92);--color-surface: rgba(245, 237, 220, .6);--color-surface-raised: #faf6ee;--color-surface-warm: rgba(105, 65, 139, .04);--color-bg-secondary: var(--color-secondary);--color-bg-secondary-light: rgba(123, 93, 160, .08);--color-text: var(--color-primary);--color-text-muted: var(--color-secondary);--color-text-on-primary: var(--color-third);--color-text-on-dark: rgba(245, 237, 220, .85);--color-text-on-secondary: rgba(245, 237, 220, .92);--color-text-on-secondary-muted: rgba(245, 237, 220, .65);--color-text-on-secondary-ghost: rgba(245, 237, 220, .15);--color-border: rgba(105, 65, 139, .18);--color-border-light: rgba(105, 65, 139, .08);--color-border-on-secondary: rgba(245, 237, 220, .2);--color-accent: #a482c5;--color-purple-light: rgba(123, 93, 160, .1);--color-purple-glow: rgba(105, 65, 139, .06);--font-display: "Awesome Serif", "Playfair Display", Georgia, serif;--font-body: "Perfectly Nineties", "DM Sans", system-ui, sans-serif;--font-sans: var(--font-body);--font-serif: var(--font-display);--font-mono: monospace;--text-xs: clamp(.7rem, .65rem + .25vw, .75rem);--text-sm: clamp(.8rem, .75rem + .25vw, .875rem);--text-base: clamp(.9rem, .85rem + .25vw, 1rem);--text-lg: clamp(1rem, .95rem + .25vw, 1.125rem);--text-xl: clamp(1.125rem, 1rem + .5vw, 1.25rem);--text-2xl: clamp(1.35rem, 1.15rem + .75vw, 1.5rem);--text-3xl: clamp(1.6rem, 1.3rem + 1vw, 1.875rem);--text-4xl: clamp(2rem, 1.5rem + 1.5vw, 2.5rem);--text-5xl: clamp(2.5rem, 1.8rem + 2.5vw, 3.5rem);--text-6xl: clamp(3rem, 2rem + 3.5vw, 4.5rem);--leading-tight: 1.2;--leading-normal: 1.65;--leading-loose: 1.85;--leading-relaxed: 2;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--tracking-wide: .15em;--tracking-wider: .25em;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--space-32: 8rem;--max-width-content: 1140px;--max-width-text: 60ch;--max-width-narrow: 720px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(105, 65, 139, .06);--shadow-md: 0 4px 16px rgba(105, 65, 139, .08);--shadow-lg: 0 8px 32px rgba(105, 65, 139, .1);--transition-fast: .18s cubic-bezier(.25, .46, .45, .94);--transition-normal: .35s cubic-bezier(.25, .46, .45, .94);--transition-slow: .6s cubic-bezier(.25, .46, .45, .94);--z-below: -1;--z-base: 0;--z-raised: 10;--z-overlay: 100;--z-modal: 200;--z-toast: 300}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text);background-color:var(--color-bg);background-image:radial-gradient(ellipse at 15% 0%,rgba(164,130,197,.12) 0%,transparent 45%),radial-gradient(ellipse at 85% 100%,rgba(105,65,139,.08) 0%,transparent 45%);background-attachment:fixed;min-height:100vh;display:flex;flex-direction:column;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);line-height:var(--leading-tight);font-weight:var(--font-weight-normal);color:var(--color-text)}p{max-width:var(--max-width-text)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-hover)}img,video{max-width:100%;height:auto;display:block}ul,ol{list-style:none}button{cursor:pointer;font-family:inherit;font-size:inherit}.container{width:100%;max-width:var(--max-width-content);margin-inline:auto;padding-inline:var(--space-6)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.skip-link{position:absolute;top:-100%;left:var(--space-4);z-index:calc(var(--z-modal) + 1);padding:var(--space-3) var(--space-6);font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-on-primary);background-color:var(--color-primary);border-radius:var(--radius-full);text-decoration:none;transition:top var(--transition-fast)}.skip-link:focus{top:var(--space-3)}.page-hero{position:relative;padding:var(--space-20) 0 var(--space-16);text-align:center;overflow:hidden}.page-hero__glow{position:absolute;top:-30%;left:50%;transform:translate(-50%);width:100%;height:80%;background:radial-gradient(ellipse at center,var(--color-purple-light) 0%,transparent 70%);pointer-events:none}.page-hero__content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:var(--space-5)}.page-hero__label{font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--font-weight-medium);color:var(--color-accent);text-transform:uppercase;letter-spacing:var(--tracking-wider);display:inline-flex;align-items:center;gap:var(--space-3)}.page-hero__label:before,.page-hero__label:after{content:"✦";font-size:.55em;color:var(--color-accent);opacity:.8}.page-hero__title{font-family:var(--font-display);font-size:var(--text-5xl);font-weight:var(--font-weight-normal);color:var(--color-text);line-height:var(--leading-tight)}.page-hero__title em{color:var(--color-accent);font-style:italic}.page-hero__description{font-size:var(--text-lg);color:var(--color-text-muted);max-width:48ch;text-align:center;line-height:var(--leading-relaxed)}@media(max-width:768px){.page-hero{padding:var(--space-16) 0 var(--space-10)}.page-hero__title{font-size:var(--text-4xl)}}.section-label{font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--font-weight-medium);color:var(--color-accent);text-transform:uppercase;letter-spacing:var(--tracking-wider);display:inline-flex;align-items:center;gap:var(--space-3)}.section-label:before,.section-label:after{content:"✦";font-size:.55em;color:var(--color-accent);opacity:.7}.section-ornament{display:flex;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-12) 0;pointer-events:none}.section-ornament:before,.section-ornament:after{content:"";width:48px;height:1px;background-color:var(--color-secondary);opacity:.3}.section-ornament__diamond{width:6px;height:6px;background-color:var(--color-secondary);opacity:.35;transform:rotate(45deg);flex-shrink:0}.btn-primary{display:inline-flex;align-items:center;padding:var(--space-3) var(--space-8);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--font-weight-normal);color:var(--color-text-on-primary);background-color:var(--color-primary);border:none;border-radius:var(--radius-full);letter-spacing:var(--tracking-wide);text-decoration:none;cursor:pointer;transition:background-color var(--transition-normal),transform var(--transition-fast)}.btn-primary:hover{background-color:var(--color-primary-hover);color:var(--color-text-on-primary);transform:translateY(-2px)}.btn-primary:active{transform:translateY(0)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
