/* ttwt-appt.css — /products/book-an-appointment redesigned 17 Sep 2026. Tokens + boarding-pass card come from ttwt-home.css (enqueued on this page too). */
.ttwt-appt-hero{background:linear-gradient(180deg,#fff 0%,var(--tt-cream) 100%);padding:26px 0 46px}
.ttwt-appt-hero .breadcrumb{margin:0 0 30px;font-size:14px}
.ttwt-appt-hero .heading{font-size:clamp(40px,4.6vw,64px);line-height:1.02;margin:0 0 18px;max-width:820px}
.ttwt-appt-lead{font-family:var(--bs-font-heading-family);font-style:italic;font-size:26px;line-height:1.3;max-width:720px;margin:0;border-left:2px solid var(--tt-accent);padding-left:18px}

.ttwt-appt{padding:56px 0 48px;background:#fff}
.ttwt-appt-side{position:sticky;top:104px}
.ttwt-appt h2.heading{font-size:clamp(28px,2.6vw,38px);line-height:1.1;margin:0 0 20px}
.ttwt-appt-block{margin-top:60px}

/* scrapbook: postcard + two polaroids (polaroid base styles from ttwt-home.css) */
.ttwt-appt-collage{position:relative;aspect-ratio:4/3;max-width:640px;margin:0 0 8px}
.ttwt-postcard{position:absolute;left:0;top:0;width:80%;margin:0;background:#fff;padding:10px;box-shadow:0 30px 50px -28px rgba(0,0,0,.5);transform:rotate(-2deg)}
.ttwt-postcard img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.ttwt-appt-collage .ttwt-polaroid{width:36%;padding:10px 10px 34px}
.ttwt-appt-collage .ttwt-polaroid img{aspect-ratio:4/5}
.ttwt-polaroid--c{right:0;top:14%;transform:rotate(6deg)}
.ttwt-polaroid--d{left:8%;bottom:0;transform:rotate(-5deg)}
.ttwt-appt-collage:hover .ttwt-polaroid--c{transform:rotate(3deg) translateY(-6px)}
.ttwt-appt-collage:hover .ttwt-polaroid--d{transform:rotate(-2deg) translateY(-6px)}

/* process timeline */
.ttwt-steps{list-style:none;margin:0;padding:0;position:relative}
.ttwt-steps:before{content:"";position:absolute;left:21px;top:10px;bottom:10px;border-left:2px dashed var(--tt-line)}
.ttwt-steps li{position:relative;padding:0 0 28px 66px}
.ttwt-steps li:last-child{padding-bottom:0}
.ttwt-step-n{position:absolute;left:0;top:0;width:44px;height:44px;border-radius:50%;background:var(--tt-ink);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--bs-font-heading-family);font-size:22px;font-weight:700;box-shadow:0 0 0 5px #fff}
.ttwt-steps b{display:block;font-family:var(--bs-font-heading-family);font-size:25px;line-height:1.15;padding-top:7px;margin:0 0 6px}
.ttwt-steps p{margin:0;color:#444;font-size:16px;line-height:1.55}
.ttwt-steps .ttwt-note{margin-top:10px;font-size:14px;color:#666;background:var(--tt-cream);border-left:2px solid var(--tt-accent);padding:8px 12px;line-height:1.5}

/* what's included */
.ttwt-incl{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:0;padding:0;list-style:none}
.ttwt-incl li{border:1px solid var(--tt-line);border-radius:14px;padding:20px 20px 18px;background:#fff;transition:transform .3s ease,box-shadow .3s ease}
.ttwt-incl li:last-child:nth-child(odd){grid-column:1/-1}
.ttwt-incl li:hover{transform:translateY(-3px);box-shadow:0 18px 30px -22px rgba(0,0,0,.35)}
.ttwt-incl i{font-size:26px;color:var(--tt-accent);display:block;margin-bottom:10px}
.ttwt-incl b{display:block;font-family:var(--bs-font-heading-family);font-size:22px;line-height:1.15;margin-bottom:6px}
.ttwt-incl p{margin:0;font-size:15px;color:#555;line-height:1.5}

/* story */
.ttwt-story{display:grid;grid-template-columns:5fr 7fr;gap:34px;align-items:start}
.ttwt-story figure{margin:0;position:sticky;top:104px}
.ttwt-story img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:16px}
.ttwt-story p.ttwt-story-lead{font-family:var(--bs-font-heading-family);font-size:30px;line-height:1.15;font-weight:700;margin:0 0 16px}
.ttwt-story h3{font-family:var(--bs-font-heading-family);font-size:26px;line-height:1.15;margin:26px 0 8px}
.ttwt-story p{font-size:16px;line-height:1.65;color:#333;margin:0 0 14px}

/* right column */
.ttwt-appt-side .ttwt-cta-card{margin-bottom:26px}
.ttwt-coupon{display:flex;align-items:center;gap:12px;border:1px dashed var(--tt-accent);border-radius:12px;padding:12px 14px;margin:0 0 16px;background:#fff}
.ttwt-coupon>i{font-size:20px;color:var(--tt-accent)}
.ttwt-coupon b{display:block;font-size:14px;line-height:1.3}
.ttwt-coupon .coupon-code{color:var(--tt-accent);letter-spacing:.04em}
.ttwt-coupon small{display:block;font-size:12px;color:#666}
.ttwt-coupon button{margin-left:auto;flex-shrink:0;background:none;border:0;padding:6px 8px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--tt-ink);text-decoration:underline;text-underline-offset:3px}
.ttwt-cta-card .btn+.btn{margin-top:10px}
.ttwt-appt-services{border:1px solid var(--tt-line);border-radius:20px;padding:22px 26px 8px;background:#fff}
.ttwt-appt-services h3{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#666;margin:0 0 6px;font-weight:700}
.ttwt-appt-services .ttwt-service{border-color:var(--tt-line)!important}
.ttwt-appt-services .ttwt-service:last-child{border-bottom:0!important}
.ttwt-appt-services strong{font-family:var(--bs-font-heading-family);font-size:22px;line-height:1.1}
.ttwt-appt-services .fs-14{color:#555}
.ttwt-appt-services .btn{padding:11px 16px;font-size:12px}

/* fine print */
.ttwt-appt-faq{background:var(--tt-cream);padding:104px 0 112px}
.ttwt-faq-grid{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:24px 88px;align-items:start}
.ttwt-appt-faq .heading{position:sticky;top:120px;font-size:clamp(38px,3.6vw,54px);line-height:1.04;margin:0;padding-top:28px}
.ttwt-appt-faq .heading::before{content:"";position:absolute;left:0;top:0;width:56px;height:2px;background:var(--tt-accent)}
.ttwt-appt-faq .accordion{--bs-accordion-bg:transparent;border-bottom:1px solid var(--tt-line)}
.ttwt-appt-faq .accordion-item{background:transparent;border:0;border-top:1px solid var(--tt-line);border-radius:0}
.ttwt-appt-faq .accordion-header{margin:0}
.ttwt-appt-faq .accordion-button{display:flex;align-items:center;gap:22px;padding:28px 0;background:transparent;box-shadow:none;color:var(--tt-ink);border-radius:0}
.ttwt-appt-faq .accordion-button::after{display:none}
.ttwt-appt-faq .accordion-button:focus-visible{outline:2px solid var(--tt-accent);outline-offset:4px}
.ttwt-faq-n{flex:0 0 32px;font:700 13px/1 Lato,sans-serif;letter-spacing:.14em;color:var(--tt-accent)}
.ttwt-faq-t{flex:1;font-family:var(--bs-font-heading-family);font-size:28px;font-weight:600;line-height:1.15;transition:color .2s}
.ttwt-appt-faq .accordion-button:hover .ttwt-faq-t{color:var(--tt-accent)}
.ttwt-faq-ico{position:relative;flex:0 0 40px;height:40px;border:1px solid var(--tt-ink);border-radius:50%;transition:background .25s,transform .35s}
.ttwt-faq-ico::before,.ttwt-faq-ico::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:1.5px;background:var(--tt-ink);transform:translate(-50%,-50%);transition:transform .35s,background .25s}
.ttwt-faq-ico::after{transform:translate(-50%,-50%) rotate(90deg)}
.accordion-button:not(.collapsed) .ttwt-faq-ico{background:var(--tt-ink)}
.accordion-button:not(.collapsed) .ttwt-faq-ico::before,.accordion-button:not(.collapsed) .ttwt-faq-ico::after{background:#fff}
.accordion-button:not(.collapsed) .ttwt-faq-ico::after{transform:translate(-50%,-50%) rotate(0)}
.ttwt-appt-faq .accordion-body{padding:0 62px 36px 54px;max-width:760px;font-size:16px;line-height:1.7;color:#3a3a3a}
.ttwt-appt-faq .accordion-body p{margin:0 0 12px}
.ttwt-appt-faq .accordion-body p strong{color:var(--tt-ink)}
.ttwt-appt-faq .accordion-body ul+p{margin-top:24px}
.ttwt-appt-faq .accordion-body ul.ttwt-faq-list{list-style:none;margin:0 0 14px;padding:0}
.ttwt-faq-list li{position:relative;padding:0 0 8px 20px}
.ttwt-faq-list li::before{content:"";position:absolute;left:2px;top:.72em;width:6px;height:6px;border-radius:50%;background:var(--tt-accent)}
.ttwt-faq-list li.ttwt-faq-rate{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:11px 0;border-bottom:1px dashed var(--tt-line)}
.ttwt-faq-list li.ttwt-faq-rate::before{display:none}
.ttwt-faq-rate b{font-family:var(--bs-font-heading-family);font-size:22px;font-weight:700;color:var(--tt-ink);white-space:nowrap}
.ttwt-appt-faq .accordion-body p:last-child{margin-bottom:0}

@media (max-width:991px){.ttwt-appt-side{position:static}.ttwt-story figure{position:static}}
@media (max-width:749px){.ttwt-appt .row{--bs-gutter-x:1.5rem}.ttwt-appt-hero{padding:18px 0 36px}.ttwt-appt-hero .breadcrumb{margin-bottom:20px}.ttwt-appt-lead{font-size:21px}.ttwt-appt{padding:40px 0 32px}.ttwt-appt-block{margin-top:44px}
.ttwt-appt-collage{aspect-ratio:auto;display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:0 6px}
.ttwt-appt-collage .ttwt-postcard{position:static;width:auto;grid-column:1/-1;transform:rotate(-1deg)}
.ttwt-appt-collage .ttwt-polaroid{position:static;width:auto}.ttwt-polaroid--c{transform:rotate(2deg)}.ttwt-polaroid--d{transform:rotate(-2deg)}
.ttwt-steps:before{left:18px}.ttwt-steps li{padding-left:56px}.ttwt-step-n{width:38px;height:38px;font-size:19px}.ttwt-steps b{font-size:22px;padding-top:5px}
.ttwt-incl{grid-template-columns:1fr}
.ttwt-story{grid-template-columns:1fr;gap:22px}.ttwt-story img{aspect-ratio:4/3}.ttwt-story p.ttwt-story-lead{font-size:26px}
.ttwt-appt-services{padding:18px 20px 4px}.ttwt-appt-faq{padding:60px 0 68px}.ttwt-appt-faq .accordion-button{gap:14px;padding:22px 0}.ttwt-faq-n{flex-basis:24px}.ttwt-faq-t{font-size:22px}.ttwt-faq-ico{flex-basis:34px;height:34px}.ttwt-appt-faq .accordion-body{padding:0 0 26px}}

@media (max-width:991px){.ttwt-faq-grid{grid-template-columns:1fr}.ttwt-appt-faq .heading{position:relative;top:auto;margin-bottom:12px}}
