.tm{--red:#a51e37;--cream:#fff9ee;--green:#164b3a;color:#192e29}.tm h1,.tm h2,.tm h3{font-family:system-ui,-apple-system,'Segoe UI',sans-serif;letter-spacing:-.045em;line-height:1.08}.tm h2{font-size:clamp(32px,3.8vw,50px);margin:0 0 26px;font-weight:750}.tm h3{font-size:30px;margin:18px 0}.tm .eyebrow{color:var(--red);letter-spacing:.15em}.tm-hero{background:var(--cream);padding:55px 0 65px;overflow:hidden}.tm-hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:center}.tm-season{font-size:19px!important;font-weight:750;letter-spacing:.16em;margin:18px 0 0!important}.tm-season span{color:var(--red)}.tm h1{font-size:clamp(64px,7.5vw,106px);margin:0 0 25px;font-weight:850;letter-spacing:-.07em}.tm-dot{color:var(--red)}.tm-hero h2{font-size:clamp(29px,3vw,40px);letter-spacing:-.035em}.tm-copy>p:not(.eyebrow):not(.tm-season){max-width:490px;font-size:18px}.tm .tm-small{font-size:13px;line-height:1.55;color:#55665e}.tm-hero .tm-small{margin-top:20px}.tm .tm-red{background:var(--red);border-color:var(--red);color:white;border-radius:5px}.tm .tm-red:hover{background:#80172b}.tm .tm-outline{background:transparent;color:#192e29;border-color:#192e29;border-radius:5px}.tm-hero-photo{position:relative;margin:0;transform:rotate(2deg);border:10px solid white;box-shadow:0 20px 45px #173b2925;border-radius:8px;background:white}.tm-hero-photo img{width:100%;height:520px;object-fit:cover;object-position:center 35%;border-radius:2px}.tm-hero-photo figcaption{padding:12px 4px 2px;font-size:12px;letter-spacing:.03em;color:#45584d}.tm-ribbon{background:var(--green);color:#fff;padding:19px 0}.tm-ribbon .wrap{display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:12px;font-weight:750;letter-spacing:.13em}.tm-section{padding:88px 0}.tm-story{display:grid;grid-template-columns:1fr 1.1fr;gap:90px}.tm-story p{margin:0 0 22px}.tm-story .tm-lead{font-size:23px;line-height:1.45;letter-spacing:-.015em}.tm-moments{background:#f0f4ef;padding:70px 0}.tm-section-heading{display:flex;justify-content:space-between;gap:25px;align-items:end;margin-bottom:28px}.tm-section-heading h2{margin-bottom:0}.tm-photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.tm-photo-grid figure{margin:0;border:7px solid white;border-radius:5px;background:white}.tm-photo-grid img{width:100%;height:310px;object-fit:cover;object-position:center 28%}.tm-help-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:0;margin-top:40px;border:1px solid #dedfd7;border-radius:7px;overflow:hidden}.tm-help-grid article{padding:32px;border-right:1px solid #dedfd7}.tm-help-grid article:first-child{background:var(--cream)}.tm-help-grid article:last-child{border:0}.tm-number{font-size:12px;color:var(--red);font-weight:750;letter-spacing:.14em}.tm-help-grid p{font-size:15px}.tm-help-grid .actions{align-items:center}.tm-help-grid .text-link{white-space:normal}.tm-details{background:var(--green);color:white;padding:50px 0}.tm-details .wrap{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.tm-details .eyebrow{color:#f4d1c6}.tm-details h2{font-size:31px;margin-bottom:12px}.tm-details p{margin:0 0 15px}.tm-response{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:start}.tm-response>div p{max-width:390px}.tm .signup{background:var(--cream);padding:35px;max-width:none;border:1px solid #e8dfd3;border-radius:8px}.tm .signup h3{margin:0 0 25px}.tm fieldset{border:0;padding:0;margin:24px 0}.tm legend{font-size:15px;font-weight:650;margin-bottom:14px}.tm .checkboxes{display:grid;grid-template-columns:1fr;gap:12px}.tm .checkboxes label{display:flex;align-items:start;gap:10px}.tm input[type=checkbox]{accent-color:var(--red);margin-top:5px}.tm input,.tm textarea{background:white}.tm a:focus-visible,.tm button:focus-visible{outline-color:var(--red)}
@media(max-width:960px){.tm-hero-grid{gap:28px}.tm-hero-photo img{height:470px}.tm-story,.tm-response{gap:40px}.tm-help-grid{grid-template-columns:1fr}.tm-help-grid article{border-right:0;border-bottom:1px solid #dedfd7}.tm-photo-grid{grid-template-columns:repeat(2,1fr)}.tm-section-heading{display:block}.tm-section-heading .text-link{display:inline-block;margin-top:18px}}
@media(max-width:640px){.tm .wrap{padding-left:22px;padding-right:22px}.tm-hero{padding:35px 0 45px}.tm-hero-grid,.tm-story,.tm-response,.tm-details .wrap{grid-template-columns:1fr}.tm-hero-grid{gap:32px}.tm h1{font-size:72px}.tm-hero-photo{transform:rotate(1deg);margin:0 5px}.tm-hero-photo img{height:340px}.tm-hero h2{font-size:32px}.tm-ribbon .wrap{justify-content:center;flex-wrap:wrap;font-size:10px;gap:10px 15px}.tm-ribbon span:nth-last-child(-n+2){display:none}.tm-section{padding:55px 0}.tm-story{gap:10px}.tm-moments{padding:45px 0}.tm-photo-grid{gap:10px}.tm-photo-grid figure{border-width:4px}.tm-photo-grid img{height:235px}.tm-help-grid article{padding:26px}.tm-details .wrap{gap:18px}.tm .signup{padding:23px}.tm .field-row{grid-template-columns:1fr}.tm-response{gap:25px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.tm-details{padding:64px 0}.tm-details .tm-planning{grid-template-columns:.85fr 1.4fr;gap:48px}.tm-planning-intro h2{font-size:clamp(32px,3.2vw,44px)}.tm-date-cards{display:grid;grid-template-columns:1fr 1fr;gap:18px}.tm-date-card{background:#fff9ee;color:#192e29;border-radius:8px;padding:27px 24px;display:flex;flex-direction:column;align-items:flex-start;border-top:5px solid #e3bd6a}.tm-date-card.tm-deadline{border-top-color:#d84d63}.tm-date-card .tm-date-label{font-size:11px;font-weight:800;letter-spacing:.13em;margin:0 0 22px}.tm-deadline .tm-date-label{color:#a51e37}.tm-date-card time{display:flex;flex-direction:column;line-height:1;gap:7px}.tm-month{font-size:14px;font-weight:750;letter-spacing:.17em}.tm-day{font-size:88px;font-weight:800;letter-spacing:-.065em;line-height:.95}.tm-deadline .tm-day{color:#a51e37}.tm-date-year{font-size:13px;letter-spacing:.15em;margin-top:3px;color:#55665e}.tm .tm-date-card h3{font-size:23px;letter-spacing:-.03em;margin:25px 0 12px}.tm-date-card p:not(.tm-date-label){font-size:14px;line-height:1.55;margin:0 0 22px}.tm-date-card .btn{margin-top:auto;font-size:13px;padding:10px 15px;min-height:44px}@media(max-width:960px){.tm-details .tm-planning{grid-template-columns:1fr;gap:30px}}@media(max-width:520px){.tm-date-cards{grid-template-columns:1fr}.tm-date-card{padding:27px}.tm-details{padding:45px 0}}
