@font-face{font-family:Fioresque Alternative;src:url(/assets/TheFioresqueAlternative-Regular.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}:root{--paper: #fef6df;--paper-warm: #fef6df;--butter: #fff0bc;--moss: #26320b;--clay: #967a4c;--lime: #b8d825;--ink: #665f52;--light-ink: #fff3dc;--rule: rgba(102, 95, 82, .22);--type-body-sm: clamp(.78rem, 1.05vw, 1.12rem);--type-heading-sm: clamp(1.65rem, 3.1vw, 3.05rem);--type-heading-lg: clamp(2.4rem, 13vw, 4.4rem);--type-display: clamp(3.2rem, 9vw, 9rem);--space-1: clamp(.45rem, .75vw, .75rem);--space-2: clamp(.8rem, 1.4vw, 1.4rem);--space-3: clamp(1.25rem, 2.35vw, 2.35rem);--space-4: clamp(2rem, 4vw, 4rem);--space-5: clamp(3.5rem, 7.5vw, 7.5rem)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:var(--paper);color:var(--ink);font-family:Cormorant Garamond,Georgia,serif;font-size:var(--type-body-sm);font-weight:500;line-height:1.35}a{color:inherit}img{display:block;max-width:100%}.script{font-family:Fioresque Alternative,Snell Roundhand,cursive;font-weight:400}.hero{padding:clamp(2.5rem,6.2vw,6.2rem) 4vw}.hero__inner{display:grid;justify-items:center}.hero__names{margin:0;position:relative;z-index:2;color:#413728;font-size:var(--type-display);letter-spacing:.015em;line-height:.9;white-space:nowrap}.hero__portrait-wrap{position:relative;z-index:1;margin-top:clamp(-5.25rem,-5.2vw,-1.25rem);width:clamp(170px,28vw,448px);aspect-ratio:.7}.hero__portrait{width:100%;height:100%;object-fit:cover}.hero__flower{position:absolute;z-index:2;right:-13%;top:69%;width:33%;transform:rotate(-8deg)}.hero__nav{margin-top:clamp(2.5rem,6.2vw,6.2rem);width:min(100%,clamp(300px,47vw,752px));display:flex;justify-content:space-between;align-items:center;color:#625c50;font-size:var(--type-body-sm)}.hero__nav a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;transition:color .2s ease}.hero__nav a:not(:last-child):after{content:"–";margin-left:clamp(14px,5vw,80px)}.hero__nav a:hover,.hero__nav a:focus-visible,.hero__nav a[aria-current]{color:#3e3a31}.save-date{background:var(--butter);padding:clamp(3rem,8.5vw,8.5rem) 6vw;box-shadow:inset 0 1px #ffffff8c,inset 0 -1px #7a632b1f}.save-date__inner{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(18px,4vw,64px)}.save-date__copy{text-align:center;color:#766d5d;padding:var(--space-3)}.save-date__copy p{margin:0 0 var(--space-2);font-size:var(--type-body-sm);letter-spacing:.035em}.save-date__copy h2{margin:0;font-size:var(--type-heading-sm);font-weight:400;line-height:1.15}.field-collage{position:relative;justify-self:center;width:clamp(160px,34.5vw,552px);aspect-ratio:.9}.field-collage__field{width:100%;height:100%;object-fit:cover}.field-collage__dog{position:absolute;inset:0;margin:auto;width:61%;height:69%;border-radius:48% 45% 50% 47%;object-fit:cover;object-position:54% 61%}.events{position:relative;z-index:1;background:#26300d url(/assets/green-cover-landscape.png?v=3) center / 100% 100% no-repeat;color:var(--light-ink);text-align:center;padding:clamp(3rem,9vw,9rem) 6vw clamp(8rem,15vw,15rem)}.events:after{position:absolute;right:9%;bottom:-2.5rem;left:9%;height:clamp(3.5rem,6vw,6rem);content:"";opacity:.88;border-radius:.4rem .4rem 0 0}.events__inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"title title" "welcome wedding";width:min(100%,1400px);margin:0 auto;column-gap:clamp(3rem,11vw,11rem);row-gap:clamp(2.5rem,5.5vw,5.5rem)}.events__title{grid-area:title;margin:0;font-size:var(--type-heading-sm);line-height:.9}.events__grid{display:contents}.events__grid article{position:relative;display:grid;align-content:start;min-height:clamp(11rem,16vw,15rem);padding:0 clamp(.25rem,1vw,1rem)}.events__welcome{grid-area:welcome}.events__wedding{grid-area:wedding}.events__grid article+article:before{position:absolute;top:0;bottom:0;left:clamp(-5.5rem,-5.5vw,-2.25rem);width:1px;content:"";background:#fff3dc59}.events h3{margin-top:.5rem;margin-bottom:5rem;font-size:var(--type-heading-sm);font-weight:400}.events p{margin:0 auto;max-width:30ch;font-size:var(--type-body-sm);line-height:1.47}.events__time{font-size:var(--type-heading-sm)!important}.accommodation{position:relative;z-index:auto;margin-top:clamp(-4.5rem,-5vw,-2.5rem);padding:0 5vw;color:var(--ink)}.accommodation:before{position:absolute;z-index:0;top:clamp(2.5rem,4vw,4rem);right:0;bottom:0;left:0;content:"";background:var(--butter)}.accommodation__inner{position:relative;z-index:2;isolation:isolate;width:min(100%,1540px);margin:0 auto;padding:clamp(5.25rem,9vw,9rem) clamp(3rem,7vw,8rem) clamp(4rem,8vw,8rem);overflow:visible;background:transparent;border:0;box-shadow:none;transform:translateY(-3rem)}.accommodation__inner:before{content:none}.accommodation__inner:after{content:none}.accommodation__frame{position:absolute;z-index:-2;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;filter:drop-shadow(0 14px 20px rgba(43,41,28,.16))}.accommodation__frame path{fill:var(--paper-warm);stroke:var(--moss);stroke-width:2;vector-effect:non-scaling-stroke;stroke-linejoin:round}.accommodation__inner>:not(.accommodation__frame){position:relative;z-index:1}.accommodation__inner>.accommodation__shell{position:absolute;z-index:1;left:50%;bottom:clamp(-80px,-6vw,-22px);width:clamp(56px,9vw,144px);transform:translate(-50%) rotate(-10deg);pointer-events:none}.accommodation__title{width:fit-content;margin:0 auto clamp(2rem,7vw,7rem);text-align:center;font-size:var(--type-heading-sm);line-height:.9;text-shadow:0 2px rgba(255,255,255,.75)}.stay-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr) minmax(0,1fr);grid-template-areas:"cottages cottages figgy" "olympic airbnb airbnb" "hotels hotels proposal";align-items:center;column-gap:clamp(1.25rem,4vw,4rem);row-gap:clamp(3rem,7vw,7rem)}.stay-copy{text-align:center}.stay-copy--cottages{grid-area:cottages;max-width:80ch;justify-self:center;padding:var(--space-3) var(--space-4);border-block:1px solid rgba(105,92,66,.28);transform:none}.stay-copy--airbnb{grid-area:airbnb;max-width:60ch;justify-self:center;transform:none;border-block:1px solid rgba(105,92,66,.28);padding:var(--space-3) var(--space-4)}.stay-copy h3{margin:0 0 var(--space-1);font-size:var(--type-heading-sm);font-weight:400;line-height:1}.stay-copy p{margin:0 auto;max-width:clamp(260px,40vw,640px);font-size:var(--type-body-sm);line-height:1.4}.stay-copy__address{margin-bottom:clamp(10px,2vw,32px)!important}.stay-copy--airbnb h3 img{display:inline-block;width:clamp(72px,13.5vw,216px);margin-left:clamp(10px,1.6vw,26px);vertical-align:middle}.stay-photo{position:relative;justify-self:center}.stay-photo--figgy{grid-area:figgy;z-index:3}.stay-grid>.stay-photo:not(.stay-photo--figgy):not(.stay-photo--proposal){grid-area:olympic}.stay-photo--proposal{grid-area:proposal;z-index:2;justify-self:end;margin:0 clamp(1rem,4vw,4rem) clamp(-7rem,-8vw,-4rem) 0}.stay-photo__img{object-fit:cover}.stay-photo__clip{width:clamp(140px,23vw,368px);aspect-ratio:1.03;overflow:hidden}.stay-photo__img--figgy{width:100%;height:100%;object-position:50% 95%}.stay-photo__img--olympic{width:clamp(130px,20vw,320px);aspect-ratio:1.3;object-position:36% 70%}.stay-photo__img--proposal{width:clamp(130px,20.5vw,328px);aspect-ratio:.69;object-position:50% 60%;transform:translateY(-8rem)}.stay-photo__butterfly{position:absolute;z-index:2;left:clamp(-91px,-5vw,-8px);top:clamp(-114px,-9.3vw,-24px);width:10.5vw;transform:scaleX(-1) rotate(-20deg)}.stay-photo__fish{position:absolute;z-index:2;right:clamp(-84px,-3.6vw,-8px);top:clamp(-72px,0vw,16px);width:12vw;transform:scaleX(-1) rotate(-12deg)}.hotels{grid-area:hotels;display:grid;justify-items:center;justify-self:center;width:min(100%,clamp(270px,38vw,610px));padding:var(--space-3) 0;row-gap:clamp(.7rem,1.25vw,1.25rem);border-block:1px solid rgba(105,92,66,.28)}.hotels__heading{display:flex;align-items:center;gap:clamp(16px,3.5vw,56px);margin:0 0 clamp(6px,1vw,16px);color:var(--ink)}.hotels__heading span{font-size:var(--type-heading-sm)}.hotels a,.stay-copy a,.travel a{width:min(100%,clamp(190px,26vw,410px));padding:clamp(.65rem,1.15vw,1.2rem) clamp(1rem,2vw,2rem);border:1px solid var(--moss);border-radius:10px;background:var(--butter);color:var(--moss);font-size:var(--type-body-sm);font-weight:500;text-align:center;text-decoration:none;box-shadow:0 2px #26320b29;transition:background-color .2s ease,box-shadow .2s ease,color .2s ease,transform .2s ease}.btn{margin-top:2em;display:inline-block}.hotels a:hover,.btn:hover{background:var(--paper);box-shadow:0 5px 12px #26320b24;transform:translateY(-2px)}.hotels a:focus-visible,.btn:focus-visible{outline:2px solid var(--clay);outline-offset:4px}.hotels a:active,.btn:active{background:var(--moss);color:var(--light-ink);box-shadow:0 1px #26320b2e;transform:translateY(1px)}.diamond-divider{position:relative;z-index:1;margin-top:clamp(-16rem,-13vw,-8rem);height:clamp(70px,15vw,288px);background:#1f2020 url(/assets/diamond-pattern.png) center / cover no-repeat}.travel{background:var(--paper-warm);padding:clamp(2.5rem,4.5vw,4.5rem) 6vw clamp(3.5rem,6.5vw,6.5rem)}.travel__inner{display:grid;grid-template-columns:1fr 1.15fr;column-gap:clamp(20px,4vw,64px);align-items:stretch}.travel__aside{display:flex;flex-direction:column;align-items:center}.travel__title{margin:0;color:#686158;font-size:var(--type-heading-sm);line-height:.9}.travel__butterflies{width:clamp(150px,30vw,480px);margin:auto 0}.travel__copy{text-align:center}.travel h3{margin:var(--space-4) 0 var(--space-2);color:#746a5d;font-size:var(--type-heading-sm);font-weight:400;line-height:1}.travel h3:first-child{margin-top:clamp(4px,1vw,16px)}.travel p{max-width:clamp(280px,43vw,688px);margin:0 auto var(--space-2);font-size:var(--type-body-sm);line-height:1.4}.footer{aspect-ratio:1.76;min-height:360px;position:relative;isolation:isolate;overflow:hidden;display:grid;place-items:center;padding:6vw;background:linear-gradient(#f6f4df2e,#424b2d29),#d9d7bd url(/assets/footer-bg-rot.png) center / cover no-repeat}.footer:before{position:absolute;z-index:0;inset:clamp(.75rem,2vw,2rem);content:"";pointer-events:none}.footer__dogs{position:relative;z-index:1;width:min(80%,1040px);aspect-ratio:16 / 9;object-fit:cover;box-shadow:0 16px 30px #302c2147}.section-header{font-size:var(--type-heading-lg)}@media(max-width:640px){:root{--type-body-sm: clamp(.94rem, 4vw, 1.06rem)}body{overflow-x:hidden}.hero__names{max-width:92vw;font-size:clamp(2.5rem,14vw,3.2rem);text-align:center;white-space:normal}.hero{padding-bottom:calc(clamp(2.5rem,6.2vw,6.2rem) + .9rem)}.hero__portrait-wrap{width:72vw;margin-top:-8.2vw}.hero__nav{display:none}.hero__flower{content:url(/assets/purple-flower-cropped.png);width:25vw;right:-14%;top:60%}.save-date{padding-inline:4vw}.save-date__inner,.stay-grid{grid-template-columns:1fr}.events{background-image:url(/assets/green-cover-background.png)}.events__inner{grid-template-columns:1fr;grid-template-areas:"title" "welcome" "wedding";row-gap:clamp(4.5rem,14vw,6rem)}.events h3{margin-bottom:0}.events__grid article{min-height:0;padding-inline:1rem}.events__grid article+article:before{top:clamp(-3rem,-7vw,-2.25rem);right:14%;bottom:auto;left:14%;width:auto;height:1px}.save-date__inner{gap:var(--space-4)}.stay-grid{grid-template-areas:"cottages" "figgy" "airbnb" "olympic" "hotels" "proposal";row-gap:var(--space-4)}.accommodation{margin-top:-2.5rem;padding-inline:3vw}.accommodation__frame{display:none}.accommodation__inner{padding:3.25rem 1.75rem 3.75rem;transform:translateY(-1.5rem);background:var(--paper-warm);border:2px solid var(--moss);border-radius:clamp(20px,6vw,32px);box-shadow:0 14px 20px #2b291c29}.accommodation__inner:before{inset:0}.accommodation__inner:after{inset:-.6rem}.stay-copy--cottages{width:100%;padding-inline:var(--space-2)}.stay-copy--airbnb,.hotels,.stay-grid>.stay-photo:not(.stay-photo--figgy):not(.stay-photo--proposal){transform:none}.stay-copy--airbnb,.hotels{width:100%}.stay-photo--figgy{transform:none}.stay-photo__clip{width:min(68vw,280px)}.stay-photo__img--olympic{width:min(62vw,255px)}.stay-photo__img--proposal{width:min(58vw,235px);transform:none}.stay-photo__butterfly{top:-5.5rem;left:-5rem;width:min(35vw,145px)}.stay-photo__fish{top:-2rem;right:-1.5rem;width:min(40vw,165px)}.hotels a,.stay-copy a,.travel a{display:inline-block;width:56%}.stay-photo--proposal{justify-self:center;margin:0}.accommodation__inner>.accommodation__shell{bottom:clamp(-80px,-8vw,-22px)}.diamond-divider{margin-top:-3rem;height:clamp(64px,25vw,100px)}.travel__inner{position:relative;grid-template-columns:minmax(0,.62fr) minmax(0,1.38fr);min-height:0}.travel__aside{display:contents}.travel__title{grid-column:1;grid-row:1;align-self:start;justify-self:start;z-index:2}.travel__butterflies{grid-column:2;grid-row:1;align-self:start;justify-self:end;width:clamp(205px,61vw,275px);margin:-.5rem -2.75rem 0 0;z-index:1;transform:translateY(-4em)}.travel__copy{grid-column:1 / -1;grid-row:1;align-self:start;justify-self:center;width:90%;margin-top:clamp(7.25rem,45vw,11.5rem);text-align:center;z-index:2}.travel p,.stay-copy p{max-width:100%}.travel{padding-inline:8vw;overflow:clip}.footer{aspect-ratio:auto;min-height:clamp(19rem,96vw,27rem);padding:1.5rem}.footer:before{inset:.7rem}.footer__dogs{width:100%;max-width:360px;aspect-ratio:4 / 3}}
