:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:var(---driftwood-text);background:linear-gradient(to bottom,var(--sand-champagne),var(--blush-coral));font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--sand-champagne: #F1E4D3;--blush-coral: #E7A9A1;--sea-glass-mint: #A8DADC;--ocean-teal: #457B9D;--sunset-gold: #E9C46A;--white-foam: #FFFFFF;--soft-stone: #ECECEC;--driftwood-text: #5A4A3A}body{margin:0;display:flex;min-height:100vh}#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}@media(max-width:600px){#root{max-width:540px}}.back-btn{display:inline-block;background:transparent;border:1px solid rgba(0,0,0,.08);padding:.4rem .6rem;border-radius:6px;text-decoration:none;color:var(--ocean-teal, #457B9D);margin-bottom:.75rem}.back-btn:hover{background:#457b9d0f;cursor:pointer}:root{--header-bg: var(--card-bg)}.site-header{width:100%;max-width:var(--container-max, 1200px);background:var(--header-bg);border-radius:10px;box-shadow:0 6px 18px #2f9fb014;border-bottom:4px solid rgba(47,159,176,.14);margin:0 auto 1rem}.site-header-inner{padding:1rem 1.25rem}.site-title{margin:0;font-family:Georgia,serif;color:var( --ocean-teal);font-size:1.6rem;letter-spacing:.4px}.site-nav{margin-top:.6rem;display:flex;gap:.75rem;justify-content:center}.site-nav .nav-link{color:var(--ocean-teal);text-decoration:none;padding:.35rem .6rem;border-radius:6px;font-weight:500}.site-nav .nav-link:hover{background:#457b9d14}.site-title a{color:inherit;text-decoration:none}.carousel-container{position:relative;margin:auto;overflow:hidden;max-width:1200px}.carousel-window{width:100%;height:auto;overflow:hidden}.carousel-track{display:flex;transition:transform .4s ease;width:100%}.carousel-slide{min-width:100%;max-width:100%;height:100%;position:relative;display:block;text-decoration:none;color:inherit}.carousel-image{width:100%;height:100%;object-fit:cover;border-radius:10px;max-height:700px}.carousel-text{position:absolute;bottom:20px;left:20px;color:#fff;text-shadow:0 2px 6px rgba(0,0,0,.4);font-family:serif}.carousel-text h2{font-size:2.5rem;margin:0}.carousel-text p{font-size:1.2rem;margin-top:5px}.nav-btn{position:absolute;top:50%;transform:translateY(-50%);background:transparent;border:none;font-size:2rem;cursor:pointer;z-index:10;height:100%}.left{left:10px}.right{right:10px}.home-carousel{margin-bottom:1rem}.carousel-image{border-radius:10px;width:100%;height:100%;object-fit:cover;display:block}.text-card{background:var(--soft-stone);border-radius:12px;padding:1.25rem;box-shadow:0 6px 18px #2f9fb00f;border:1px solid rgba(0,0,0,.04);max-width:720px;margin:.5rem auto;text-align:left}.text-card p{margin:0;color:var(--driftwood-text, #5A4A3A);line-height:1.5}.backstory-page{padding:1rem 0}.backstory-grid{display:flex;flex-direction:column;gap:1.5rem}.backstory-row{display:flex;flex-direction:row;gap:1rem;align-items:stretch;flex-wrap:nowrap}.backstory-row .backstory-image img{width:100%;height:100%;object-fit:cover;border-radius:10px;display:block}.backstory-row .text-card{width:100%}.backstory-row.left-image{flex-direction:row}.backstory-row.right-image{flex-direction:row-reverse}.backstory-row .backstory-image{flex:0 0 45%;min-width:120px;display:block}.backstory-row .text-card{flex:1;display:flex;align-items:center;padding:1rem}@media(min-width:768px){.backstory-row .backstory-image{flex-basis:50%;max-width:50%}.backstory-row .text-card{padding:2rem}}.backstory-image img{border-radius:10px}.proposal-page{padding:1rem 0}.proposal-intro{margin:0 auto 1.25rem}.proposal-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.gallery-item{height:220px}.gallery-item img{width:100%;height:100%;object-fit:cover;border-radius:10px;display:block}@media(min-width:900px){.proposal-gallery{grid-template-columns:repeat(3,1fr)}.gallery-item{height:260px}.gallery-item img{height:100%}}.wedding-page{padding:1rem 0}.wedding-photos-row{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin:1rem 0}.wedding-photos-row .photo{width:160px;height:120px;flex:0 0 auto;overflow:hidden;border-radius:8px;max-width:640px;max-height:480px}.wedding-photos-row .photo img{width:100%;height:100%;object-fit:cover;display:block;max-width:100%;max-height:100%}@media(min-width:900px){.wedding-photos-row .photo{width:200px;height:150px}}.wedding-cta{margin:1rem 0}.btn.primary{display:inline-block;background:var(--ocean-teal, #457B9D);color:#fff;padding:.75rem 1.25rem;border-radius:8px;text-decoration:none}
