*{box-sizing:border-box}html{background:#f9eee2}body{margin:0;background:#f9eee2;color:#372c28;font-family:Georgia,'Times New Roman',serif}a{color:inherit}header{position:sticky;top:0;z-index:20;background:#faf0e7f5;border-bottom:1px solid #d5b57d;backdrop-filter:blur(10px)}nav{min-height:65px;max-width:1240px;margin:auto;display:flex;align-items:center;justify-content:center;gap:clamp(12px,2.5vw,38px);padding:9px 14px}nav a{white-space:nowrap;font:600 clamp(10px,1.25vw,15px) Arial,sans-serif;letter-spacing:.075em;text-decoration:none;padding:11px 0}nav a.active{color:#841d39;border-bottom:2px solid #841d39}.monogram{font-size:27px;color:#841d39;margin-left:auto}.scene{position:relative;min-height:calc(100svh - 65px);overflow:hidden;background:radial-gradient(ellipse at center,#fff9f1,#f6e9db)}.scene:not(.home):before,.scene:not(.home):after{content:'';position:absolute;top:0;bottom:0;width:clamp(65px,18vw,280px);background-size:100% 100%;background-repeat:no-repeat;pointer-events:none;opacity:.8}.scene:before{left:0;background-image:url(left.webp)}.scene:after{right:0;background-image:url(right.webp)}.content{position:relative;z-index:1;max-width:760px;width:calc(100% - 130px);margin:0 auto;padding:clamp(38px,6vh,80px) 0 65px;text-align:center}.orn{color:#b48b49;font-size:24px;letter-spacing:.22em;margin:18px auto 28px}.eyebrow{font:12px Arial;letter-spacing:.22em;color:#9e7745;text-transform:uppercase}.title{font-weight:400;font-size:clamp(36px,6vw,76px);color:#7c1935;line-height:1.08;margin:14px 0}.subtitle{font-style:italic;font-size:clamp(21px,3vw,35px);line-height:1.35}.bodycopy{font-size:clamp(16px,2vw,21px);line-height:1.6}.rule{height:1px;background:#c29b5d;width:135px;margin:28px auto}.button{display:inline-block;background:#801631;border:1px solid #b78b4b;color:#fff;text-decoration:none;font:12px Arial;letter-spacing:.12em;text-transform:uppercase;padding:17px 26px;cursor:pointer}.button:disabled{opacity:.5;cursor:not-allowed}.timeline{max-width:450px;margin:45px auto;display:grid;gap:28px}.event{display:grid;grid-template-columns:105px 1fr;align-items:center;text-align:left;gap:20px;border-left:2px solid #bc9256;padding:12px 0 12px 22px}.event strong{font-size:30px;color:#801631;font-weight:400}.event span{font-size:20px}.note{font:14px/1.6 Arial,sans-serif;color:#765b52}.address{font-size:19px;line-height:1.65}.card{border:1px solid #c8a16c;background:#fffaf2dc;padding:24px;margin:20px auto}.form{display:grid;gap:16px;max-width:510px;margin:30px auto;text-align:left}.form label{font-size:17px;font-style:italic}.form input,.form select,.form textarea{display:block;width:100%;margin-top:8px;border:1px solid #c49b61;border-radius:3px;background:#fffaf4;padding:13px;font:16px Arial}.form textarea{min-height:105px}.swatches{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin:10px auto 25px}.swatches i{height:52px}.palette-title{font-size:19px;font-style:italic}.album{font-size:clamp(28px,6vw,49px);color:#801631}.home{display:flex;align-items:center;justify-content:center;background:#f9eee2 url(desktop-bg.webp) center/cover no-repeat}.home-art{position:relative;width:min(100%,852px);margin:auto}.home-art img{width:100%;height:auto;display:block}.home-rsvp{position:absolute;left:24%;top:61.5%;width:52%;height:6%;display:block}.home-location{position:absolute;top:53.7%;left:26%;width:48%;height:7%;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#f8eee2;color:#773a43;font-size:clamp(9px,1.7vw,16px);letter-spacing:.17em;line-height:1.5;text-align:center}.home-location small{font-size:.65em;letter-spacing:.18em}.home-rsvp:focus-visible,.foto-button:focus-visible{outline:3px solid #d4a55a;outline-offset:3px}.home-art:after{content:none}.foto-art{position:relative;width:min(100%,700px);margin:0 auto}.foto-art img{display:block;width:100%;height:auto}.foto-button{position:absolute;left:21%;top:71%;width:58%;height:9%;display:block}.foto-scene{display:flex;align-items:center;justify-content:center}.foto-scene .content{width:100%;padding:0;max-width:700px}.desktop-decoration{display:none}@media(min-width:1050px){.home{padding:32px 7vw}.home-art{width:min(38vw,530px);filter:drop-shadow(0 15px 45px #593c3022)}.home:before,.home:after{content:'';position:absolute;top:0;bottom:0;width:27vw;max-width:500px;background-repeat:no-repeat;background-size:100% 100%;opacity:.8;pointer-events:none}.home:before{left:0;background-image:url(left.webp)}.home:after{right:0;background-image:url(right.webp)}.foto-scene{padding:25px}.foto-art{width:min(40vw,600px)}}@media(max-width:700px){nav{min-height:58px;gap:clamp(8px,2.6vw,17px);padding:7px 9px}.monogram{display:none}.scene{min-height:calc(100svh - 58px)}.scene:not(.home):before,.scene:not(.home):after{width:13vw;opacity:.55}.content{width:calc(100% - 65px);padding:34px 0 55px}.home{display:block;min-height:0;background:#f9eee2}.home-art{width:100%;max-width:100%}.home-art img{width:100%;height:auto}.home-rsvp{top:61.5%}.home-location{font-size:clamp(10px,3vw,20px)}.foto-scene{min-height:0;display:block}.foto-scene .content{padding:0}.foto-art{width:100%}.event{grid-template-columns:80px 1fr;gap:12px}.event strong{font-size:24px}.event span{font-size:17px}.title{font-size:clamp(36px,9vw,55px)}.swatches i{height:42px}}@media(max-width:360px){nav a{font-size:9px;letter-spacing:0}nav{gap:7px}}
/* V28: Desktop pages are native responsive compositions, not portrait posters. */
.desktop-home-content,.desktop-photo-content{display:none}
@media(min-width:900px){
 .scene.home{background:radial-gradient(ellipse at 50% 42%,#fffaf3 0%,#f9efe4 62%,#f4e4d6 100%);min-height:calc(100svh - 65px);padding:0;display:flex;align-items:center;justify-content:center}
 .home .home-art{display:none}
 .home:before,.home:after{width:clamp(180px,25vw,450px);max-width:none;opacity:.95;background-size:100% 100%}
 .desktop-home-content{display:flex;position:relative;z-index:2;min-height:calc(100svh - 65px);width:min(70%,880px);margin:auto;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:55px 30px}
 .desktop-date{font:13px Arial,sans-serif;letter-spacing:.35em;color:#8b5e53;margin:0 0 35px}
 .desktop-home-content h1{font-weight:400;font-size:clamp(65px,8vw,126px);line-height:1.04;letter-spacing:-.045em;color:#7d1733;margin:0 0 28px;max-width:760px}
 .desktop-home-content h1 em{display:block;font-size:.55em;line-height:.8;color:#bb8c47;font-weight:400;letter-spacing:0}
 .desktop-line{height:45px;width:1px;background:#bc9256;margin:0 auto 26px}
 .desktop-venue{font-size:clamp(17px,2vw,24px);letter-spacing:.25em;color:#7c1935;margin:0 0 9px}
 .desktop-town{font:12px Arial,sans-serif;letter-spacing:.25em;margin:0 0 40px}
 .foto-scene{min-height:calc(100svh - 65px);padding:0;background:radial-gradient(ellipse at center,#fffaf2,#f7e8da)}
 .foto-scene .content{max-width:none;width:100%;padding:0}
 .foto-art{display:none}
 .desktop-photo-content{display:flex;position:relative;z-index:2;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100svh - 65px);padding:45px 24px;text-align:center}
 .desktop-photo-content h1{font-weight:400;font-style:italic;color:#512c29;font-size:clamp(31px,4vw,56px);line-height:1.18;margin:12px auto 20px}
 .desktop-photo-content p{font-size:clamp(17px,2vw,23px);line-height:1.4;margin:0 auto 25px}
 .camera-symbol{font-size:65px;color:#b58b4c;line-height:1}
 .album-box{border:2px solid #c99b59;padding:16px 50px;display:grid;gap:8px;margin:8px auto 25px;background:#fff9f0aa}
 .album-box small{font:12px Arial;letter-spacing:.3em}
 .album-box strong{font-size:clamp(30px,4vw,49px);font-weight:400;color:#801631}
}
@media(min-width:900px) and (max-height:650px){.desktop-home-content{padding:22px}.desktop-date{margin-bottom:14px}.desktop-home-content h1{font-size:clamp(54px,7vw,88px);margin-bottom:12px}.desktop-line{height:22px;margin-bottom:15px}.desktop-town{margin-bottom:22px}}

/* V29: seamless desktop background, no rectangular image panels. */
@media (min-width:900px) {
  html,body { background:#faf0e6; }
  .scene,.scene.home,.foto-scene {
    background:radial-gradient(ellipse at 50% 43%,#fffaf4 0%,#fbf3e9 58%,#f6e8db 100%) !important;
  }
  .scene:before,.scene:after,.scene.home:before,.scene.home:after,
  .scene:not(.home):before,.scene:not(.home):after {
    content:""; position:absolute; top:0; bottom:0;
    width:clamp(130px,17vw,270px); max-width:none;
    background-repeat:no-repeat; background-position:center center;
    background-size:100% 100%; opacity:.68; pointer-events:none;
    z-index:0;
  }
  .scene:before,.scene.home:before,.scene:not(.home):before {
    left:0; background-image:url(left.webp);
    -webkit-mask-image:linear-gradient(to right,#000 0%,#000 22%,transparent 100%);
    mask-image:linear-gradient(to right,#000 0%,#000 22%,transparent 100%);
  }
  .scene:after,.scene.home:after,.scene:not(.home):after {
    right:0; background-image:url(right.webp);
    -webkit-mask-image:linear-gradient(to left,#000 0%,#000 22%,transparent 100%);
    mask-image:linear-gradient(to left,#000 0%,#000 22%,transparent 100%);
  }
  .content,.desktop-home-content,.desktop-photo-content {z-index:2;position:relative;}
  .desktop-photo-content {max-width:950px;margin:auto;}
  .desktop-home-content {width:min(74%,900px);}
}
@media(min-width:900px) and (max-width:1150px){
 .scene:before,.scene:after,.scene.home:before,.scene.home:after,.scene:not(.home):before,.scene:not(.home):after {opacity:.4;width:140px}
}
