:root{--cream:#f5f1e9;--ink:#403c32;--olive:#5b6249;--rust:#8d4934;--line:#d8d1c4}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--cream);color:var(--ink);font-family:Georgia,'Times New Roman',serif}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}img{display:block;max-width:100%}a:focus-visible,button:focus-visible{outline:2px solid var(--rust);outline-offset:5px}.skip{position:fixed;top:-100px;background:var(--cream);padding:12px;z-index:20}.skip:focus{top:5px}header{height:96px;margin:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.monogram{text-decoration:none;font-size:29px;letter-spacing:-3px}.monogram span{font-size:22px;font-style:italic;padding:0 3px;color:var(--rust)}nav{display:flex;gap:34px}nav a,.header-date{font:10px/1.5 Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;text-decoration:none}nav a:hover{text-decoration:underline;text-underline-offset:5px}.hero{margin:48px 8% 65px;display:grid;grid-template-columns:1fr 1fr;gap:6%;align-items:center;position:relative}.eyebrow{font:10px/1.7 Arial,sans-serif;text-transform:uppercase;letter-spacing:.23em}.hero h1{font-weight:400;font-size:clamp(90px,10.8vw,170px);letter-spacing:-.065em;line-height:.88;margin:40px 0 30px}.amp{font-style:italic;font-size:.6em;color:var(--rust);letter-spacing:-.07em}.period{color:var(--rust)}.announcement{font-size:21px;font-style:italic}.hero-date{margin-top:34px;border-top:1px solid var(--line);padding-top:20px;display:flex;flex-direction:column;gap:9px;font:11px/1.6 Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase}.text-link{display:inline-flex;gap:28px;align-items:center;margin-top:35px;text-decoration:none;border-bottom:1px solid var(--ink);padding:0 0 9px;font:10px Arial,sans-serif;text-transform:uppercase;letter-spacing:.15em}.text-link span{font-size:21px}.hero-photo{margin:0;padding:0 0 24px;position:relative}.hero-photo img{height:min(680px,66vw);width:100%;object-fit:cover;object-position:center 54%;border-radius:45% 45% 0 0}.hero-photo figcaption{position:absolute;bottom:0;right:0;font-size:13px;font-style:italic;color:var(--olive)}.hero-margin{position:absolute;right:-7%;writing-mode:vertical-rl;font:9px Arial,sans-serif;letter-spacing:.25em;text-transform:uppercase;color:#7a756a}.ticker{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;gap:35px;align-items:center;justify-content:center;padding:24px 16px;font:10px Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase}.ticker i{font-size:22px;color:var(--rust);font-style:normal}.weekend,.moments{padding:80px 8%}.section-marker{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:18px;font:9px/1.6 Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase}.section-marker span:last-child{font-family:Georgia,serif;font-style:italic;text-transform:none;letter-spacing:.02em;font-size:14px}.weekend-content{display:grid;grid-template-columns:1fr 1fr;gap:12%;padding:65px 4% 50px}h2{font-size:clamp(50px,5.5vw,82px);line-height:1.04;letter-spacing:-.05em;font-weight:400;margin:22px 0}h2 em{font-weight:400;color:var(--rust)}.body-copy{font-size:17px;line-height:1.8;max-width:370px;color:#686253}.button{display:inline-flex;gap:36px;padding:17px 22px;margin-top:17px;border:1px solid var(--olive);text-decoration:none;font:10px Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--olive)}.button:hover{background:var(--olive);color:var(--cream)}.date-block{text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center;border-left:1px solid var(--line);padding-left:12%}.month{font-size:33px;font-style:italic}.days{font-size:clamp(70px,8vw,115px);letter-spacing:-.08em;line-height:1.3}.days span{font-size:.6em;margin:0 10px;color:var(--rust)}.year{font:12px Arial,sans-serif;letter-spacing:.4em;margin-bottom:30px}.date-foot{border-top:1px solid var(--line);padding:20px 30px 0;font:10px/2 Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase}.details-note{display:flex;align-items:center;justify-content:center;gap:25px;border-top:1px solid var(--line);padding-top:20px}.small-star{font-size:40px;color:var(--rust)}.details-note p{font-size:18px;line-height:1.7}.details-note p span{font-size:14px;color:#686253}.photo-note{background:#e9e5da;display:grid;grid-template-columns:1fr 1fr;gap:12%;padding:90px 12%;align-items:center}.portrait-pair{position:relative;padding-bottom:30px}.portrait-pair img{width:100%;max-height:600px;object-fit:cover;transform:rotate(-3deg);border:10px solid #fcfaf4;box-shadow:0 10px 25px #403c3212}.handwritten{position:absolute;bottom:0;right:-25px;font-size:24px;font-style:italic;line-height:1.25;transform:rotate(-8deg);color:var(--rust)}.note-copy h2{font-size:clamp(40px,4.5vw,65px)}.signature{font-size:22px;line-height:1.5;font-style:italic;margin-top:30px}.gallery-heading{display:flex;align-items:end;justify-content:space-between;margin:40px 0}.gallery-heading h2{margin:0}.gallery-heading p{font-size:15px;line-height:1.7;color:#686253}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;align-items:start}.gallery-item{border:0;background:transparent;padding:0;position:relative;cursor:zoom-in;overflow:hidden;width:100%}.gallery-item:nth-child(3n+2){margin-top:55px}.gallery-item img{aspect-ratio:3/4;object-fit:cover;width:100%;transition:transform .5s}.gallery-item:hover img{transform:scale(1.025)}.photo-number,.expand{position:absolute;bottom:12px;color:white;text-shadow:0 1px 4px #0009;font:11px Arial,sans-serif}.photo-number{left:15px;letter-spacing:.12em}.expand{right:15px;font-size:20px}.gallery-caption{text-align:center;font-size:14px;font-style:italic;margin-top:40px;color:#686253}.closing{position:relative;min-height:520px;height:52vw;max-height:800px;overflow:hidden}.closing>img{height:100%;width:100%;object-fit:cover;object-position:center 65%}.closing:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#1e241c70,transparent 90%)}.closing-copy{position:absolute;top:14%;left:10%;color:#fff9ed;z-index:1}.closing-copy h2{font-size:clamp(65px,8vw,115px);margin:24px 0}.closing-copy>p:last-child{font:11px Arial,sans-serif;letter-spacing:.17em;text-transform:uppercase}footer{padding:35px 6%;display:flex;align-items:center;justify-content:space-between}footer p{font-style:italic;color:#686253}footer>a:last-child{font:9px Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase;text-decoration:none}dialog{padding:35px 65px 50px;border:0;background:#f5f1e9;max-width:95vw;width:1000px;height:92svh;max-height:100svh;overflow:hidden}dialog::backdrop{background:#191b16e8}dialog img{height:100%;width:100%;object-fit:contain}dialog button{position:absolute;border:0;background:var(--cream);color:var(--ink);cursor:pointer;width:42px;height:42px;font-size:24px}.close{right:8px;top:4px}.previous{left:8px;top:46%}.next{right:8px;top:46%}#photo-count{position:absolute;bottom:8px;left:0;right:0;text-align:center;font:10px Arial,sans-serif;letter-spacing:.15em}body.viewer-open{overflow:hidden}@media(min-width:1500px){.hero,.weekend,.moments{max-width:1400px;margin-left:auto;margin-right:auto}.hero{padding:0 45px}}@media(max-width:760px){header{height:76px}nav{gap:20px}nav a{font-size:9px}.header-date{display:none}.hero{margin:35px 7% 40px;gap:25px}.hero h1{font-size:85px;margin:28px 0}.hero .eyebrow{font-size:8px;letter-spacing:.16em}.announcement{font-size:17px}.hero-date{font-size:9px;margin-top:22px}.text-link{font-size:8px;margin-top:22px;gap:12px}.hero-photo img{height:420px;border-radius:42% 42% 0 0}.hero-photo figcaption{font-size:11px}.hero-margin{display:none}.ticker{gap:18px;flex-wrap:wrap;font-size:8px;padding:18px 12px}.ticker i{font-size:17px}.ticker span:last-child{display:none}.weekend,.moments{padding:55px 7%}.weekend-content{gap:7%;padding:40px 0}h2{font-size:50px}.body-copy{font-size:15px}.date-block{padding-left:7%}.month{font-size:27px}.days{font-size:70px}.button{font-size:8px;padding:15px;gap:12px}.date-foot{font-size:8px;padding-left:10px;padding-right:10px}.photo-note{gap:9%;padding:60px 8%}.note-copy h2{font-size:35px}.handwritten{font-size:18px}.signature{font-size:19px}.gallery-heading{align-items:start;gap:25px}.gallery-heading h2{font-size:45px}.gallery-heading p{font-size:12px}.gallery{gap:14px}.gallery-item:nth-child(3n+2){margin-top:30px}.closing{height:65vw;min-height:420px}.closing-copy{left:7%}.closing-copy h2{font-size:70px}}@media(max-width:500px){.hero{grid-template-columns:1fr;gap:30px;margin-top:25px}.hero-copy{text-align:center}.hero h1{font-size:96px;line-height:.9;margin-top:20px}.hero h1 br{display:none}.hero h1 .amp{display:block;font-size:46px;line-height:.95;margin:9px 0}.hero-date{flex-direction:row;justify-content:center;gap:15px;font-size:9px;padding-top:15px;margin-top:22px}.announcement{margin-bottom:0}.text-link{margin-top:18px}.hero-photo{margin:0 6%}.hero-photo img{height:auto;aspect-ratio:3/4;max-height:540px}.ticker{gap:14px}.ticker i:last-of-type{display:none}.weekend-content{grid-template-columns:1fr;text-align:center;padding-top:25px;gap:40px}.body-copy{margin-left:auto;margin-right:auto}.date-block{border:0;border-top:1px solid var(--line);padding:30px 0 0}.days{font-size:100px}.month{font-size:30px}.year{margin-bottom:22px}.date-foot{padding-top:13px}.details-note{align-items:start;gap:16px}.details-note p{font-size:16px;margin-top:4px}.details-note p span{font-size:12px}.photo-note{grid-template-columns:1fr;gap:45px;padding:60px 12%}.portrait-pair img{max-height:none}.note-copy h2{font-size:46px}.gallery-heading{display:block}.gallery-heading p{font-size:14px;margin-top:20px}.gallery{grid-template-columns:repeat(2,1fr);gap:12px}.gallery-item:nth-child(3n+2){margin-top:0}.gallery-item:nth-child(even){margin-top:24px}.gallery-item:last-child{grid-column:1/-1;width:70%;justify-self:center;margin-top:15px}.closing{min-height:450px}.closing>img{object-position:64% center}.closing-copy h2{font-size:62px}.closing-copy{top:8%;left:8%}.closing-copy .eyebrow{font-size:8px}.closing-copy>p:last-child{font-size:9px}footer{padding:25px 7%}footer p{font-size:13px}footer>a:last-child{font-size:8px}dialog{padding:40px 40px 50px;width:96vw;height:85svh}.previous{left:0}.next{right:0}.section-marker{font-size:8px}.section-marker span:last-child{font-size:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Minimal guest information. */
.simple-details{border-top:1px solid var(--line)}.simple-details h2{font-size:40px;margin:0 0 40px}.practical-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px 70px}.practical-grid h3{font-size:29px;font-weight:400;margin:12px 0}.practical-grid p{font-size:16px;line-height:1.8;margin:0}.practical-grid .eyebrow{font:10px/1.7 Arial,sans-serif;letter-spacing:.16em}.stay{grid-column:1/-1;border-top:1px solid var(--line);padding-top:25px}.simple-details .text-link{margin-top:30px}.photos-title{font-size:40px;margin:0 0 35px}.moments{padding-top:20px}.closing{height:45vw;min-height:300px}.closing:after{display:none}.hero h1{margin-bottom:40px}footer p{font-size:12px;font-style:normal}@media(max-width:500px){.practical-grid{grid-template-columns:1fr;gap:30px}.stay{grid-column:auto}.simple-details h2,.photos-title{font-size:34px}.practical-grid h3{font-size:26px}.practical-grid p{font-size:15px}footer p{font-size:10px}.closing{min-height:300px}.hero h1{margin-bottom:28px}}

/* One photograph at a time. */
.gallery{display:flex;overflow-x:auto;gap:0;scroll-snap-type:x mandatory;scrollbar-width:none;align-items:center;background:#e9e5da;overscroll-behavior-x:contain}.gallery::-webkit-scrollbar{display:none}.gallery-item,.gallery-item:nth-child(even),.gallery-item:nth-child(3n+2),.gallery-item:last-child{flex:0 0 100%;width:100%;margin:0;scroll-snap-align:center;scroll-snap-stop:always;grid-column:auto}.gallery-item img{height:min(76svh,800px);width:100%;aspect-ratio:auto;object-fit:contain}.gallery-item:hover img{transform:none}.photo-number{display:none}.slideshow-controls{display:flex;align-items:center;justify-content:center;gap:30px;padding:22px 0}.slideshow-controls button{border:1px solid var(--line);background:transparent;color:var(--ink);width:46px;height:44px;font-size:22px;cursor:pointer}.slideshow-controls button:hover{background:#e9e5da}#slide-count{font:11px Arial,sans-serif;letter-spacing:.15em;min-width:50px;text-align:center}@media(max-width:500px){.gallery-item img{height:65svh}.slideshow-controls{padding:18px 0}}

/* Dates and guest details lead the page. */
header{height:75px}.header-location{font:12px Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase}.hero{margin:40px 7% 60px;gap:6%;grid-template-columns:1.2fr 1fr;align-items:start}.hero h1{font-size:clamp(40px,4.7vw,68px);letter-spacing:-.05em;line-height:1.1;margin:0 0 32px}.hero-copy{text-align:left}.primary-date{padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.primary-date .eyebrow{font-size:13px;margin:0 0 15px;letter-spacing:.2em}.wedding-day{font-size:clamp(44px,5.1vw,75px);letter-spacing:-.045em;line-height:1.06;margin:0;color:var(--rust)}.wedding-day span{display:block;font-size:26px;letter-spacing:0;margin-top:12px;color:var(--ink)}.welcome-info,.stay-info{padding-top:25px}.hero .welcome-info h2,.hero .stay-info h2{font-size:26px;letter-spacing:-.025em;margin:0 0 9px}.welcome-info p,.stay-info p{font-size:18px;line-height:1.6;margin:0}.hero-photo img{height:650px;max-height:74svh;border-radius:0;object-position:center 55%}.hero-photo{padding:0}.gallery-item{cursor:default}.gallery-item img{pointer-events:none}.gallery{scrollbar-width:thin;scrollbar-color:#8d4934 #e9e5da}.gallery::-webkit-scrollbar{display:block;height:6px}.gallery::-webkit-scrollbar-thumb{background:#8d4934}.photo-strip-heading{display:flex;justify-content:space-between;align-items:baseline}.photo-strip-heading>span{font:11px Arial,sans-serif;color:#686253}.moments{border-top:1px solid var(--line);padding-top:40px;padding-bottom:40px}.gallery-item{outline:none}footer{justify-content:space-between}@media(max-width:760px){.hero{grid-template-columns:1.2fr 1fr;gap:5%}.hero h1{font-size:40px}.wedding-day{font-size:45px}.wedding-day span{font-size:22px}.hero .welcome-info h2,.hero .stay-info h2{font-size:23px}.welcome-info p,.stay-info p{font-size:16px}.hero-photo img{height:580px;max-height:none}}@media(max-width:500px){header{height:64px}.hero{grid-template-columns:1fr;margin:28px 7% 40px;gap:32px}.hero h1{font-size:45px;margin:0 0 25px;line-height:1.1}.primary-date .eyebrow{font-size:11px}.wedding-day{font-size:53px}.wedding-day span{font-size:25px;margin-top:12px}.primary-date{padding:22px 0}.welcome-info,.stay-info{padding-top:24px}.hero .welcome-info h2,.hero .stay-info h2{font-size:25px}.welcome-info p,.stay-info p{font-size:17px}.hero-photo{margin:0}.hero-photo img{height:auto;max-height:none;aspect-ratio:3/4}.header-location{font-size:10px}.moments{padding-top:30px}}

#nl-badge-frame{display:none!important}
