@font-face{font-family:"Source Serif 4";src:url("../fonts/source-serif-4-roman.woff2") format("woff2");font-style:normal;font-weight:200 900;font-display:swap}
@font-face{font-family:"Source Serif 4";src:url("../fonts/source-serif-4-italic.woff2") format("woff2");font-style:italic;font-weight:200 900;font-display:swap}
@font-face{font-family:"Manrope";src:url("../fonts/manrope.woff2") format("woff2");font-style:normal;font-weight:200 800;font-display:swap}

:root{--navy:#061524;--navy-deep:#020a12;--navy-soft:#0b2437;--gold:#c89a4b;--gold-light:#e5c98f;--cream:#f2ead9;--paper:#fbf8f1;--paper-warm:#efe5d2;--ink:#102334;--white:#fff;--shell:min(1320px,calc(100% - 64px));--serif:"Source Serif 4",Georgia,serif;--sans:"Manrope",Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--navy-deep);color:var(--cream);font-family:var(--sans);line-height:1.65;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
button,input{font:inherit}
.shell{width:var(--shell);margin-inline:auto}
.skip-link{position:fixed;z-index:999;top:12px;left:12px;padding:10px 16px;background:var(--paper);color:var(--navy);transform:translateY(-160%)}
.skip-link:focus{transform:none}

.site-header{position:relative;z-index:20;border-bottom:1px solid rgba(200,154,75,.42);background:var(--navy-deep)}
.header-inner{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:inline-flex;align-items:center;gap:15px;color:var(--gold-light);font-family:var(--serif);font-size:26px;letter-spacing:.16em;text-decoration:none;text-transform:uppercase}
.brand b{padding:4px 18px;border:1px solid var(--gold);font-size:23px;font-weight:500;letter-spacing:.08em;line-height:1.35}
.header-cta{color:var(--gold-light);font-size:12px;font-weight:800;letter-spacing:.11em;text-decoration:none;text-transform:uppercase}
.header-cta:hover,.header-cta:focus-visible,.brand:focus-visible{color:#fff;outline:none}

.section-frame,.ornament-section{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(135deg,var(--navy-deep),var(--navy) 55%,#0a2234)}
.section-frame::before,.ornament-section::before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(rgba(3,13,23,.12),rgba(3,13,23,.34)),url("../img/ornament-top.jpg") center top/100% auto no-repeat;opacity:.64;pointer-events:none}
.hero::before{background:linear-gradient(rgba(3,13,23,.12),rgba(3,13,23,.34))}
.section-frame::after,.ornament-section::after{content:"";position:absolute;z-index:4;inset:24px;border:1px solid rgba(200,154,75,.46);pointer-events:none}

.hero{min-height:630px}
.hero-grid{min-height:630px;padding:64px 24px 72px;display:grid;grid-template-columns:minmax(470px,.92fr) minmax(0,1.08fr);align-items:center;gap:58px}
.hero-copy{position:relative;z-index:2;max-width:590px}
.centered{text-align:center}
.hero h1,.gallery h2,.quotes h2,.section-copy h2,.order h2{margin:0;font-family:var(--serif);font-weight:520;letter-spacing:-.035em;line-height:1}
.hero h1{max-width:590px;font-size:clamp(52px,4.4vw,70px);line-height:.98;text-wrap:balance}
.hero-lead{max-width:540px;margin:26px 0 0;color:#e9e1d2;font-family:var(--serif);font-size:clamp(19px,1.5vw,23px);line-height:1.46}
.button{min-height:54px;margin-top:32px;padding:0 28px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--gold-light);background:var(--gold);color:var(--navy-deep);font-size:12px;font-weight:800;letter-spacing:.1em;text-decoration:none;text-transform:uppercase;transition:background .2s,color .2s,transform .2s}
.button:hover,.button:focus-visible{background:var(--gold-light);color:var(--navy-deep);outline:3px solid rgba(229,201,143,.22);outline-offset:4px;transform:translateY(-1px)}
.hero-cover{position:relative;margin:0;border:1px solid rgba(229,201,143,.7);background:var(--navy);box-shadow:0 35px 70px rgba(0,0,0,.54);transform:rotate(1.2deg)}
.hero-cover::before{content:"";position:absolute;inset:9px;border:1px solid rgba(229,201,143,.6);pointer-events:none}
.hero-cover span{position:absolute;z-index:-1;inset:22px -18px -20px 22px;border:1px solid rgba(200,154,75,.35);background:#071725;transform:rotate(-3deg)}
.hero-cover img{width:100%;aspect-ratio:1.414/1;object-fit:cover}

.media-section{position:relative;isolation:isolate;overflow:hidden;background:var(--section-image) center/cover no-repeat}
.media-section::before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(1,8,14,.94) 0%,rgba(4,17,29,.86) 52%,rgba(4,17,29,.69) 100%)}
.media-section::after{content:"";position:absolute;z-index:4;inset:24px;border:1px solid rgba(229,201,143,.48);pointer-events:none}
.intro::after,.gallery::after,.narrative::after,.quotes::after,.closing::after{display:none}
.intro{background:linear-gradient(135deg,var(--paper) 0%,#f5eddf 58%,var(--paper-warm) 100%);color:var(--ink)}
.media-section.intro::before{background:radial-gradient(circle at 84% 22%,rgba(200,154,75,.2),transparent 29%),linear-gradient(115deg,rgba(255,255,255,.78),rgba(255,255,255,.08));mix-blend-mode:multiply;opacity:.72}
.intro .section-copy h2{color:var(--navy)}
.intro .rich-copy{color:#304150}
.intro .button,.quotes .button{border-color:var(--navy);background:var(--navy);color:var(--white)}
.intro .button:hover,.intro .button:focus-visible,.quotes .button:hover,.quotes .button:focus-visible{background:var(--gold);color:var(--navy-deep);outline-color:rgba(6,21,36,.18)}
.intro .calendar-page{border-color:rgba(128,91,35,.38);background:#fff;box-shadow:0 28px 58px rgba(47,34,14,.2)}
.split-grid{min-height:700px;padding-block:92px;display:grid;grid-template-columns:minmax(400px,.95fr) minmax(0,1.05fr);align-items:center;gap:76px}
.section-copy{position:relative;z-index:2;padding:24px 0}
.section-copy h2,.gallery h2,.quotes h2,.order h2{font-size:clamp(40px,4vw,58px);line-height:1.04;text-wrap:balance}
.rich-copy{margin-top:26px;color:#eee7da;font-size:16px;line-height:1.72}
.rich-copy p{margin:0 0 19px}
.calendar-page,.order-cover{margin:0;padding:10px;border:1px solid rgba(229,201,143,.58);background:rgba(6,21,36,.78);box-shadow:0 30px 64px rgba(0,0,0,.42);transform:rotate(1.2deg)}
.calendar-page img,.order-cover img{width:100%;aspect-ratio:1.414/1;object-fit:cover}

.gallery,.quotes,.order{padding-block:104px}
.gallery{background:linear-gradient(150deg,#03101b 0%,#071a2a 56%,#0b2b40 100%)}
.gallery::before{background:radial-gradient(circle at 50% 0,rgba(200,154,75,.15),transparent 38%),linear-gradient(145deg,rgba(255,255,255,.025),transparent 46%);opacity:1}
.gallery h2,.quotes h2{max-width:920px;margin-inline:auto}
.carousel{margin-top:54px}
.carousel-viewport{overflow:hidden}
.carousel-track{display:flex;gap:0;transition:transform .55s cubic-bezier(.22,1,.36,1)}
.feature-slide{flex:0 0 100%;min-width:0;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(330px,.7fr);align-items:stretch;border:1px solid rgba(229,201,143,.5);background:rgba(2,10,18,.8)}
.feature-slide figure{min-height:540px;margin:0;overflow:hidden}
.feature-slide figure img{width:100%;height:100%;object-fit:cover}
.feature-slide__copy{padding:58px 48px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.feature-slide__copy>p{margin:0;color:var(--gold-light);font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.feature-slide h3{margin:18px 0 0;color:var(--cream);font-family:var(--serif);font-size:clamp(32px,3.5vw,49px);font-weight:520;line-height:1.08}
.feature-slide__copy>span{margin-top:22px;color:rgba(255,255,255,.64);font-size:12px;line-height:1.7}
.feature-slide .button{margin-top:36px}
.carousel-controls{margin-top:30px;display:flex;align-items:center;justify-content:center;gap:22px}
.carousel-controls button{width:50px;aspect-ratio:1;border:1px solid rgba(229,201,143,.68);border-radius:50%;background:transparent;color:var(--gold-light);cursor:pointer;font-size:21px}
.carousel-controls button:hover,.carousel-controls button:focus-visible{background:rgba(200,154,75,.12);outline:3px solid rgba(229,201,143,.18);outline-offset:3px}
.carousel-controls button:disabled{cursor:default;opacity:.3}
.carousel-controls span{min-width:76px;color:rgba(255,255,255,.72);font-size:12px;text-align:center}

.calendar-stack{position:relative;min-height:500px}
.calendar-stack figure{position:absolute;width:min(86%,650px);margin:0;padding:9px;border:1px solid rgba(229,201,143,.58);background:var(--navy);box-shadow:0 28px 60px rgba(0,0,0,.46)}
.calendar-stack figure:first-child{top:12px;right:0;transform:rotate(4deg)}
.calendar-stack figure:last-child{bottom:12px;left:0;transform:rotate(-3deg)}
.calendar-stack img{width:100%;aspect-ratio:1.414/1;object-fit:cover}

.narrative,.closing{background:var(--navy-deep)}
.media-section.narrative::before,.media-section.closing::before{inset:-28px;background:linear-gradient(90deg,rgba(1,8,14,.96) 0%,rgba(4,17,29,.88) 48%,rgba(4,17,29,.56) 100%),var(--section-image) center/cover no-repeat}
.quotes{background:linear-gradient(145deg,#fdfaf4 0%,#f3eadb 56%,#e9dcc5 100%);color:var(--ink)}
.quotes::before{background:radial-gradient(circle at 12% 15%,rgba(200,154,75,.2),transparent 26%),radial-gradient(circle at 88% 82%,rgba(6,21,36,.09),transparent 30%);mix-blend-mode:multiply;opacity:.8}
.quotes h2{color:var(--navy)}
.quote-carousel{max-width:940px;margin-inline:auto}
.quote-slide{flex:0 0 100%;min-width:0;margin:0;padding:58px clamp(26px,7vw,92px);border:0;border-top:1px solid rgba(128,91,35,.4);border-bottom:1px solid rgba(128,91,35,.4);background:rgba(255,255,255,.3);text-align:center}
.quote-slide blockquote{margin:0;color:var(--navy);font-family:var(--serif);font-size:clamp(31px,4vw,52px);font-weight:430;line-height:1.23}
.quote-slide figcaption{margin-top:30px;color:#805f28;font-size:11px;font-weight:800;letter-spacing:.08em;line-height:1.65;text-transform:uppercase}
.quote-slide .button{min-width:220px}
.quotes .carousel-controls button{border-color:rgba(6,21,36,.42);color:var(--navy)}
.quotes .carousel-controls button:hover,.quotes .carousel-controls button:focus-visible{background:rgba(6,21,36,.08);outline-color:rgba(6,21,36,.13)}
.quotes .carousel-controls span{color:rgba(6,21,36,.7)}

.order-grid{display:grid;grid-template-columns:minmax(0,.86fr) minmax(430px,1.14fr);align-items:center;gap:84px}
.order-intro{margin:26px 0 0;color:#e7dfd1;font-size:16px}
.order-placeholder{display:none!important;margin-top:26px;padding:28px;border:1px solid rgba(229,201,143,.5);background:rgba(1,9,16,.72)}
.order-placeholder__note{margin:0 0 22px;padding:14px 16px;border-left:3px solid var(--gold);background:rgba(255,255,255,.05);font-size:12px}
.order-placeholder__note strong{display:block;color:var(--gold-light)}
.order-placeholder__note span{color:rgba(255,255,255,.65)}
.order-placeholder__row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.order-placeholder label{margin-top:14px;display:block;color:var(--gold-light);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.order-placeholder__row label{margin-top:0}
.order-placeholder input{width:100%;min-height:48px;margin-top:7px;padding:0 13px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.06);color:#fff}
.order-placeholder button{width:100%;min-height:54px;margin-top:20px;border:1px solid var(--gold);background:var(--gold);color:var(--navy-deep);font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;opacity:.6}
.oi-form{width:100%;min-height:670px;border:0;background:#fff}

.site-footer{border-top:1px solid rgba(200,154,75,.42);background:#01070c}
.footer-inner{min-height:84px;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.55);font-size:11px;text-align:center}
.footer-inner p{margin:0}
.generic-page{min-height:70vh;padding-block:90px;background:var(--paper);color:var(--navy)}

@media(max-width:980px){
	:root{--shell:min(100% - 36px,760px)}
	.hero-grid,.split-grid,.order-grid{grid-template-columns:1fr;gap:56px}
	.hero-grid{padding:68px 0 72px}
	.hero-copy{max-width:650px}
	.hero-cover{width:min(100%,760px);justify-self:center}
	.media-section::before{background:rgba(2,10,18,.86)}
	.section-copy{max-width:700px}
	.calendar-page,.calendar-stack,.order-cover{width:min(100%,760px);justify-self:center}
	.feature-slide{grid-template-columns:1fr}
	.feature-slide figure{min-height:0}
	.feature-slide figure img{aspect-ratio:1.414/1}
	.feature-slide__copy{padding:42px}
	.calendar-stack{width:100%;min-height:490px}
}

@media(max-width:640px){
	:root{--shell:min(100% - 28px,520px)}
	.header-inner{min-height:72px}
	.brand{gap:8px;font-size:17px}
	.brand b{padding:2px 8px;font-size:16px}
	.header-cta{font-size:9px}
	.section-frame::after,.ornament-section::after,.media-section::after{inset:10px}
	.hero{min-height:auto}
	.hero-grid{min-height:auto;padding:58px 0 64px;gap:44px}
	.hero h1{font-size:clamp(43px,12.5vw,56px);line-height:1.01}
	.hero-lead{font-size:19px}
	.button{width:100%;padding-inline:18px}
	.split-grid{min-height:auto;padding-block:66px;gap:46px}
	.section-copy h2,.gallery h2,.quotes h2,.order h2{font-size:clamp(34px,10vw,44px)}
	.rich-copy{font-size:15px}
	.gallery,.quotes,.order{padding-block:72px}
	.carousel{margin-top:38px}
	.feature-slide__copy{padding:30px 24px 34px}
	.feature-slide h3{font-size:32px}
	.feature-slide .button{margin-top:28px}
	.carousel-controls{gap:16px}
	.quote-slide{padding:44px 22px}
	.quote-slide blockquote{font-size:30px}
	.calendar-stack{min-height:330px}
	.order-grid{gap:46px}
	.order-placeholder{padding:19px}
	.order-placeholder__row{grid-template-columns:1fr}
	.order-placeholder__row label+label{margin-top:14px}
}

@media(max-width:350px){.brand span{display:none}.header-cta{font-size:8px}.feature-slide__copy{padding-inline:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
