/* New chapters for the home and story pages. */
.sweet-occasion{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(55px,7vw,120px);align-items:center;padding-top:100px;padding-bottom:100px;max-width:1840px;margin:auto}
.occasion-copy .eyebrow{font-size:10px;letter-spacing:1.7px;color:var(--muted)}
.occasion-copy h2{font-size:clamp(64px,6vw,96px);font-weight:500;letter-spacing:-4px;line-height:1.08;margin-top:28px}
.occasion-copy h2 em{color:var(--brown)}
.occasion-copy>p:not(.eyebrow){font-size:17px;line-height:1.85;color:var(--muted);max-width:380px;margin:28px 0}
.occasion-links{display:flex;flex-wrap:wrap;gap:24px 30px;margin-top:32px}
.occasion-links .text-link{font-size:12px;gap:20px}
.occasion-art{position:relative;min-width:0;isolation:isolate;padding:35px 0;display:flex;justify-content:center}
.occasion-art::before{content:'';position:absolute;inset:16% -2%;border:1px solid #b5934b80;border-radius:50%;transform:rotate(-18deg);z-index:-1}
.occasion-picture{width:min(100%,590px);aspect-ratio:1;border-radius:50%;overflow:hidden;background:var(--brown)}
.occasion-picture img{width:100%;height:100%;object-fit:cover;object-position:50% 45%;transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}
.occasion-stamp{position:absolute;left:0;top:15%;width:114px;height:114px;border-radius:50%;background:var(--olive);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:9px;font-weight:700;letter-spacing:1.4px;line-height:1.6;text-align:center;transform:rotate(-13deg);transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.occasion-stamp>span{font-size:30px;line-height:1;margin-top:9px;font-weight:400;color:#eee1b3}
.occasion-footnote{position:absolute;bottom:10px;right:0;font-size:9px;font-weight:700;letter-spacing:1.5px;color:var(--olive)}
.villa-social{padding-top:75px;padding-bottom:135px;border-top:1px solid var(--line);margin:0 var(--gutter);padding-left:0;padding-right:0}
.villa-social+.home-visit{border-top:0}
.social-intro{display:grid;grid-template-columns:1.5fr 1fr;gap:60px;align-items:center}
.social-copy .eyebrow{font-size:10px;letter-spacing:1.7px;color:var(--muted)}
.social-copy h2{font-size:clamp(48px,5.2vw,75px);letter-spacing:-3.5px;font-weight:500;line-height:1.1;margin-top:25px}
.social-copy h2 em{color:var(--brown)}
.social-copy>p:not(.eyebrow){font-size:16px;line-height:1.85;color:var(--muted);max-width:410px;margin-top:24px}
.social-art{--social-photo-width:340px;display:grid;place-items:center end;position:relative;min-width:0;isolation:isolate;padding:18px 12px}
.social-postage{width:min(100%,var(--social-photo-width));transform:rotate(3deg);overflow:hidden;border-radius:2px;box-shadow:0 12px 25px #35271f18;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.social-postage img{width:100%;height:auto;aspect-ratio:5/4;object-fit:cover;object-position:center}
.social-sign-off{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:40px;padding:30px 0 35px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--olive);text-decoration:none}
.social-sign-off:link,.social-sign-off:visited{color:var(--olive);text-decoration:none}
.social-sign-off>span{color:inherit;text-decoration:none}
.social-handle{font-size:clamp(54px,10.8vw,156px);font-weight:500;letter-spacing:-.055em;line-height:1.1;min-width:0}
.social-arrow{display:grid;place-items:center;flex-shrink:0;width:104px;height:104px;border:1px solid var(--olive);border-radius:50%;font-size:52px;line-height:1;font-weight:400;transition:background .35s,color .35s,transform .35s}
.social-sign-off:hover .social-arrow,.social-sign-off:focus-visible .social-arrow{background:var(--olive);border-color:var(--olive);color:#fff;transform:rotate(45deg)}
.social-sign-off:hover,.social-sign-off:focus-visible{color:var(--olive);text-decoration:none}
.social-footer{display:flex;justify-content:space-between;gap:20px;font-size:9px;letter-spacing:1.5px;font-weight:700;color:var(--muted);margin-top:20px}
.villa-roots{padding-top:60px;padding-bottom:95px;max-width:1840px;margin:auto}
.roots-heading{display:flex;justify-content:space-between;align-items:end;gap:45px;margin-bottom:45px}
.roots-heading .eyebrow{font-size:10px;color:var(--muted);letter-spacing:1.7px}
.roots-heading h2{font-size:clamp(51px,5.1vw,74px);font-weight:500;letter-spacing:-3px;line-height:1.1;margin-top:25px}
.roots-heading h2 em{color:var(--brown)}
.roots-heading>p{font-size:15px;line-height:1.85;color:var(--muted);max-width:265px;padding-bottom:5px}
.roots-list{border-top:1px solid var(--line)}
.root-row{display:grid;grid-template-columns:minmax(0,1fr) 66px;align-items:center;position:relative;min-height:180px;border-bottom:1px solid var(--line);gap:25px;color:var(--ink)}
.root-label{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:0;min-width:0}
.root-index{display:block;position:static;font-size:10px;font-weight:600;color:var(--muted);letter-spacing:1px;line-height:1.5}
.root-name{display:block;font-size:clamp(66px,6.1vw,92px);font-weight:500;letter-spacing:-4px;line-height:1.1;transition:color .4s,transform .4s}
.root-preview{position:absolute;left:54%;top:20px;height:140px;width:230px;object-fit:cover;border-radius:2px;opacity:0;transform:translateX(-12px) rotate(-5deg);transition:opacity .4s,transform .6s cubic-bezier(.2,.7,.2,1);pointer-events:none}
.root-row:nth-child(2) .root-preview{transform:translateX(-12px) rotate(5deg)}
.root-arrow{display:grid;place-items:center;width:66px;height:66px;border:1px solid var(--line);border-radius:50%;font-size:32px;font-weight:400;line-height:1;transition:background .3s,color .3s,border-color .3s}
.root-row:focus-visible .root-preview{opacity:1;transform:translateX(0) rotate(0)}
.root-row:focus-visible .root-name{color:var(--olive);transform:translateX(10px)}
.root-row:focus-visible .root-arrow{background:var(--olive);color:#fff;border-color:var(--olive)}
.roots-footer{display:flex;gap:20px;justify-content:space-between;color:var(--muted);font-size:12px;line-height:1.8;margin-top:25px}
.roots-footer>span:last-child{color:var(--olive);font-size:10px;letter-spacing:1.5px;font-weight:700}
@media(hover:hover) and (pointer:fine){.occasion-art:hover .occasion-picture img{transform:rotate(4deg) scale(1.07)}.occasion-art:hover .occasion-stamp{transform:rotate(5deg)}.villa-social:hover .social-postage{transform:rotate(0) translateY(-5px)}.root-row:hover .root-preview{opacity:1;transform:translateX(0) rotate(0)}.root-row:hover .root-name{color:var(--olive);transform:translateX(10px)}.root-row:hover .root-arrow{background:var(--olive);border-color:var(--olive);color:#fff}}
@media(min-width:1800px){.villa-social{width:calc(100% - var(--gutter) - var(--gutter));max-width:1664px;margin-left:auto;margin-right:auto}.root-preview{left:56%;width:280px;height:160px;top:20px}.root-row{min-height:200px}}
@media(max-width:1100px){.sweet-occasion{gap:45px;padding-top:75px;padding-bottom:75px}.occasion-copy h2{font-size:68px;letter-spacing:-3px}.occasion-copy>p:not(.eyebrow){font-size:15px}.occasion-stamp{width:97px;height:97px;font-size:8px;letter-spacing:1px}.occasion-stamp>span{font-size:25px}.occasion-links{gap:20px}.occasion-links .text-link{font-size:11px;gap:14px}.social-intro{gap:35px;grid-template-columns:1.5fr 1fr}.social-copy h2{font-size:53px;letter-spacing:-2.5px}.social-art{--social-photo-width:285px}.social-arrow{height:83px;width:83px;font-size:42px}.roots-heading h2{font-size:58px;letter-spacing:-2.5px}.root-row{min-height:155px;grid-template-columns:minmax(0,1fr) 57px}.root-name{font-size:68px;letter-spacing:-3px}.root-preview{width:195px;height:118px;left:55%;top:18px}.root-arrow{width:57px;height:57px;font-size:28px}.root-label{padding-left:0}.root-index{top:12px}}
@media(max-width:850px){.sweet-occasion{gap:35px;padding-top:60px;padding-bottom:65px;grid-template-columns:.95fr 1.05fr}.occasion-copy h2{font-size:55px;letter-spacing:-2.7px}.occasion-copy .eyebrow{font-size:9px}.occasion-copy>p:not(.eyebrow){font-size:14px;margin:23px 0}.occasion-links{margin-top:25px;gap:18px}.occasion-art{padding:30px 0}.occasion-stamp{width:80px;height:80px;font-size:7px;letter-spacing:.8px;top:14%}.occasion-stamp>span{font-size:20px;margin-top:6px}.occasion-footnote{font-size:7px;letter-spacing:1px}.villa-social{padding-top:55px;padding-bottom:50px}.social-intro{gap:35px;grid-template-columns:1.5fr 1fr}.social-copy h2{font-size:44px;letter-spacing:-2px}.social-copy .eyebrow{font-size:9px}.social-copy>p:not(.eyebrow){font-size:14px;margin-top:21px}.social-art{--social-photo-width:240px}.social-sign-off{margin-top:30px;padding:24px 0 28px;gap:25px}.social-arrow{width:70px;height:70px;font-size:37px}.social-handle{font-size:clamp(52px,10.8vw,90px)}.social-footer{font-size:8px;letter-spacing:1px}.villa-roots{padding-top:40px;padding-bottom:65px}.roots-heading{gap:30px;margin-bottom:35px}.roots-heading h2{font-size:48px;letter-spacing:-2px}.roots-heading .eyebrow{font-size:9px}.roots-heading>p{font-size:13px;max-width:200px}.root-row{min-height:140px;grid-template-columns:minmax(0,1fr) 49px}.root-name{font-size:58px;letter-spacing:-2.5px}.root-preview{width:160px;height:105px;top:17px;left:55%}.root-label{padding-left:0}.root-index{font-size:9px;top:10px}.root-arrow{width:49px;height:49px;font-size:26px}.roots-footer{font-size:10px}.roots-footer>span:last-child{font-size:8px;white-space:nowrap}}
@media(max-width:600px){.sweet-occasion{display:flex;flex-direction:column;align-items:stretch;gap:27px;padding-top:48px;padding-bottom:45px}.occasion-copy h2{font-size:clamp(53px,13.5vw,76px);letter-spacing:-2.8px;line-height:1.1;margin-top:23px}.occasion-copy>p:not(.eyebrow){font-size:15px;line-height:1.8;margin:23px 0}.occasion-links{gap:20px 28px;margin-top:25px}.occasion-links .text-link{font-size:12px;gap:20px}.occasion-art{width:100%;max-width:450px;align-self:center;padding:28px 0 36px}.occasion-stamp{width:85px;height:85px;font-size:7px;left:0;top:13%;letter-spacing:1px}.occasion-footnote{font-size:8px;bottom:6px}.villa-social{padding-top:43px;padding-bottom:40px}.social-intro{display:block}.social-copy h2{font-size:47px;letter-spacing:-2.4px;margin-top:23px}.social-copy>p:not(.eyebrow){font-size:15px;max-width:325px}.social-art{--social-photo-width:360px;place-items:center;margin-top:28px;padding:10px 9px 12px}.social-sign-off{margin-top:22px;padding:21px 0 24px;gap:16px}.social-handle{font-size:clamp(43px,10.8vw,65px);letter-spacing:-.06em}.social-arrow{width:48px;height:48px;font-size:27px}.social-footer{font-size:8px;line-height:1.7;letter-spacing:.8px;margin-top:17px;gap:20px}.social-footer>span:last-child{max-width:140px;text-align:right}.villa-roots{padding-top:35px;padding-bottom:48px}.roots-heading{display:block;margin-bottom:30px}.roots-heading h2{font-size:46px;letter-spacing:-2.2px;margin-top:22px}.roots-heading>p{font-size:15px;max-width:320px;margin-top:23px;padding:0}.root-row{grid-template-columns:minmax(0,1fr) 90px;min-height:135px;gap:18px;padding:20px 0}.root-label{padding:0}.root-index{position:static;display:block;font-size:8px;letter-spacing:1px;margin-bottom:0}.root-name{font-size:45px;letter-spacing:-2px}.root-preview,.root-row:nth-child(2) .root-preview{position:static;opacity:1;transform:none;pointer-events:none;width:90px;height:90px}.root-arrow{display:none}.root-row:hover .root-name,.root-row:focus-visible .root-name{transform:none}.roots-footer{display:block;margin-top:23px;font-size:12px;line-height:1.8}.roots-footer>span{display:block}.roots-footer>span:last-child{font-size:8px;margin-top:13px;letter-spacing:1.4px}}
@media(max-width:360px){.occasion-copy h2{font-size:48px;letter-spacing:-2.7px}.occasion-stamp{width:75px;height:75px;font-size:6px}.occasion-stamp>span{font-size:19px}.occasion-links .text-link{font-size:11px;gap:15px}.social-copy h2{font-size:40px;letter-spacing:-2px}.social-handle{font-size:36px}.social-arrow{width:44px;height:44px;font-size:25px}.social-sign-off{gap:12px}.social-footer{font-size:7px;letter-spacing:.6px}.social-footer>span:last-child{max-width:116px}.roots-heading h2{font-size:40px;letter-spacing:-1.8px}.root-row{grid-template-columns:minmax(0,1fr) 72px;gap:14px;min-height:120px}.root-name{font-size:39px;letter-spacing:-1.9px}.root-preview,.root-row:nth-child(2) .root-preview{width:72px;height:80px}}
@media(prefers-reduced-motion:reduce){.occasion-picture img,.occasion-stamp,.social-postage,.social-arrow,.root-preview,.root-name{transition:none}.occasion-art:hover .occasion-picture img,.occasion-art:hover .occasion-stamp,.villa-social:hover .social-postage,.social-sign-off:hover .social-arrow,.social-sign-off:focus-visible .social-arrow,.root-row:hover .root-name,.root-row:focus-visible .root-name{transform:none}}

@media(max-width:850px){.villa-social{padding-bottom:95px}}
@media(max-width:600px){.villa-social{padding-bottom:80px}}
