:root{--color-bg:#f8f5ef;--color-bg-alt:#f3efe6;--color-surface:#fff;--color-surface-translucent:#ffffffe0;--color-primary:#8e1118;--color-primary-dark:#6b0c12;--color-primary-soft:#8e111814;--color-primary-glow:#8e111829;--color-text:#292624;--color-text-muted:#8a8580;--color-gold:#b59b65;--color-gold-light:#d4c39b;--color-gold-faint:#b59b652e;--color-border-subtle:#b59b6547;--color-border-burgundy:#8e111838;--color-grid:#b59b650f;--font-serif-display:"Playfair Display", "Cormorant Garamond", Georgia, serif;--font-serif-refined:"Cormorant Garamond", Georgia, serif;--font-sans:"Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", monospace;--shadow-sm:0 4px 12px #2926240a;--shadow-card:0 12px 36px #2926240f, 0 2px 8px #b59b650d;--shadow-hover:0 18px 48px #8e111817, 0 4px 12px #b59b651a;--radius-sm:2px;--radius-md:4px;--radius-lg:8px;--grid-step:24px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.6;overflow-x:hidden}body{background-color:var(--color-bg);background-image:linear-gradient(to right, var(--color-grid) 1px, transparent 1px), linear-gradient(to bottom, var(--color-grid) 1px, transparent 1px);background-size:var(--grid-step) var(--grid-step);min-height:100vh;color:var(--color-text);background-position:top;position:relative;overflow-x:hidden}::selection{background-color:var(--color-primary);color:#fff}.page-trim-tl,.page-trim-tr,.page-trim-bl,.page-trim-br{pointer-events:none;z-index:999;opacity:.35;width:24px;height:24px;position:fixed}.page-trim-tl{border-top:1.5px solid var(--color-gold);border-left:1.5px solid var(--color-gold);top:14px;left:14px}.page-trim-tr{border-top:1.5px solid var(--color-gold);border-right:1.5px solid var(--color-gold);top:14px;right:14px}.page-trim-bl{border-bottom:1.5px solid var(--color-gold);border-left:1.5px solid var(--color-gold);bottom:14px;left:14px}.page-trim-br{border-bottom:1.5px solid var(--color-gold);border-right:1.5px solid var(--color-gold);bottom:14px;right:14px}h1,h2,h3,h4{font-family:var(--font-serif-display);letter-spacing:.03em;color:var(--color-primary);font-weight:500}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 24px}.container-narrow{width:100%;max-width:860px;margin:0 auto;padding:0 24px}.dim-tag{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--color-gold);border:1px solid var(--color-border-subtle);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:var(--radius-sm);background:#ffffff73;align-items:center;gap:8px;padding:4px 10px;font-size:.72rem;display:inline-flex}.dim-tag:before{content:"§";color:var(--color-primary);opacity:.75;font-size:.8rem}.section-header{text-align:center;margin-bottom:48px;position:relative}.section-subtitle{font-family:var(--font-mono);letter-spacing:.25em;text-transform:uppercase;color:var(--color-gold);margin-bottom:12px;font-size:.75rem;display:block}.section-title{color:var(--color-primary);margin-bottom:16px;font-size:clamp(2rem,4vw,3rem);font-weight:500;line-height:1.2}.section-desc{max-width:600px;font-family:var(--font-serif-refined);color:var(--color-text-muted);margin:0 auto;font-size:1.2rem;font-style:italic}.dimension-ruler{width:100%;max-width:440px;font-family:var(--font-mono);color:var(--color-gold);letter-spacing:.15em;justify-content:center;align-items:center;gap:12px;margin:18px auto 0;font-size:.7rem;display:flex}.dimension-ruler .ruler-line{background:linear-gradient(90deg, transparent, var(--color-gold), transparent);flex:1;height:1px;position:relative}.dimension-ruler .ruler-line:before,.dimension-ruler .ruler-line:after{content:"";background-color:var(--color-gold);width:1px;height:7px;position:absolute;top:-3px}.dimension-ruler .ruler-line-left:before{left:0}.dimension-ruler .ruler-line-left:after{right:0}.dimension-ruler .ruler-line-right:before{left:0}.dimension-ruler .ruler-line-right:after{right:0}.eng-card{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);box-shadow:var(--shadow-card);padding:36px 32px;transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s,border-color .35s;position:relative}.eng-card:hover{box-shadow:var(--shadow-hover);border-color:var(--color-gold);transform:translateY(-3px)}.eng-card:before,.eng-card:after{content:"";pointer-events:none;width:8px;height:8px;transition:border-color .3s;position:absolute}.eng-card:before{border-top:2px solid var(--color-primary);border-left:2px solid var(--color-primary);top:-1px;left:-1px}.eng-card:after{border-bottom:2px solid var(--color-primary);border-right:2px solid var(--color-primary);bottom:-1px;right:-1px}.btn-primary{background-color:var(--color-primary);color:#fff;font-family:var(--font-sans);letter-spacing:.18em;text-transform:uppercase;border-radius:var(--radius-sm);border:1px solid var(--color-primary);justify-content:center;align-items:center;gap:12px;padding:14px 28px;font-size:.82rem;font-weight:600;transition:all .3s cubic-bezier(.16,1,.3,1);display:inline-flex;position:relative;overflow:hidden;box-shadow:0 4px 14px #8e111840}.btn-primary:before{content:"";background:linear-gradient(90deg,#0000,#ffffff38,#0000);width:100%;height:100%;transition:left .6s;position:absolute;top:0;left:-100%}.btn-primary:hover{background-color:var(--color-primary-dark);transform:translateY(-1px);box-shadow:0 6px 20px #8e111859}.btn-primary:hover:before{left:100%}.btn-secondary{color:var(--color-primary);font-family:var(--font-sans);letter-spacing:.16em;text-transform:uppercase;border-radius:var(--radius-sm);border:1px solid var(--color-border-burgundy);background-color:#0000;justify-content:center;align-items:center;gap:10px;padding:13px 26px;font-size:.82rem;font-weight:600;transition:all .3s cubic-bezier(.16,1,.3,1);display:inline-flex}.btn-secondary:hover{background-color:var(--color-primary-soft);border-color:var(--color-primary);transform:translateY(-1px)}@keyframes ambientSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes ambientSpinReverse{0%{transform:rotate(360deg)}to{transform:rotate(0)}}@keyframes pulseSubtle{0%,to{opacity:.7}50%{opacity:1}}@keyframes drawStroke{to{stroke-dashoffset:0}}@keyframes floatGentle{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.gear-spin-ambient{transform-origin:50%;animation:48s linear infinite ambientSpin}.gear-spin-reverse{transform-origin:50%;animation:36s linear infinite ambientSpinReverse}.custom-crosshair-cursor{pointer-events:none;z-index:9999;transition:opacity .2s;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}.custom-crosshair-dot{background:var(--color-primary);border-radius:50%;width:4px;height:4px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.custom-crosshair-lines{width:32px;height:32px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.custom-crosshair-coords{font-family:var(--font-mono);color:var(--color-gold);white-space:nowrap;letter-spacing:.08em;opacity:.8;border:.5px solid var(--color-border-subtle);background:#f8f5efd9;border-radius:2px;padding:1px 4px;font-size:9px;position:absolute;top:18px;left:18px}@media (pointer:coarse) or (width<=900px){.custom-crosshair-cursor{display:none!important}}.forever-stamp{border:2px dashed var(--color-primary);width:140px;height:140px;color:var(--color-primary);text-align:center;-webkit-user-select:none;user-select:none;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;padding:10px;transition:transform .4s;display:inline-flex;position:relative;transform:rotate(-6deg)}.forever-stamp:hover{transform:rotate(0)scale(1.04)}.forever-stamp-inner{border:1px solid var(--color-primary);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;padding:8px;display:flex}.forever-stamp-text-top{font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;font-size:8px;font-weight:600}.forever-stamp-center{font-family:var(--font-serif-display);color:var(--color-primary);margin:4px 0;font-size:1.15rem;font-weight:700;line-height:1}.forever-stamp-text-sub{font-family:var(--font-mono);letter-spacing:.16em;color:var(--color-gold);font-size:7.5px}.form-group{text-align:left;margin-bottom:22px}.form-label{font-family:var(--font-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--color-primary);justify-content:space-between;align-items:center;margin-bottom:8px;font-size:.8rem;font-weight:600;display:flex}.form-label .label-annotation{font-family:var(--font-mono);color:var(--color-gold);letter-spacing:.05em;text-transform:none;font-size:.68rem;font-weight:400}.form-input,.form-select,.form-textarea{width:100%;font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);outline:none;padding:13px 16px;font-size:.95rem;transition:all .25s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-glow);background:#fff}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-muted);opacity:.6}.radio-options-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:6px;display:grid}.radio-card-label{border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);background:var(--color-bg);cursor:pointer;flex-direction:column;padding:14px 16px;transition:all .25s;display:flex;position:relative}.radio-card-label input[type=radio]{opacity:0;pointer-events:none;position:absolute}.radio-card-label.selected{border-color:var(--color-primary);box-shadow:0 4px 12px var(--color-primary-glow);background:#fff}.radio-card-title{color:var(--color-primary);margin-bottom:2px;font-size:.88rem;font-weight:600}.radio-card-desc{font-family:var(--font-mono);color:var(--color-gold);font-size:.7rem}@media (width<=768px){.section-header{margin-bottom:36px}.eng-card{padding:26px 20px}.radio-options-grid{grid-template-columns:1fr}}.opening-cta-btn{border:1px solid var(--color-primary);color:var(--color-primary);font-family:var(--font-sans);letter-spacing:.22em;text-transform:uppercase;cursor:pointer;border-radius:var(--radius-sm);background:0 0;align-items:center;gap:14px;padding:16px 36px;font-size:.8rem;font-weight:600;transition:all .35s cubic-bezier(.16,1,.3,1);display:inline-flex;position:relative;overflow:hidden}.opening-cta-btn:before{content:"";background:var(--color-primary);transform-origin:0;z-index:0;transition:transform .35s cubic-bezier(.16,1,.3,1);position:absolute;inset:0;transform:scaleX(0)}.opening-cta-btn:hover{color:#fff;transform:translateY(-2px);box-shadow:0 8px 28px #8e111847}.opening-cta-btn:hover:before{transform:scaleX(1)}.opening-cta-btn>*{z-index:1;position:relative}.gallery-grid{grid-template-columns:repeat(4,1fr);grid-auto-rows:240px;gap:16px;max-width:1100px;margin:0 auto;display:grid}.gallery-grid .gallery-item:first-child{grid-row:span 2}.gallery-grid .gallery-item:nth-child(5){grid-column:span 2}.gallery-item{transition:box-shadow .3s,transform .3s}.gallery-item:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}@media (width<=900px){.gallery-grid{grid-template-columns:repeat(3,1fr);grid-auto-rows:200px}.gallery-grid .gallery-item:first-child{grid-row:span 2}.gallery-grid .gallery-item:nth-child(5){grid-column:span 1}}@media (width<=600px){.gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:180px;gap:10px}.gallery-grid .gallery-item:first-child{grid-row:span 1}.gallery-grid .gallery-item:nth-child(5){grid-column:span 1}}@keyframes sectionFadeUp{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}.section-fade-in{animation:.9s cubic-bezier(.16,1,.3,1) forwards sectionFadeUp}@media (prefers-reduced-motion:reduce){.section-fade-in,.opening-cta-btn,.gallery-item,.eng-card{transition:none!important;animation:none!important}.gear-spin-ambient,.gear-spin-reverse{animation:none!important}}.attendance-choice-card{border:2px solid var(--color-border-subtle);border-radius:var(--radius-sm);background:var(--color-bg);cursor:pointer;text-align:center;flex-direction:column;align-items:center;gap:10px;padding:28px 20px;transition:all .25s;display:flex}.attendance-choice-card.selected{border-color:var(--color-primary);box-shadow:0 4px 16px var(--color-primary-glow);background:#8e11180a}@media (width<=480px){.gallery-grid{grid-auto-rows:160px;gap:8px}}
