@import url('https://fonts.googleapis.com/css2?family=Allura&family=Great+Vibes&family=Monsieur+La+Doulaise&family=Cormorant+Garamond:ital,wght@0,400;0,500;1,400&family=Manrope:wght@400;500&display=swap');
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#101219;color:#e8dfd1;font-family:'Cormorant Garamond',Georgia,serif}a{color:inherit;text-underline-offset:5px}header{max-width:1180px;margin:auto;padding:26px 42px;display:flex;gap:28px;align-items:center;border-bottom:1px solid #c7a77b25;font-family:Manrope,Arial,sans-serif;font-size:12px}.brand{font-size:16px;letter-spacing:2px;text-transform:uppercase;text-decoration:none;margin-right:auto}nav{display:flex;gap:24px}nav a{text-decoration:none}.review{position:relative;color:#b8a88f;font-size:10px}.review summary{cursor:pointer;white-space:nowrap}.review[open]{max-width:260px}.review p{line-height:1.6}.skip{position:absolute;left:-10000px}.skip:focus{left:20px;top:10px;z-index:9;background:#101219;padding:10px}article{max-width:1140px;margin:auto;padding:60px 60px 20px;position:relative}h1{font-weight:400;font-size:clamp(48px,5.6vw,74px);line-height:1.05;letter-spacing:-1.5px;margin:0 0 32px;max-width:650px}h1 em{font-weight:400;color:#d0b383}.letter{font-size:23px;line-height:1.55;max-width:680px}.letter p{margin:0 0 25px}.letter p:first-child{font-size:26px;margin-bottom:28px}.castle-art{float:right;width:29%;height:420px;margin:0 -16px 35px 42px;overflow:hidden;position:relative;shape-outside:inset(0)}.castle-art img{height:100%;width:100%;max-width:none;object-fit:cover;object-position:left center}.castle-art:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#101219,transparent 30%)}.invitation{padding:0 0 8px;font-size:19px}.invitation a{color:#d0b383;text-decoration-thickness:1px}.signature{font-style:italic;color:#d0b383;font-size:29px;margin-top:28px!important}#doors{clear:both;margin-top:30px}.closing{text-align:center;font-style:italic;color:#c7a77b;font-size:23px;padding:0 24px 38px;margin:0}footer{padding:24px;text-align:center;font:12px Manrope,Arial,sans-serif;border-top:1px solid #c7a77b20;color:#bba98c}@media(max-width:760px){header{padding:20px 24px;flex-wrap:wrap;gap:15px}.brand{width:100%;font-size:14px}nav{gap:22px}.review{margin-left:auto}article{padding:35px 25px 12px}.castle-art{float:none;width:100%;height:230px;margin:0 0 26px}.castle-art img{width:200%;object-fit:cover;object-position:left center}.castle-art:after{background:linear-gradient(0deg,#101219,transparent 35%)}h1{font-size:52px;margin-bottom:28px}.letter{font-size:22px;line-height:1.5}.letter p:first-child{font-size:24px}.letter p{margin-bottom:24px}#doors{margin-top:20px}.closing{font-size:22px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Restore v73 header identity using existing approved artwork only. */
.restored-header{max-width:1400px;padding:12px 6.5%;gap:22px;flex-wrap:wrap}.logo-window{display:block;position:relative;overflow:hidden;width:205px;height:110px;flex:none;margin-right:auto}.logo-window img{position:absolute;width:269%;height:auto;max-width:none;left:-84.5%;top:-31%}.restored-header nav{gap:22px}.nav-cta{border:1px solid #c7a77b70;padding:10px 14px;text-decoration:none;color:#d0b383;font-size:10px;white-space:nowrap}.restored-header .review{flex-basis:100%;margin-left:auto;text-align:right;margin-top:-10px}.restored-header .review[open]{text-align:left;max-width:340px}.restored-banner{background:#071321}.restored-banner .hero-banner{display:block;width:100%;height:clamp(260px,22vw,340px);overflow:hidden}.restored-banner .hero-image{display:block;width:100%;height:100%;object-fit:cover;object-position:center 35%}@media(max-width:900px){.restored-header{padding:12px 5%;gap:14px}.restored-header nav{gap:14px}.logo-window{width:175px;height:94px}.nav-cta{display:none}}@media(max-width:760px){.restored-header nav{width:100%;justify-content:space-between;font-size:10px;gap:8px}.restored-header .logo-window{width:180px;height:97px}.restored-header .review{flex-basis:auto;margin:0 0 0 auto;order:2}.restored-header nav{order:3}.restored-banner .hero-banner{height:260px}}@media(max-width:480px){.restored-banner .hero-banner{height:auto;aspect-ratio:852/464}.restored-banner .hero-image{height:auto;aspect-ratio:852/464;object-fit:contain}}

.restored-header .castle-script{font-family:Allura,"Brush Script MT","Segoe Script",cursive;font-weight:400;font-size:45px;line-height:1.25;text-transform:none;letter-spacing:0;color:#d8bd91;text-decoration:none;width:220px;display:block;padding:12px 0}.restored-header{min-height:120px}@media(max-width:760px){.restored-header .castle-script{width:auto;flex:none;font-size:40px;padding:8px 0}.restored-header{min-height:116px}}

/* Preview-only continuous castle margin and handwritten closing. */
article#welcome{max-width:1280px;padding:64px 6.2% 32px;isolation:isolate;overflow:visible}
#welcome .castle-art{position:absolute;z-index:-1;float:none;top:-100px;right:0;bottom:0;width:34%;height:auto;margin:0;overflow:hidden;pointer-events:none;mask-image:linear-gradient(to bottom,transparent 0,#000 125px,#000 88%,transparent 100%)}
#welcome .castle-art img{width:100%;height:100%;object-fit:cover;object-position:left center;opacity:.78}
#welcome .castle-art:after{background:linear-gradient(to right,#101219 0,rgba(16,18,25,.24) 32%,transparent 68%)}
#welcome h1,#welcome .letter{max-width:66%;position:relative}
#welcome .signature{font-family:"Great Vibes",Allura,"Brush Script MT",cursive;font-style:normal;font-weight:400;font-size:58px;line-height:1.4;color:#dfc29a;margin-top:32px!important;padding:8px 0 18px;text-shadow:0 0 22px #d7ac6130}
@media(max-width:760px){article#welcome{padding:0 25px 20px}#welcome .castle-art{position:relative;top:auto;right:auto;bottom:auto;z-index:0;width:calc(100% + 50px);height:310px;margin:-35px -25px 10px;mask-image:linear-gradient(to bottom,transparent,#000 60px,#000 70%,transparent)}#welcome .castle-art img{width:200%;height:100%;object-position:left center;opacity:1}#welcome .castle-art:after{background:linear-gradient(to bottom,transparent 65%,#101219)}#welcome h1,#welcome .letter{max-width:100%}#welcome .signature{font-size:48px}}
@media(min-width:761px){#welcome .castle-art{mask-image:linear-gradient(to bottom,transparent 0,#000 145px,#000 88%,transparent 100%),linear-gradient(to right,transparent,#000 28%);mask-composite:intersect}}

#welcome .signature{font-family:"Monsieur La Doulaise","Great Vibes",cursive;font-size:76px;line-height:1.25;position:relative;padding:28px 0 32px;width:max-content;max-width:100%;letter-spacing:.2px}#welcome .signature:after{content:'';display:block;height:34px;width:100%;max-width:400px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 40'%3E%3Cpath d='M12 22 C40 4 102 31 164 20 S300 6 380 18 C405 25 380 39 366 26 C356 14 386 1 397 12 M75 22 C37 34 21 6 45 9 C63 13 52 31 31 28 M126 23 Q201 43 280 20' fill='none' stroke='%23d8bd91' stroke-width='1.2'/%3E%3C/svg%3E") center/contain no-repeat;margin-top:-10px;opacity:.85}@media(max-width:760px){#welcome .signature{font-size:59px}}

/* True grounds outpaint, one scene at its native aspect: no zoomed side crop. */
.castle-welcome-scene{position:relative;background:#101219;isolation:isolate}.castle-welcome-scene:before{content:'';position:absolute;z-index:-1;inset:0 0 auto;height:150vw;max-height:2300px;background:url('/assets/castle-welcome-garden.png') top center/100% auto no-repeat;mask-image:linear-gradient(to bottom,#000 0,#000 86%,transparent 100%)}
.castle-welcome-scene .restored-banner{background:transparent;mask-image:linear-gradient(to bottom,#000 0,#000 78%,transparent 100%)}.castle-welcome-scene .hero-banner{height:auto;overflow:visible}.castle-welcome-scene .hero-image{height:auto;width:100%;object-fit:initial}
#welcome .castle-art{display:none}article#welcome{padding-top:25px}#welcome .letter{font-size:22px;line-height:1.48;max-width:64%}#welcome .letter p{margin-bottom:23px}
@media(max-width:760px){.castle-welcome-scene:before{height:150vw;max-height:none;background-size:100% auto;opacity:.75}.castle-welcome-scene .hero-banner{aspect-ratio:auto}.castle-welcome-scene .hero-image{aspect-ratio:auto}article#welcome{padding-top:35px;background:linear-gradient(to bottom,transparent,#101219 380px)}#welcome h1,#welcome .letter{max-width:100%}#welcome .letter{font-size:22px;line-height:1.5}.castle-welcome-scene .restored-banner{mask-image:linear-gradient(to bottom,#000 70%,transparent)}}
@media(min-width:761px){article#welcome{background:linear-gradient(to right,rgba(16,18,25,.36) 0,rgba(16,18,25,.68) 61%,rgba(16,18,25,.45) 68%,transparent 77%)}#welcome .letter{text-shadow:0 1px 4px #080b11,0 0 10px #080b11}}

/* Extended real foreground, preserving approved calligraphy unchanged. */
.castle-welcome-scene:before{background-image:url('/assets/castle-welcome-garden.png');height:100%;max-height:none;mask-image:linear-gradient(to bottom,#000 0,#000 94%,transparent 100%)}
.signature-roses{display:block;width:460px;max-width:100%;height:auto;margin:-18px 0 12px;object-fit:contain}
@media(max-width:760px){.castle-welcome-scene:before{height:250vw;max-height:none;mask-image:linear-gradient(to bottom,#000 0,#000 65%,transparent 100%)}.signature-roses{width:100%;margin:-12px 0 12px}}

@media(min-width:761px){article#welcome{background:linear-gradient(to right,rgba(16,18,25,.42) 0,rgba(16,18,25,.88) 61%,rgba(16,18,25,.70) 68%,transparent 78%)}}

.comparison-note{position:fixed;z-index:99;bottom:12px;left:50%;transform:translateX(-50%);padding:9px 16px;border:1px solid #c6aa7860;background:#101219ef;border-radius:5px;color:#e9dccb;font:11px/1.5 Manrope,Arial,sans-serif;max-width:95%;white-space:nowrap}.castle-welcome-scene:before{background-image:url('/assets/castle-welcome-garden.png')}@media(max-width:600px){.comparison-note{white-space:normal;width:max-content;text-align:center}}
.castle-welcome-scene:before{background-image:url('/assets/castle-welcome-garden.png');mask-image:linear-gradient(to bottom,#000 0,#000 97%,transparent 100%)}.garden-closing{height:180px}
@media(min-width:761px){article#welcome{background:none}article#welcome:after{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(to right,rgba(16,18,25,.42) 0,rgba(16,18,25,.88) 61%,rgba(16,18,25,.70) 68%,transparent 78%);mask-image:linear-gradient(to bottom,#000 0,#000 calc(100% - 280px),transparent calc(100% - 70px))}}
@media(max-width:760px){.garden-closing{height:210px;margin:0 -25px;background:url('/assets/castle-welcome-garden.png') center bottom/100% auto no-repeat;mask-image:linear-gradient(to bottom,transparent,#000 30%,#000 90%,transparent)}.castle-welcome-scene:before{mask-image:linear-gradient(to bottom,#000 0,#000 65%,transparent 100%)}}

.castle-welcome-scene:before{background-image:url('/assets/castle-welcome-garden.png')}.castle-welcome-scene .restored-banner{mask-image:none;background:transparent}.castle-welcome-scene .hero-image{visibility:hidden}@media(max-width:760px){.garden-closing{background-image:url('/assets/castle-welcome-garden.png')}}/* Softly feather the letter's contrast layer, avoiding its former hard rectangular top. */
@media(min-width:761px){article#welcome:after{top:-180px;mask-image:linear-gradient(to bottom,transparent 0,rgba(0,0,0,.3) 120px,#000 340px,#000 calc(100% - 280px),transparent calc(100% - 70px))}}
@media(max-width:760px){article#welcome{background:linear-gradient(to bottom,transparent,rgba(16,18,25,.6) 180px,#101219 500px)}}
/* Preserve full trailing stems and softly taper the lower garden edge. */
.castle-welcome-scene:before{background-image:url('/assets/castle-welcome-garden.png');mask-image:linear-gradient(to bottom,#000 0,#000 90%,transparent 100%)}
@media(min-width:761px){.castle-welcome-scene{min-height:250vw}}
@media(max-width:760px){.garden-closing{height:250px;background-image:url('/assets/castle-welcome-garden.png');mask-image:linear-gradient(to bottom,transparent,#000 25%,#000 75%,transparent 100%)}.castle-welcome-scene:before{mask-image:linear-gradient(to bottom,#000 0,#000 65%,transparent 100%)}}

/* Owner requested closer wings heading; unchanged original door component. */
#doors{position:relative;margin-top:-105px}@media(max-width:760px){#doors{margin-top:-45px}}

/* Keep the header signature on one line at every viewport. */
.restored-header .castle-script{width:max-content;max-width:100%;white-space:nowrap;flex-shrink:0;font-size:clamp(30px,8vw,45px)}
