html{scroll-behavior:smooth}body{margin:0;overflow-x:hidden}:host{display:block;width:100%;min-height:100vh;color:#302b33;background-color:#f8f5f2;font-family:Georgia,Times New Roman,serif}*{box-sizing:border-box}header,section{scroll-margin-top:80px}img{display:block;max-width:100%}a{color:inherit}main{width:100%;overflow:hidden}.section-container{width:min(100%,1150px);margin:0 auto}.section-heading{text-align:center}.section-label,.hero-subtitle{margin:0 0 14px;font-family:Arial,Helvetica,sans-serif;font-size:.75rem;font-weight:500;letter-spacing:5px;text-transform:uppercase}.section-heading h2{margin:0;font-size:clamp(2.7rem,6vw,5.2rem);font-weight:400;line-height:1}.decorative-line{display:flex;align-items:center;justify-content:center;gap:14px;width:min(100%,250px);margin:24px auto 0}.decorative-line>span:not(.decorative-heart){width:80px;height:1px;background-color:#302b3359}.decorative-heart{color:#8c5ca8;font-size:1.3rem}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:50px;margin-top:30px;padding:14px 25px;border:1px solid #302b33;color:#302b33;background-color:transparent;font-family:Arial,Helvetica,sans-serif;font-size:.73rem;font-weight:500;letter-spacing:1.5px;text-align:center;text-decoration:none;text-transform:uppercase;transition:color .25s ease,background-color .25s ease,transform .25s ease,box-shadow .25s ease}.primary-button:hover{color:#fff;background-color:#302b33;transform:translateY(-3px);box-shadow:0 12px 25px #302b3326}.primary-button:focus-visible,.nav-links a:focus-visible,.logo:focus-visible,.detail-link:focus-visible,.back-to-top:focus-visible{outline:2px solid #8c5ca8;outline-offset:5px}.section-button{display:flex;width:fit-content;margin:58px auto 0}.hero{position:relative;display:flex;flex-direction:column;width:100%;min-height:100vh;padding:100px 24px 65px;overflow:hidden;background:radial-gradient(circle at 15% 18%,rgba(139,232,209,.24),transparent 30%),radial-gradient(circle at 84% 20%,rgba(215,175,255,.28),transparent 31%),radial-gradient(circle at 72% 82%,rgba(158,220,255,.25),transparent 32%),radial-gradient(circle at 18% 82%,rgba(245,169,197,.18),transparent 29%),linear-gradient(135deg,#fffaf2,#f8f0ff 42%,#eefafa 72%,#fff6e8)}.navbar{position:absolute;top:0;left:0;z-index:20;display:flex;align-items:center;justify-content:space-between;width:100%;min-height:80px;padding:20px clamp(24px,6vw,90px)}.logo{font-size:1.35rem;font-weight:700;letter-spacing:4px;text-decoration:none}.nav-links{display:flex;align-items:center;gap:30px}.nav-links a{position:relative;padding:8px 0;font-family:Arial,Helvetica,sans-serif;font-size:.72rem;font-weight:500;letter-spacing:1.4px;text-decoration:none;text-transform:uppercase}.nav-links a:after{content:"";position:absolute;left:0;bottom:1px;width:0;height:1px;background-color:#302b33;transition:width .25s ease}.nav-links a:hover:after{width:100%}.hero-content{display:flex;flex-direction:column;align-items:center;justify-content:center;width:min(100%,1100px);min-height:calc(100vh - 150px);margin:0 auto;text-align:center}.hero-heading{position:relative;z-index:4}.hero-subtitle{color:#6d4a7d}.title{margin:0;font-size:clamp(3.6rem,7vw,6.7rem);font-weight:400;line-height:.9}.title span{display:inline-block;margin:0 13px;color:#8c5ca8;font-size:.65em;font-style:italic;line-height:1}.date{margin:22px 0 0;font-size:clamp(1.15rem,2vw,1.5rem);font-style:italic;letter-spacing:.5px}.hero-image-container{display:flex;align-items:center;justify-content:center;width:100%;margin:20px auto 0;background:transparent;box-shadow:none;overflow:visible}.hero-photo{display:block;width:auto;height:min(55vh,610px);max-width:min(100%,720px);margin:0 auto;object-fit:contain;object-position:center;background:transparent;border:none;box-shadow:none;filter:drop-shadow(0 18px 20px rgba(48,35,55,.14));animation:heroEntrance 1s ease-out both}.hero-button{position:relative;z-index:5;margin-top:10px}@keyframes heroEntrance{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}.scroll-indicator{position:absolute;bottom:20px;left:50%;z-index:10;display:flex;flex-direction:column;align-items:center;gap:5px;color:#302b33;font-family:Arial,Helvetica,sans-serif;font-size:.64rem;letter-spacing:2px;text-decoration:none;text-transform:uppercase;transform:translate(-50%)}.scroll-arrow{font-size:1rem;animation:arrowMovement 1.5s ease-in-out infinite}@keyframes arrowMovement{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}.story-section{position:relative;padding:120px 24px;background:radial-gradient(circle at 10% 30%,rgba(139,232,209,.13),transparent 30%),radial-gradient(circle at 90% 75%,rgba(215,175,255,.12),transparent 30%),#f2ebe5}.story-section:before{content:"";position:absolute;top:0;left:50%;width:1px;height:55px;background-color:#302b334d;transform:translate(-50%)}.story-content{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:clamp(45px,8vw,110px);width:min(100%,980px);margin:65px auto 0}.story-text{font-size:1.08rem;line-height:1.9}.story-text p{margin:0 0 22px}.story-text p:last-child{margin-bottom:0}.story-introduction:first-letter{float:left;margin:9px 9px 0 0;color:#8c5ca8;font-size:4.5rem;line-height:.65}.story-quote{position:relative;padding:52px 42px;border-top:1px solid rgba(48,43,51,.25);border-bottom:1px solid rgba(48,43,51,.25);text-align:center}.quote-symbol{display:block;height:45px;color:#8c5ca866;font-size:5rem;line-height:.8}.story-quote blockquote{margin:20px 0 28px;font-size:clamp(1.5rem,3vw,2.25rem);font-style:italic;line-height:1.4}.quote-names{font-family:Arial,Helvetica,sans-serif;font-size:.7rem;letter-spacing:2px;text-transform:uppercase}.details-section{position:relative;padding:120px 24px;background:radial-gradient(circle at 8% 88%,rgba(215,175,255,.13),transparent 30%),radial-gradient(circle at 92% 15%,rgba(158,220,255,.15),transparent 30%),#fffaf5}.details-introduction{width:min(100%,650px);margin:38px auto 55px;font-size:1.06rem;line-height:1.8;text-align:center}.details-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;width:min(100%,1150px);margin:0 auto}.detail-card{position:relative;display:flex;flex-direction:column;align-items:center;min-height:315px;padding:42px 28px;border:1px solid rgba(48,43,51,.18);background-color:#ffffffad;text-align:center;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.detail-card:hover{border-color:#8c5ca873;transform:translateY(-7px);box-shadow:0 18px 40px #302b3314}.detail-icon{display:flex;align-items:center;justify-content:center;width:58px;height:58px;margin-bottom:24px;border:1px solid rgba(48,43,51,.45);border-radius:50%;color:#8c5ca8;font-size:1.6rem}.detail-card h3{margin:0 0 18px;font-size:1.55rem;font-weight:400}.detail-card p{margin:0;color:#5a545d;font-size:.96rem;line-height:1.65}.detail-card .detail-main-text{margin-bottom:8px;color:#302b33;font-size:1.08rem;font-weight:700}.detail-link{display:inline-block;margin-top:auto;padding:22px 0 5px;border-bottom:1px solid currentColor;color:#302b33;font-family:Arial,Helvetica,sans-serif;font-size:.68rem;letter-spacing:1.2px;text-decoration:none;text-transform:uppercase}.detail-link:hover{color:#8c5ca8}.dress-code-note{width:min(100%,900px);margin:48px auto 0;padding:42px 38px;border:1px solid rgba(48,99,91,.18);background:radial-gradient(circle at 8% 15%,rgba(120,188,226,.2),transparent 31%),radial-gradient(circle at 90% 18%,rgba(185,239,216,.25),transparent 33%),radial-gradient(circle at 18% 90%,rgba(63,120,178,.12),transparent 31%),radial-gradient(circle at 88% 88%,rgba(92,145,119,.16),transparent 34%),#ffffffc7;text-align:center}.dress-code-label{margin:0 0 10px;color:#347c78;font-family:Arial,Helvetica,sans-serif;font-size:.7rem;letter-spacing:3px;text-transform:uppercase}.dress-code-note>h3{margin:0 0 18px;font-size:2rem;font-weight:400}.dress-code-introduction{width:min(100%,720px);margin:0 auto;color:#52615e;line-height:1.85}.color-palette{display:grid;grid-template-columns:repeat(8,43px);justify-content:center;gap:14px;margin:30px auto}.color-swatch{display:block;width:43px;height:43px;border:3px solid rgba(255,255,255,.92);border-radius:50%;box-shadow:0 4px 14px #295b532e,0 0 14px #73cfc421}.color-blue-soft{background-color:#bfdff0}.color-blue-sky{background-color:#7fc4e6}.color-blue-ocean{background-color:#4f9ed1}.color-blue-deep{background-color:#315f91}.color-green-forest{background-color:#346c57}.color-green-emerald{background-color:#43a984}.color-green-sage{background-color:#91bba1}.color-green-mint{background-color:#b9efd8}.dress-code-rules{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:30px}.dress-code-rule{padding:28px 24px;border:1px solid rgba(48,99,91,.14);background-color:#ffffff9e;text-align:center}.dress-code-rule-icon{display:block;margin-bottom:12px;color:#347c78;font-size:1.5rem}.dress-code-rule h4{margin:0 0 14px;font-size:1.35rem;font-weight:400}.dress-code-rule p{margin:0;color:#52615e;line-height:1.75}.dress-code-rule strong{color:#2e4f61}.dress-code-closing{max-width:700px;margin:30px auto 0;padding-top:25px;border-top:1px solid rgba(52,124,120,.2);color:#52615e;font-size:.96rem;font-style:italic;line-height:1.8}.details-message{display:flex;align-items:center;justify-content:center;gap:14px;width:min(100%,600px);margin:58px auto 0;padding:24px 30px;border-top:1px solid rgba(48,43,51,.2);border-bottom:1px solid rgba(48,43,51,.2);text-align:center}.details-message-icon{color:#8c5ca8;font-size:1.4rem}.details-message p{margin:0;font-size:1.12rem;font-style:italic}.photos-section{padding:120px 24px;background:radial-gradient(circle at 14% 20%,rgba(215,175,255,.22),transparent 29%),radial-gradient(circle at 86% 80%,rgba(131,230,189,.2),transparent 30%),radial-gradient(circle at 55% 5%,rgba(158,220,255,.19),transparent 27%),linear-gradient(180deg,#faf3ff,#f1fbf7)}.photos-introduction{width:min(100%,700px);margin:38px auto 55px;font-size:1.06rem;line-height:1.85;text-align:center}.photos-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;width:min(100%,950px);margin:0 auto}.photo-card{display:flex;flex-direction:column;align-items:center;padding:45px 34px;border:1px solid rgba(48,43,51,.16);background-color:#ffffffad;text-align:center;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.photo-card:hover{border-color:#8c5ca859;transform:translateY(-6px);box-shadow:0 18px 35px #302b3314}.photo-card-icon{display:flex;align-items:center;justify-content:center;width:60px;height:60px;margin:0 auto 20px;border:1px solid rgba(48,43,51,.4);border-radius:50%;color:#8c5ca8;font-size:1.6rem}.photo-card-label{margin:0 0 10px!important;color:#8c5ca8!important;font-family:Arial,Helvetica,sans-serif;font-size:.68rem;letter-spacing:2px;text-transform:uppercase}.photo-card h3{margin:0 0 16px;font-size:1.55rem;font-weight:400}.photo-card p{margin:0 0 14px;color:#5a545d;line-height:1.8}.photo-helper-text{color:#79548c!important;font-style:italic}.photo-card .primary-button{margin-top:auto}.photos-note{display:flex;align-items:center;justify-content:center;gap:12px;width:min(100%,680px);margin:42px auto 0;padding-top:25px;border-top:1px solid rgba(48,43,51,.14);color:#5a545d;text-align:center}.photos-note span{color:#8c5ca8;font-size:1.1rem}.photos-note p{margin:0;font-size:.92rem;font-style:italic;line-height:1.7}.back-to-top{display:flex;align-items:center;justify-content:center;gap:10px;width:fit-content;margin:50px auto 0;padding:7px 2px;border-bottom:1px solid currentColor;font-family:Arial,Helvetica,sans-serif;font-size:.68rem;letter-spacing:1.5px;text-decoration:none;text-transform:uppercase;transition:color .2s ease,transform .2s ease}.back-to-top:hover{color:#8c5ca8;transform:translateY(-2px)}@media(max-width:1000px){.details-grid{grid-template-columns:repeat(2,1fr)}.detail-card{min-height:290px}}@media(max-width:800px){.hero{min-height:auto;padding:105px 20px 75px}.navbar{padding:20px}.nav-links{gap:15px}.nav-links a{font-size:.64rem}.hero-content{min-height:auto}.title{font-size:clamp(3.1rem,13vw,5rem)}.title span{margin:0 7px}.hero-image-container{margin-top:25px}.hero-photo{height:min(52vh,530px);max-width:100%}.scroll-indicator{display:none}.story-section,.details-section,.photos-section{padding:90px 20px}.story-content{grid-template-columns:1fr;gap:55px;margin-top:50px}.story-quote{padding:45px 30px}.photos-grid,.dress-code-rules{grid-template-columns:1fr}}@media(max-width:600px){.navbar{align-items:flex-start}.logo{font-size:1.1rem}.nav-links{flex-direction:column;align-items:flex-end;gap:3px}.nav-links a{padding:4px 0}.hero-content{padding-top:30px}.hero-subtitle{font-size:.68rem;letter-spacing:4px}.title{line-height:1}.title span{display:block;margin:5px 0}.hero-photo{height:min(47vh,460px)}.details-grid{grid-template-columns:1fr}.detail-card{min-height:275px}.dress-code-note{padding:32px 20px}.color-palette{grid-template-columns:repeat(4,43px);justify-content:center;gap:12px 14px}.details-message{padding:22px 15px}.photo-card{padding:40px 24px}.photos-note{align-items:flex-start}}@media(max-width:380px){.title{font-size:2.8rem}.hero-photo{height:min(43vh,400px)}.primary-button{padding-right:18px;padding-left:18px;font-size:.66rem}.color-palette{grid-template-columns:repeat(4,34px);gap:8px 10px}.color-swatch{width:34px;height:34px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
