/* One continuous environment. All selectors are confined to this page. */
.tc-journey{--crimson:#8e2636;--ivory:#f4f0e5;--coal:#242424;position:relative;isolation:isolate;overflow:clip;background:linear-gradient(180deg,#f1ece2 0%,#f3eee5 26%,#e8dfd1 53%,#e8d9c9 72%,#f0e8dc 100%);color:var(--coal)}
.tc-journey section{position:relative;scroll-margin-top:110px}
.tc-journey p{color:#4b443b}.tc-journey em{color:var(--crimson)}
.tc-journey h2{font-size:clamp(44px,5.6vw,82px);line-height:1.07;letter-spacing:-.06em;font-weight:500}.tc-journey h2 em{font-weight:450}
.tc-kicker{font-size:10px!important;letter-spacing:.22em;font-weight:750;line-height:1.65!important;margin-bottom:23px;text-transform:uppercase;color:#53463c!important}
.tc-scene{position:absolute;z-index:-1;pointer-events:none}.tc-scene img{width:100%;height:100%;object-fit:cover}
.tc-back{display:inline-flex;font-size:11px;min-height:44px;align-items:center;margin-bottom:25px}.tc-back:hover,.tc-text-link:hover{color:var(--crimson)}
.tc-wedding{min-height:1000px;padding:24px 7% 190px}.tc-wedding-scene{inset:0 -2% 0 0;mask-image:linear-gradient(180deg,#000 72%,transparent 100%)}
.tc-wedding-scene:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#f2ede4 0%,#f2ede4f5 18%,#f2ede4b8 37%,transparent 58%)}
.tc-wedding-scene img{object-position:67% top}.tc-opening{max-width:565px;position:relative;z-index:4}
.tc-identity{display:flex;align-items:center;gap:23px;max-width:480px;margin-bottom:66px}.tc-identity>img{width:82px;flex-shrink:0;filter:drop-shadow(4px 10px 12px #2b201826);transform:rotate(-4deg)}
.tc-identity h1{font-size:27px;line-height:1.16;letter-spacing:-.04em;max-width:330px;font-weight:650}.tc-identity .tc-kicker{font-size:8px!important;letter-spacing:.18em;margin-bottom:9px}
.tc-credits{font-size:11px;line-height:1.7;margin-top:12px}.tc-credits span{display:block}.tc-question{font-size:21px;margin-top:27px;line-height:1.5;max-width:360px}.tc-actions{margin-top:34px;display:flex;gap:25px;align-items:center;flex-wrap:wrap}
.tc-button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;background:var(--crimson);color:#fff;min-height:54px;padding:16px 22px;font-size:12px;font-weight:650;line-height:1.5;border:1px solid transparent;transition:background .2s}
.tc-button:hover{background:#6d1928}.tc-text-link{display:inline-flex;align-items:center;gap:25px;min-height:44px;font-size:12px;font-weight:650;border-bottom:1px solid #9d8873;line-height:1.6}
.tc-scene-note{position:absolute;right:8%;bottom:130px;text-align:right;font-size:13px;letter-spacing:.02em;z-index:4}.tc-scene-note span{display:block}
.tc-life{min-height:950px;margin-top:-100px}.tc-life-scene{inset:0 0 0 -6%;width:100%;mask-image:linear-gradient(180deg,transparent 0%,#000 7%,#000 74%,transparent 100%)}
.tc-life-scene:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 30%,#f2ede459 60%,#f2ede4ee 86%)}.tc-life-scene img{object-position:42% center}
.tc-life-copy{position:relative;z-index:4;max-width:520px;margin-left:62%;padding-top:170px;margin-right:5%}.tc-life-copy h2{font-size:clamp(43px,5vw,72px)}.tc-life-copy>p:last-child{margin-top:30px;font-size:19px;line-height:1.7}
.tc-life-end{position:absolute;bottom:40px;left:15%;font-size:26px;line-height:1.4;z-index:4}.tc-life-end strong{font-size:45px;letter-spacing:-.04em;font-weight:500}
.tc-foundation{min-height:1050px;margin-top:-30px}.tc-foundation-scene{inset:15px -14% -45px 10%;mask-image:linear-gradient(180deg,transparent 0%,#000 10%,#000 76%,transparent 99%)}
.tc-foundation-scene:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#eee6da 0%,#eee6da8c 17%,transparent 42%)}.tc-foundation-scene img{object-position:62% center}
.tc-foundation-copy{position:relative;z-index:4;padding-top:125px;margin-left:7%;max-width:435px}.tc-foundation-copy h2{font-size:clamp(43px,4.5vw,65px)}.tc-foundation-copy>p:last-child{font-size:18px;line-height:1.8;margin-top:30px;max-width:270px}
.tc-foundation-end{position:absolute;bottom:65px;left:51%;font-size:20px;line-height:1.6;z-index:4}.tc-foundation-end strong{font-weight:500;font-size:27px;letter-spacing:-.02em}
.tc-resource{padding:35px 8% 150px;min-height:1060px;display:grid;grid-template-columns:52% 42%;column-gap:6%;align-items:start}.tc-resource-intro{grid-column:1/-1;position:relative;z-index:4;margin-bottom:45px;padding-left:5%}.tc-resource-intro h2{font-size:72px}.tc-resource-intro>p:last-child{margin-top:24px;font-size:17px;line-height:1.65}
.tc-resource-art{position:relative;z-index:3;width:min(85%,440px);margin:5px auto 0;transform:rotate(-5deg);filter:drop-shadow(18px 27px 21px #5035263b)}.tc-resource-art img{width:100%;height:auto;box-shadow:2px 2px 0 #e3d5c6,5px 5px 0 #cbbbaf}.tc-resource-art figcaption{font-size:10px;margin-top:24px;text-align:center;transform:rotate(5deg);color:#55473d;filter:none}
.tc-resource-details{position:relative;z-index:4;padding-top:65px;max-width:385px}.tc-resource-details article+article{margin-top:68px}.tc-number{display:block;font-size:10px;letter-spacing:.12em;color:#7f5d50;margin-bottom:14px}.tc-resource-details h3{font-size:27px;line-height:1.23;font-weight:600}.tc-resource-details p{font-size:16px;line-height:1.75;margin-top:18px}.tc-resource-details .tc-byline{font-size:11px;margin-top:18px;border-top:1px solid #af968859;padding-top:14px}
.tc-bundle{padding:45px 6% 130px;min-height:900px}.tc-bundle-heading{position:relative;z-index:4;margin-left:15%;max-width:920px}.tc-bundle-heading h2{font-size:clamp(43px,4.4vw,64px)}.tc-bundle-heading>p:last-child{font-size:17px;line-height:1.7;margin-top:25px}
.tc-five{position:relative;z-index:3;margin:65px auto 55px;height:320px;max-width:1060px;display:flex;align-items:flex-start;justify-content:center;gap:14px;perspective:1500px}.tc-set{width:18%;position:relative;transform:translateY(calc((var(--i) - 2)*(var(--i) - 2)*10px)) rotate(calc((var(--i) - 2)*3deg));filter:drop-shadow(7px 17px 11px #48332633)}.tc-set img{width:100%;height:auto;box-shadow:1px 1px #e5dbcf,3px 3px #c9b3a0}.tc-set span{display:block;font-size:10px;letter-spacing:.2em;text-align:center;margin-top:22px;filter:none}.tc-bundle-note{position:relative;z-index:4;text-align:center;font-size:14px;line-height:1.8;max-width:650px;margin:0 auto}.tc-bundle-note strong,.tc-bundle-note span{display:block}.tc-bundle-note strong{font-weight:650}
.tc-purchase{padding:50px 6% 60px;min-height:800px;text-align:center}.tc-purchase>*{position:relative;z-index:4}.tc-purchase h2{font-size:clamp(47px,5.7vw,82px);max-width:900px;margin:0 auto 45px}.tc-purchase h3{font-size:24px;letter-spacing:-.035em;margin-bottom:12px}.tc-purchase>p:not(.tc-kicker){font-size:14px}.tc-purchase .tc-credits{margin-top:17px}.tc-final-action{display:flex;align-items:center;justify-content:center;gap:30px;margin:33px auto 20px}.tc-price{font-size:37px;font-family:var(--display);font-weight:500;letter-spacing:-.05em;color:var(--coal)!important}.tc-price span{font:11px var(--font);letter-spacing:.05em}.tc-purchase .tc-stock{font-size:11px!important;max-width:430px;margin:0 auto;color:#635649}.tc-endnotes{margin-top:105px;font-size:10px;line-height:1.8}.tc-endnotes p{color:#625b52}.tc-endnotes a{margin-top:16px;font-size:11px}
.tc-cord{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:visible}.tc-cord>svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.tc-cord-narrow{display:none}
.tc-journey a:focus-visible{outline:3px solid #242424;outline-offset:6px}.tc-journey .tc-button:focus-visible{outline:3px solid #242424;box-shadow:0 0 0 3px #f4f0e5}
@media(min-width:1700px){.tc-wedding{min-height:1120px}.tc-opening{max-width:670px}.tc-opening h2{font-size:94px}.tc-life{min-height:1100px}.tc-foundation{min-height:1200px}.tc-scene img{object-fit:cover}}
@media(min-width:701px) and (max-width:1100px){.tc-wedding{padding-left:5%;min-height:980px}.tc-opening{max-width:470px}.tc-identity{max-width:420px}.tc-wedding-scene{left:-18%;right:-25%;}.tc-opening h2{font-size:65px}.tc-life-copy{margin-left:58%;margin-right:4%}.tc-life-copy h2{font-size:50px}.tc-foundation-copy{max-width:350px;margin-left:5%}.tc-foundation-copy h2{font-size:50px}.tc-foundation-scene{left:6%;right:-45%}.tc-resource{padding-inline:6%}.tc-resource-intro h2{font-size:63px}.tc-resource-details h3{font-size:24px}.tc-five{height:260px}.tc-bundle{min-height:800px}.tc-bundle-heading{margin-left:10%}}
@media(max-width:700px){
 .tc-journey h2{font-size:47px;letter-spacing:-.055em}.tc-kicker{font-size:8px!important;letter-spacing:.18em;margin-bottom:18px}.tc-back{font-size:10px;margin-bottom:16px;min-height:32px}
 .tc-wedding{padding:12px 6% 0;min-height:1120px}.tc-opening{max-width:none}.tc-identity{gap:17px;margin-bottom:32px;max-width:390px}.tc-identity>img{width:62px}.tc-identity h1{font-size:22px;max-width:250px}.tc-identity .tc-kicker{font-size:7px!important;letter-spacing:.12em;margin-bottom:7px}.tc-credits{font-size:10px;line-height:1.65;margin-top:9px}.tc-concept{margin-bottom:15px}
 .tc-question{font-size:17px;margin-top:19px;max-width:300px}.tc-actions{margin-top:23px;gap:18px}.tc-button{font-size:11px;min-height:51px;padding:14px 17px;gap:18px}.tc-text-link{font-size:11px;gap:13px;min-height:44px}.tc-wedding-scene{inset:475px -8% -35px;mask-image:linear-gradient(180deg,transparent 0%,#000 20%,#000 72%,transparent 100%)}.tc-wedding-scene:after{display:none}.tc-wedding-scene img{object-position:center center}.tc-scene-note{bottom:15px;right:8%;font-size:11px;line-height:1.5}
 .tc-life{margin-top:0;min-height:1020px}.tc-life-copy{margin:0 12% 0 16%;padding-top:70px;max-width:340px}.tc-life-copy h2{font-size:47px}.tc-life-copy>p:last-child{font-size:16px;margin-top:22px}.tc-life-scene{inset:305px -10% 80px -10%;width:120%;mask-image:linear-gradient(180deg,transparent 0%,#000 20%,#000 78%,transparent 100%)}.tc-life-scene:after{display:none}.tc-life-scene img{object-position:center center}.tc-life-end{left:16%;bottom:0;font-size:19px}.tc-life-end strong{font-size:35px}
 .tc-foundation{margin-top:20px;min-height:1030px}.tc-foundation-copy{padding-top:60px;margin-left:8%;max-width:300px}.tc-foundation-copy h2{font-size:45px}.tc-foundation-copy>p:last-child{font-size:16px;margin-top:22px;line-height:1.7;max-width:250px}.tc-foundation-scene{inset:365px -15% 5px;mask-image:linear-gradient(180deg,transparent 0%,#000 16%,#000 70%,transparent 100%)}.tc-foundation-scene:after{display:none}.tc-foundation-scene img{object-position:center center}.tc-foundation-end{left:22%;bottom:10px;font-size:17px;line-height:1.6}.tc-foundation-end strong{font-size:21px}
 .tc-resource{padding:75px 8% 65px;min-height:1380px;display:block}.tc-resource-intro{padding-left:5%;margin-bottom:40px}.tc-resource-intro h2{font-size:51px}.tc-resource-intro>p:last-child{font-size:15px;margin-top:22px}.tc-resource-art{width:80%;max-width:340px;margin:0 auto;transform:rotate(-4deg)}.tc-resource-art figcaption{font-size:8px;line-height:1.6;margin-top:17px}.tc-resource-details{padding-top:57px;margin-left:9%;max-width:310px}.tc-resource-details article+article{margin-top:40px}.tc-resource-details h3{font-size:23px;line-height:1.25}.tc-resource-details p{font-size:14px;line-height:1.75;margin-top:15px}.tc-resource-details .tc-byline{font-size:10px;padding-top:11px;margin-top:13px}.tc-number{font-size:9px;margin-bottom:10px}
 .tc-bundle{padding:20px 7% 70px;min-height:770px}.tc-bundle-heading{margin-left:8%;max-width:340px}.tc-bundle-heading h2{font-size:41px;line-height:1.12}.tc-bundle-heading>p:last-child{font-size:15px;margin-top:22px}.tc-five{margin:55px -2% 50px;height:220px;gap:0;max-width:none;align-items:flex-start;padding-left:0}.tc-set{width:26%;flex-shrink:0;margin-left:-9%;transform:translateY(calc((var(--i) - 2)*(var(--i) - 2)*12px)) rotate(calc((var(--i) - 2)*6deg));z-index:calc(5 - var(--i))}.tc-set:first-child{margin-left:0}.tc-set span{margin-top:19px;font-size:8px}.tc-bundle-note{font-size:12px;line-height:1.8;margin:0 9%}
 .tc-purchase{padding:55px 7% 42px;min-height:815px}.tc-purchase h2{font-size:45px;line-height:1.12;margin-bottom:34px}.tc-purchase h3{font-size:22px;max-width:270px;margin:0 auto 14px}.tc-purchase>p:not(.tc-kicker){font-size:13px;max-width:280px;margin-inline:auto}.tc-purchase .tc-credits{font-size:10px!important;margin-top:18px}.tc-final-action{display:flex;flex-direction:column;gap:17px;margin:25px auto 19px}.tc-price{font-size:33px}.tc-final-action .tc-button{max-width:290px;min-height:56px;gap:25px}.tc-purchase .tc-stock{font-size:10px!important;max-width:250px}.tc-endnotes{margin:90px 8% 0;font-size:9px;line-height:1.7}.tc-endnotes p+p{margin-top:10px}.tc-endnotes a{font-size:10px}.tc-cord-wide{display:none}.tc-cord-narrow{display:block}
}
@media(max-width:360px){.tc-journey h2{font-size:41px}.tc-identity h1{font-size:20px}.tc-identity>img{width:54px}.tc-identity .tc-kicker{font-size:6px!important}.tc-identity .tc-credits{font-size:9px}.tc-wedding{min-height:1130px}.tc-actions{gap:9px}.tc-wedding-scene{top:490px}.tc-resource{min-height:1300px}.tc-life-copy{margin-left:13%}.tc-foundation-copy h2{font-size:41px}.tc-bundle-heading h2{font-size:36px}.tc-five{height:200px}.tc-purchase h2{font-size:40px}}
@media(prefers-reduced-motion:no-preference){.tc-opening{animation:tc-enter .8s both}.tc-resource-art.is-visible{animation:tc-resource-arrive .75s both}@keyframes tc-enter{from{opacity:.4;translate:0 14px}to{opacity:1;translate:0 0}}@keyframes tc-resource-arrive{from{translate:0 18px}to{translate:0 0}}}
@media(prefers-reduced-motion:reduce){.tc-journey *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Phone framing preserves both people rather than the desktop negative space. */
@media(max-width:700px){.tc-wedding-scene img{object-position:76% center}.tc-life-scene img{object-position:27% center}.tc-foundation-scene img{object-position:50% center}.tc-resource-details{max-width:calc(100% - 32px)}}

/* The official materials arrive on the same table, before the home scene resolves. */
@media(min-width:701px){.tc-resource{margin-top:-180px;padding-top:40px;min-height:1000px;grid-template-rows:auto 1fr}.tc-resource-intro{grid-column:2;grid-row:1;padding:0;margin-bottom:35px}.tc-resource-intro h2{font-size:clamp(48px,4.8vw,69px)}.tc-resource-art{grid-column:1;grid-row:1/3;margin-top:65px;width:min(92%,480px)}.tc-resource-details{grid-column:2;grid-row:2;padding-top:0}.tc-resource-details article+article{margin-top:40px}}

@media(max-width:700px){.tc-wedding-scene{top:500px;height:530px;bottom:auto}.tc-wedding-scene img{object-position:100% center}.tc-wedding-scene{mask-image:linear-gradient(180deg,transparent 0%,#000 14%,#000 82%,transparent 100%)}}

.tc-first-home{position:absolute;right:3%;bottom:86px;width:40%;height:330px;z-index:1;mask-image:radial-gradient(ellipse at center,#000 40%,transparent 76%)}.tc-first-home img{width:100%;height:100%;object-fit:cover;object-position:50% center}
.tc-family{min-height:850px;margin-top:0}.tc-family-scene{inset:-40px 0 0;mask-image:linear-gradient(180deg,transparent 0%,#000 17%,#000 73%,transparent 100%)}.tc-family-scene img{object-position:center 40%}.tc-family h2{position:absolute;bottom:8px;left:10%;font-size:clamp(32px,3vw,45px);z-index:4;line-height:1.25}
@media(min-width:701px) and (max-width:1100px){.tc-first-home{bottom:100px;height:280px;width:41%}.tc-family{min-height:740px}}
@media(max-width:700px){.tc-life{min-height:1430px}.tc-life-scene{bottom:auto;height:640px}.tc-first-home{top:950px;bottom:auto;right:-5%;width:110%;height:340px;mask-image:radial-gradient(ellipse at center,#000 45%,transparent 77%)}.tc-life-end{bottom:35px}.tc-family{min-height:770px;margin-top:0}.tc-family-scene{inset:0 -12% 0;mask-image:linear-gradient(180deg,transparent 0%,#000 17%,#000 71%,transparent 100%)}.tc-family-scene img{object-position:46% center}.tc-family h2{font-size:28px;left:10%;right:13%;bottom:5px;line-height:1.3}.tc-family h2 em{display:inline-block}}

@media(min-width:701px){.tc-life-scene{top:95px;bottom:-35px}}
@media(max-width:700px){.tc-life-scene{mask-image:linear-gradient(180deg,transparent 0%,#000 12%,#000 78%,transparent 100%)}}

@media(max-width:700px){.tc-family{min-height:610px}.tc-family-scene{inset:25px -7% auto;aspect-ratio:1.12;height:auto;mask-image:linear-gradient(180deg,transparent 0%,#000 7%,#000 74%,transparent 100%)}.tc-family-scene img{object-position:50% 40%}.tc-family h2{bottom:18px}}

.tc-cord>picture,.tc-cord>picture>img{position:absolute;inset:0;width:100%;height:100%;max-width:none}

/* A quiet later-life echo leads into the existing purchase invitation. */
.tc-purchase>.tc-later-life{display:block;position:relative;z-index:1;width:min(100%,980px);margin:-45px auto 12px;aspect-ratio:1.5;mask-image:linear-gradient(180deg,transparent 0%,#000 12%,#000 70%,transparent 100%)}
.tc-later-life img{display:block;width:100%;height:100%;object-fit:cover;object-position:62% 35%}
@media(max-width:700px){.tc-purchase>.tc-later-life{width:116%;margin:-35px -8% 20px;aspect-ratio:1.15;mask-image:linear-gradient(180deg,transparent 0%,#000 10%,#000 76%,transparent 100%)}.tc-later-life img{object-position:64% 35%}}
.tc-purchase>.tc-later-life{mask-image:linear-gradient(180deg,transparent 0%,#000 12%,#000 74%,transparent 100%),linear-gradient(90deg,transparent 0%,#000 9%,#000 91%,transparent 100%);mask-composite:intersect}

/* Five complete sets (2026-11-01): a poster-scale 5 beside the five sets typed as rows; no repeated pictures. */
.tc-sets{position:relative;z-index:4;display:grid;grid-template-columns:auto minmax(0,1fr);gap:0 clamp(48px,6vw,110px);align-items:center;margin:clamp(40px,5vw,80px) 11% 0 15%}
.tc-sets-five{display:block;font-size:clamp(230px,25vw,400px);line-height:.78;font-weight:300;letter-spacing:-.08em;color:var(--crimson);font-variant-numeric:tabular-nums;margin-left:-.06em}
.tc-sets-plus{display:block;color:var(--crimson);font-weight:400;font-size:clamp(24px,2.4vw,34px);line-height:1.2}
.tc-sets-label{font-size:11px;letter-spacing:.2em;font-weight:700;text-transform:uppercase;color:var(--crimson);margin:0 0 16px}
.tc-sets-title{font-size:clamp(28px,3.2vw,48px);line-height:1.1;letter-spacing:-.04em;margin:0}
@media(max-width:1100px){.tc-sets{margin-left:8%;margin-right:10%}}
@media(max-width:700px){
 .tc-bundle{min-height:0}
 .tc-sets{grid-template-columns:1fr;margin:34px 3% 0 8%}
 .tc-sets-five{font-size:clamp(150px,44vw,210px)}
}
