/* Four supplied photographs form a quiet visual story; faces and framing are preserved. */
.our-story{max-width:1200px;padding-top:94px;padding-bottom:53px;position:relative}
.story-heading{text-align:center;max-width:730px;margin:0 auto 68px}
.story-heading>.eyebrow{font-size:10px;letter-spacing:.23em;margin-bottom:22px}
.story-heading h2{font-size:60px;line-height:1.02;letter-spacing:-.015em}
.story-heading h2 em{color:#897345}
.story-invitation{font:23px/1.5 var(--serif);color:var(--muted);margin-top:26px}
.story-pair{position:relative;display:grid;grid-template-columns:.78fr 1.3fr;column-gap:87px;align-items:start;max-width:950px;margin:0 auto;isolation:isolate}
.story-thread{position:absolute;top:41%;left:22%;width:56%;height:1px;background:linear-gradient(90deg,#c0a46c22,#b99b60,#c0a46c55);z-index:-1;pointer-events:none}
.story-thread::after{content:"";position:absolute;left:47%;top:-3px;width:7px;height:7px;background:#bba06e;transform:rotate(45deg);box-shadow:0 0 0 6px var(--paper)}
.motion-ready .story-thread{transform:scaleX(0);transform-origin:left;transition:opacity 1s ease,transform 1.2s ease}
.motion-ready .story-thread.is-visible{transform:scaleX(1)}
.story-moment{margin:0;position:relative;text-align:center}
.story-selfie{justify-self:center;max-width:300px;width:100%}
.story-companionship{margin-top:145px;max-width:560px}
.story-photo{padding:8px;background:#fcf9f2;border:1px solid #c4b18c;box-shadow:0 14px 28px #66553610;position:relative}
.story-photo::after{content:"";position:absolute;inset:3px;border:1px solid #e6dcc8;pointer-events:none}
.story-photo img{width:100%;height:auto;display:block}
.story-selfie .story-photo{width:min(100%,260px);margin:0 auto;transform:rotate(-1.6deg)}
.story-companionship .story-photo{transform:rotate(1.1deg)}
.story-moment figcaption{font:italic 26px/1.3 var(--serif);color:#5c624e;padding:24px 2px 0;max-width:470px;margin:auto}
.story-caption-rule{display:block;width:33px;height:1px;background:#b69a64;margin:0 auto 16px}
.story-promise{max-width:830px;margin:74px auto 0;text-align:center}
.promise-photo{position:relative;padding:8px;border:1px solid #c4b18c;background:#fcf9f2;box-shadow:0 16px 35px #6655360a}
.promise-photo::after{content:"";position:absolute;inset:3px;border:1px solid #e6dcc8;pointer-events:none}
.promise-photo img{width:100%;height:auto;display:block}
.story-promise figcaption{padding-top:29px}
.promise-ornament{width:100px;height:37px;color:#a18450;margin-bottom:14px}
.story-promise figcaption p{font:35px/1.2 var(--serif);color:#5d6552}
.story-promise figcaption em{font-size:1.15em;color:var(--ink)}
.closing-with-portrait{max-width:1120px;display:grid;grid-template-columns:.9fr 1.1fr;gap:66px;align-items:center;text-align:left;padding-top:74px;padding-bottom:65px}
.closing-portrait{position:relative;isolation:isolate;max-width:365px;width:100%;justify-self:center;line-height:0}
.closing-portrait::before{content:"";position:absolute;inset:2% -9% -1%;background:radial-gradient(ellipse at 50% 51%,#e5d6b862,transparent 69%);z-index:-2;pointer-events:none}
.portrait-halo{position:absolute;inset:24px 17px 12px;border:1px solid #bca16b;border-radius:48% 48% 0 0;background:linear-gradient(145deg,#ede6d966,#f9f5eb22);z-index:-1}
.portrait-halo::before{content:"";position:absolute;inset:7px;border:1px solid #d6c9aa;border-radius:48% 48% 0 0}
.closing-portrait img{display:block;width:100%;height:auto;position:relative;z-index:1}
.portrait-olive{position:absolute;left:-10px;bottom:8px;width:88px;height:112px;color:#ae9057;transform:rotate(-28deg);z-index:0;pointer-events:none}
.closing-copy .closing-ornament{margin-left:0}
.closing-with-portrait .closing-copy>p:not(.eyebrow):not(.share-status){font:26px/1.4 var(--serif);color:var(--muted);max-width:440px}
.closing-with-portrait h2{white-space:nowrap;font-size:74px}
.closing-with-portrait .share-status{font:12px/1.7 var(--sans)}
@media(max-width:1000px){.story-pair{gap:55px}.story-heading h2{font-size:55px}.story-companionship{margin-top:132px}.closing-with-portrait{gap:36px}.closing-with-portrait h2{font-size:63px}.closing-with-portrait h2 em{font-size:46px}}
@media(max-width:760px){
.our-story{padding:57px 28px 32px;max-width:600px}
.story-heading{margin-bottom:41px}
.story-heading>.eyebrow{font-size:9px;letter-spacing:.15em;margin-bottom:19px}
.story-heading h2{font-size:43px;line-height:1.05}
.story-invitation{font-size:21px;line-height:1.4;margin-top:22px}
.story-invitation br{display:none}
.story-pair{display:flex;flex-direction:column;gap:49px;align-items:center}
.story-selfie{max-width:300px}
.story-companionship{margin:0;max-width:100%;width:100%}
.story-selfie .story-photo{max-width:260px;transform:rotate(-1deg)}
.story-companionship .story-photo{transform:rotate(.6deg)}
.story-photo{padding:7px}
.story-moment figcaption{font-size:25px;line-height:1.25;padding-top:23px}
.story-moment figcaption br{display:none}
.story-caption-rule{margin-bottom:14px;width:29px}
.story-thread{position:relative;top:auto;left:auto;height:32px;width:1px;flex:none;margin:-17px 0;background:linear-gradient(#c0a46c22,#b99b60,#c0a46c55);display:block}
.story-thread::after{left:-3px;top:13px}
.motion-ready .story-thread{transform:scaleY(0);transform-origin:top}
.motion-ready .story-thread.is-visible{transform:scaleY(1)}
.story-promise{margin-top:49px}
.promise-photo{padding:6px}
.story-promise figcaption{padding-top:22px}
.promise-ornament{width:87px;height:32px;margin-bottom:14px}
.story-promise figcaption p{font-size:27px;line-height:1.25}
.story-promise figcaption p br{display:none}
.story-promise figcaption em{display:block;font-size:1.15em;margin-top:6px}
.closing-with-portrait{display:flex;flex-direction:column;gap:32px;max-width:600px;padding:51px 28px 39px;text-align:center}
.closing-portrait{max-width:280px}
.portrait-halo{inset:16px 14px 9px}
.portrait-olive{width:68px;height:92px;left:-8px;bottom:8px}
.closing-copy .closing-ornament{margin-left:auto;margin-right:auto}
.closing-with-portrait .closing-copy>p:not(.eyebrow):not(.share-status){font-size:24px}
.closing-with-portrait h2{font-size:62px}.closing-with-portrait h2 em{font-size:43px}
}
@media(max-width:370px){.our-story{padding-inline:25px}.story-heading h2{font-size:39px}.story-moment figcaption{font-size:24px}.story-promise figcaption p{font-size:25px}.closing-with-portrait h2{font-size:58px}}
@media(prefers-reduced-motion:reduce){.motion-ready .story-thread{opacity:1;transform:none;transition:none}.story-selfie .story-photo,.story-companionship .story-photo{transform:none}}
