@font-face{font-family:Mrs Eaves;src:url(/bosphorus-pearl-resources/assets/fonts/mrs-eaves-regular.woff2) format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Mrs Eaves;src:url(/bosphorus-pearl-resources/assets/fonts/mrs-eaves-italic.woff2) format("woff2");font-style:italic;font-weight:400;font-display:swap}@font-face{font-family:Parfumerie;src:url(/bosphorus-pearl-resources/assets/fonts/parfumerie-script.woff2) format("woff2");font-style:normal;font-weight:400;font-display:swap}:root{color:#3a5543;background:#f7f4ed;font-family:Mrs Eaves,Georgia,serif;font-synthesis:none;text-rendering:geometricPrecision;--ivory: #f7f4ed;--cream: #f0ede5;--sage: #3a5543;--sage-dark: #2d4335;--sage-soft: #70816f;--line: rgba(58, 85, 67, .18)}*{box-sizing:border-box}html{min-width:320px;min-height:100%;scroll-behavior:smooth;background:var(--ivory)}body{margin:0;min-width:320px;min-height:100vh;color:var(--sage);background:var(--ivory);-webkit-font-smoothing:antialiased}body,button,input,textarea{font-family:Mrs Eaves,Georgia,serif}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button,a{color:inherit}button{cursor:pointer}img,video{max-width:100%}.wedding-site{min-height:100vh;overflow:hidden;background:radial-gradient(circle at 50% 0%,rgba(255,255,255,.9),transparent 34rem),var(--ivory)}.intro-experience{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;width:100%;height:100%;padding:0;border:0;background:var(--ivory);overflow:hidden;touch-action:manipulation}.intro-experience video{width:100%;height:100%;display:block;object-fit:cover;pointer-events:none;-webkit-user-select:none;user-select:none}.intro-experience:focus-visible{outline:3px solid var(--sage);outline-offset:-6px}.intro-experience.is-opening{cursor:default}.language-toggle{position:fixed;top:18px;right:18px;z-index:120;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border:1px solid rgba(58,85,67,.16);border-radius:999px;background:#f7f4edeb;box-shadow:0 2px 14px #2d433514;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.language-toggle button{min-width:44px;height:30px;padding:0 12px;border:0;color:var(--sage);background:transparent;font-size:10px;letter-spacing:.12em}.language-toggle button.is-active{color:var(--ivory);background:var(--sage)}.music-toggle{position:fixed;right:20px;bottom:20px;z-index:120;width:48px;height:48px;display:grid;place-items:center;padding:0;border:1px solid rgba(58,85,67,.1);border-radius:50%;background:#f7f4edf0;box-shadow:0 6px 24px #2d433524;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.music-toggle img{width:21px;height:21px;filter:sepia(.15) saturate(.7)}.music-toggle.is-muted img{opacity:.38}.hero-section{position:relative;min-height:100vh;min-height:100svh;display:grid;place-items:center;overflow:hidden;color:#fff;isolation:isolate}.hero-video{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-3;width:100%;height:100%;object-fit:cover}.hero-copy{position:absolute;top:92px;left:50%;width:min(90vw,520px);transform:translate(-50%);text-align:center;text-shadow:0 2px 14px rgba(32,47,37,.34);opacity:1;transition:opacity .48s ease,transform .48s ease}.hero-copy.is-hidden{opacity:0;transform:translate(-50%,-14px);pointer-events:none}.hero-announcement{margin:0 0 18px;font-size:12px;letter-spacing:.44em;text-transform:uppercase}.hero-copy h1{margin:0;display:flex;flex-direction:column;align-items:center;color:#fff;font-family:Parfumerie,cursive;font-size:clamp(55px,8vw,88px);line-height:.72;font-weight:400}.hero-copy h1 span:first-child{margin-bottom:64px}.keep-scrolling{position:absolute;left:50%;bottom:22px;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;padding:12px 22px 8px;border:0;color:#fff;background:transparent;font-size:11px;line-height:1.25;letter-spacing:.34em;text-transform:uppercase;text-shadow:0 1px 10px rgba(35,54,41,.5);opacity:1;transition:opacity .7s ease,transform .7s ease}.keep-scrolling[data-hidden=true]{opacity:0;transform:translate(-50%,12px);pointer-events:none}.keep-scrolling img{width:20px;margin-top:7px;filter:brightness(0) invert(1)}.ornamental-section{position:relative;overflow:hidden;background:var(--ivory)}.content-column{position:relative;z-index:5;width:min(100% - 40px,520px);margin-inline:auto}.section-heading{text-align:center}.section-heading h2,.event-card h3,.program-card h3,.dress-card h3,.hotel-card h3,.footer-names{margin:0;font-family:Parfumerie,cursive;font-weight:400}.section-heading h2{font-size:clamp(44px,7vw,64px);line-height:.95}.eyebrow{margin:0 0 18px;font-size:10px;line-height:1.5;letter-spacing:.28em;text-transform:uppercase}.countdown-section{min-height:100vh;display:grid;place-items:center;padding:100px 0 78px}.countdown-section .content-column{position:relative;z-index:3;display:flex;flex-direction:column;gap:44px}.column-decoration{position:absolute;top:0;z-index:2;width:min(26vw,240px);height:100%;object-fit:contain;pointer-events:none;will-change:transform}.column-decoration.left{left:0;object-position:left center}.column-decoration.right{right:0;object-position:right center}.countdown-section.columns-open .column-decoration.left{animation:column-open-left 1.45s cubic-bezier(.22,.78,.22,1) forwards}.countdown-section.columns-open .column-decoration.right{animation:column-open-right 1.45s cubic-bezier(.22,.78,.22,1) forwards}@keyframes column-open-left{0%{transform:translate(0)}to{transform:translate(-46%) rotate(-.6deg)}}@keyframes column-open-right{0%{transform:translate(0)}to{transform:translate(46%) rotate(.6deg)}}.countdown-grid{position:relative;z-index:4;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;text-align:center}.countdown-grid div{display:flex;flex-direction:column;gap:6px}.countdown-grid strong{font-size:27px;line-height:1;font-weight:400;font-variant-numeric:tabular-nums}.countdown-grid span{font-size:9px;letter-spacing:.3em;text-transform:uppercase}.section-divider,.fine-rule{width:42px;height:1px;margin-inline:auto;background:var(--line)}.celebrations-section{padding:20px 0 100px}.celebrations-section .content-column{display:grid;gap:78px}.event-card{position:relative;width:min(100%,430px);margin-inline:auto;padding:46px 28px 34px;border:1px solid rgba(58,85,67,.1);border-radius:8px;text-align:center;background:#f7f4edd1;box-shadow:0 12px 40px #2d433509}.event-illustration{width:min(74%,290px);height:150px;margin:-112px auto 24px;display:block;object-fit:contain}.event-card h3{font-size:42px;line-height:.92}.event-description{margin:14px auto 0;max-width:290px}.event-card>p:not(.eyebrow){margin:9px 0;font-size:14px;line-height:1.5}.event-card .fine-rule{margin-block:22px}.event-card .script-time{font-family:Parfumerie,cursive;font-size:30px!important}.event-card a{display:inline-block;margin-top:18px;font-size:9px;letter-spacing:.2em;text-decoration:none;text-transform:uppercase;border-bottom:1px solid var(--line)}.weekend-section{padding:466px 0 110px}.curtain-decoration{position:absolute;top:0;z-index:2;pointer-events:none}.curtain-decoration.left,.curtain-decoration.right{width:min(24vw,320px);height:65%;object-fit:contain;will-change:transform}.curtain-decoration.left{left:0;object-position:left top;transform:translate(18%);transform-origin:left top}.curtain-decoration.right{right:0;object-position:right top;transform:translate(-18%);transform-origin:right top}.curtain-decoration.center{left:50%;width:min(62vw,700px);transform:translate(-50%)}.weekend-section.curtains-open .curtain-decoration.left{animation:curtain-open-left 1.7s cubic-bezier(.22,.78,.22,1) forwards,curtain-wave-left 5.5s ease-in-out 1.7s infinite}.weekend-section.curtains-open .curtain-decoration.right{animation:curtain-open-right 1.7s cubic-bezier(.22,.78,.22,1) forwards,curtain-wave-right 5.8s ease-in-out 1.7s infinite}.weekend-section.curtains-open .curtain-decoration.center{transform-origin:50% 0;animation:curtain-center-pendulum 7s ease-in-out 1.7s infinite}@keyframes curtain-open-left{0%{transform:translate(18%) rotate(0)}to{transform:translate(-28%) rotate(-1.1deg)}}@keyframes curtain-open-right{0%{transform:translate(-18%) rotate(0)}to{transform:translate(28%) rotate(1.1deg)}}@keyframes curtain-wave-left{0%,to{transform:translate(-28%) rotate(-1.7deg)}50%{transform:translate(-24%) rotate(.9deg)}}@keyframes curtain-wave-right{0%,to{transform:translate(28%) rotate(1.7deg)}50%{transform:translate(24%) rotate(-.9deg)}}@keyframes curtain-center-pendulum{0%,to{transform:translate(-50%) rotate(-.35deg)}50%{transform:translate(-50%) rotate(.35deg)}}.reveal-on-scroll{opacity:0;transform:translateY(28px);transition:opacity .78s cubic-bezier(.22,.78,.22,1) var(--reveal-delay, 0ms),transform .78s cubic-bezier(.22,.78,.22,1) var(--reveal-delay, 0ms);will-change:opacity,transform}.reveal-on-scroll.is-visible{opacity:1;transform:translateY(0)}.weekend-section .content-column{display:grid;gap:80px}.weekend-section .section-heading+.program-card{margin-top:-56px}.program-card{text-align:center}.program-card h3{font-size:clamp(44px,7vw,58px);line-height:.95}.program-card>p:not(.eyebrow):not(.program-label){max-width:370px;margin:24px auto;font-size:15px;line-height:1.7}.program-label{margin:20px 0;font-size:9px;letter-spacing:.28em;text-transform:uppercase}.timeline{width:min(100%,360px);margin:28px auto;padding:0;list-style:none;text-align:left}.timeline li{position:relative;min-height:48px;padding-left:20px;border-left:1px solid var(--line)}.timeline li:before{content:"";position:absolute;top:5px;left:-3px;width:5px;height:5px;border-radius:50%;background:#3a554359}.timeline time{display:block;margin-bottom:4px;font-size:10px;letter-spacing:.18em;text-transform:uppercase}.timeline p{margin:0;font-size:14px;line-height:1.35}.program-card>img{width:min(46%,210px);height:120px;object-fit:contain}.dress-section{padding:94px 0}.dress-grid{display:grid;gap:28px;margin-top:56px}.dress-card{position:relative;min-height:240px;display:grid;align-content:center;padding:34px 26px;border:1px solid rgba(58,85,67,.11);border-radius:8px;text-align:center}.dress-card img{position:absolute;z-index:0;width:135px;height:140px;object-fit:contain;pointer-events:none}.dress-card:first-child img{top:-42px;left:-25px}.dress-card:last-child img{left:-15px;bottom:-30px}.dress-card h3,.dress-card p{position:relative;z-index:1}.dress-card h3{font-size:38px}.dress-card p{margin:6px 0}.dress-card>p:last-child{font-size:14px;letter-spacing:.12em}.stay-section{padding:95px 0 110px}.hotel-list{display:grid;gap:66px;margin-top:54px}.hotel-card{text-align:center}.hotel-card img{width:100%;height:200px;object-fit:contain}.hotel-card h3{font-size:40px;line-height:.95}.hotel-card p{max-width:330px;margin:8px auto;font-size:13px;line-height:1.45}.hotel-card .hotel-price{font-family:Parfumerie,cursive;font-size:28px}.hotel-card span{display:inline-block;margin-top:8px;font-size:9px;letter-spacing:.19em;text-transform:uppercase}.gift-section{padding:105px 0}.rose-decoration{position:absolute;z-index:2;width:min(36vw,330px);pointer-events:none}.rose-decoration.top{top:0;left:0}.rose-decoration.bottom{right:0;bottom:0}.gift-card{position:relative;width:min(100%,430px);margin:54px auto 0;padding:52px 38px;border:1px solid rgba(58,85,67,.11);border-radius:8px;text-align:center;background:#f7f4edd6}.gift-card p{margin:12px 0;line-height:1.65}.gift-lead{font-style:italic}.rsvp-section{min-height:100vh;padding:96px 0 0}.rsvp-section form{width:min(100%,470px);margin:54px auto 0}.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.rsvp-section fieldset{display:grid;gap:10px;margin:0 0 26px;padding:0;border:0}.rsvp-section legend,.counter-row>span,.stacked-field,.guest-fields>p,.additional-guest p,.children-fields p{margin-bottom:12px;font-size:13px;font-weight:400}.rsvp-section label{display:flex;align-items:center;gap:8px;font-size:13px}.rsvp-section input[type=radio],.rsvp-section input[type=checkbox]{width:14px;height:14px;margin:0;accent-color:var(--sage)}.rsvp-section input[type=text],.rsvp-section input[type=email],.rsvp-section textarea{width:100%;padding:11px 12px;border:1px solid rgba(58,85,67,.16);border-radius:3px;color:var(--sage-dark);background:#ffffff2e;font-size:13px;outline:none}.rsvp-section input:focus,.rsvp-section textarea:focus{border-color:var(--sage);box-shadow:0 0 0 2px #3a554314}.counter-row{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:26px 0}.counter{display:grid;grid-template-columns:34px 28px 34px;align-items:center;text-align:center}.counter button{width:34px;height:34px;padding:0;border:1px solid rgba(58,85,67,.16);border-radius:4px;color:var(--sage);background:transparent}.counter button:disabled{opacity:.35;cursor:default}.counter strong{font-size:14px;font-weight:400}.guest-fields,.children-fields{display:grid;gap:10px;margin-bottom:26px}.additional-guest,.children-fields>div:not(.counter-row){display:grid;gap:8px;margin-top:8px}.stacked-field{display:grid!important;align-items:start!important;gap:10px!important;margin:24px 0}.submit-button{position:relative;width:100%;min-height:48px;display:flex;align-items:center;justify-content:center;gap:9px;margin-top:28px;padding:13px 28px;border:0;color:var(--ivory);background:var(--sage);font-size:10px;letter-spacing:.22em;text-transform:uppercase;box-shadow:0 8px 24px #2d43351a}.submit-button img{width:15px;height:15px;filter:brightness(0) invert(1)}.success-message{padding:16px;border:1px solid rgba(58,85,67,.16);text-align:center;font-style:italic}.wedding-footer{position:relative;z-index:5;min-height:430px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:76px 20px 56px;text-align:center}.footer-monogram{width:96px;height:96px;object-fit:contain;margin-bottom:8px}.footer-names{font-size:43px}.wedding-footer p{margin:7px 0}.wedding-footer .credit{margin-top:30px;font-size:11px}.wedding-footer .credit a{text-underline-offset:3px}.footer-vase{position:absolute;bottom:158px;z-index:4;width:min(34vw,270px);pointer-events:none}.footer-vase.left{left:-8px}.footer-vase.right{right:-8px}@media(min-width:760px){.content-column{width:min(100% - 96px,580px)}.language-toggle{top:20px;right:24px}.music-toggle{right:24px;bottom:24px}.hero-copy h1{font-size:80px}.dress-grid{grid-template-columns:1fr 1fr}.stay-section .content-column{width:min(100% - 80px,760px)}.hotel-list{grid-template-columns:repeat(3,1fr);gap:34px}.hotel-card img{height:150px}.hotel-card h3{font-size:34px}}@media(max-width:520px){.language-toggle{top:16px;right:14px}.music-toggle{right:14px;bottom:14px;width:44px;height:44px}.hero-copy{top:92px}.hero-copy h1{font-size:57px}.hero-announcement{font-size:9px}.column-decoration{width:26vw}.countdown-section{padding-top:80px}.section-heading h2{font-size:48px}.event-card{padding-inline:20px}.event-card h3{font-size:39px}.weekend-section{padding-top:446px}.curtain-decoration.center{width:92vw}.curtain-decoration.left,.curtain-decoration.right{width:38vw}.footer-vase{width:36vw}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-video{display:none}.hero-section{background:#8a9b8d}.reveal-on-scroll{opacity:1;transform:none;transition:none}.weekend-section.curtains-open .curtain-decoration.left{animation:none;transform:translate(-28%)}.weekend-section.curtains-open .curtain-decoration.right{animation:none;transform:translate(28%)}.weekend-section.curtains-open .curtain-decoration.center{animation:none;transform:translate(-50%)}.countdown-section.columns-open .column-decoration.left{animation:none;transform:translate(-46%)}.countdown-section.columns-open .column-decoration.right{animation:none;transform:translate(46%)}}
