/* Client revision brief (Sep 2026): home/about/guide tweaks */
.multicolumn .cs-card{display:flex;flex-direction:column}
.multicolumn .cs-card-body{flex:1 1 auto;display:flex}
.multicolumn .cs-card-body-inner{flex:1 1 auto;width:100%}
.ttwt-gallery-caption{font-size:20px;line-height:1.2}
.category-overlay .shop-btn{color:#fff;text-transform:uppercase}
.ttwt-insta-row{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 16px 8px;-webkit-overflow-scrolling:touch}
.ttwt-insta-tile{flex:0 0 220px;aspect-ratio:1;scroll-snap-align:start;display:block;overflow:hidden;border-radius:8px}
.ttwt-insta-tile img{width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:767px){.ttwt-insta-tile{flex-basis:70vw}}
/* related products: uniform image ratio so card bottoms align */
.product-recommendations .card-img-top{aspect-ratio:4/3;height:auto}
.product-recommendations .card-img-top img{width:100%;height:100%;object-fit:cover}
.multicolumn .cs-card-body-inner{display:flex;flex-direction:column}
.multicolumn .card-bottom{margin-top:auto}
/* product description: even paragraph/list spacing */
.accordion .accordion-body.rte-custom-2 p,.accordion .accordion-body.rte-custom-2 ol,.accordion .accordion-body.rte-custom-2 ul{margin:0 0 1em}
.accordion-body.rte-custom-2 li{margin-bottom:.4em}

/* Other services (booking page): stack on mobile */
@media (max-width:749px){.ttwt-service{flex-direction:column;align-items:stretch}.ttwt-service .btn{width:100%}}

/* booking page: Bootstrap .form-select already draws its arrow; the extra <i> chevron rendered below the select */
.product-form__input--dropdown .select > i.bi-chevron-down{display:none}

/* ---- animated header logo (.ttwt-lg): the world rises, landmarks appear, the two come up from the horizon with their bag, the name writes itself; they walk on, the world sets, and it starts again. 12s cycle, CSS only. ---- */
.ttwt-lg{position:relative;display:block;width:100px;aspect-ratio:1654/1079;overflow:visible}
.ttwt-lg img,.ttwt-lg-c{position:absolute;display:block;height:auto;margin:0;max-width:none}
.ttwt-lg-c img{position:static;width:100%}
.ttwt-lg-g{left:0.302%;top:0.556%;width:99.093%;animation:ttwt-lg-g 12s ease-out infinite both}
.ttwt-lg-s{left:0.423%;top:30.028%;width:99.154%;animation:ttwt-lg-s 12s ease-out infinite both}
.ttwt-lg-c{left:32.406%;top:25.579%;width:34.281%;transform-origin:50% 100%;animation:ttwt-lg-c 12s linear infinite both}
.ttwt-lg-ci{animation:ttwt-lg-b 12s ease-in-out infinite both;transform-origin:50% 100%}
.ttwt-lg-t{left:0.302%;top:81.835%;width:96.07%;animation:ttwt-lg-t 12s ease-in-out infinite both}
@keyframes ttwt-lg-g{0%{clip-path:inset(100% 0 0 0);transform:translateY(18%)}11.7%,80%{clip-path:inset(0 0 0 0);transform:none}90%,100%{clip-path:inset(100% 0 0 0);transform:translateY(18%)}}
@keyframes ttwt-lg-s{0%,8.3%{clip-path:inset(100% 0 0 0);transform:translateY(12%)}16.7%,77.5%{clip-path:inset(0 0 0 0);transform:none}85.8%,100%{clip-path:inset(100% 0 0 0);transform:translateY(12%)}}
@keyframes ttwt-lg-c{0%,13.3%{translate:0 -38%;scale:.3;opacity:0}16%{opacity:1}26.7%,66.7%{translate:0 0;scale:1;opacity:1}77%{opacity:1}80%,100%{translate:-120% 0;scale:1;opacity:0}}
@keyframes ttwt-lg-b{0%{transform:none}13.30%{transform:translateY(0) rotate(0deg)}14.98%{transform:translateY(-2.5%) rotate(2.5deg)}16.65%{transform:translateY(-2.5%) rotate(-2.5deg)}18.32%{transform:translateY(-2.5%) rotate(2.5deg)}20.00%{transform:translateY(-2.5%) rotate(-2.5deg)}21.68%{transform:translateY(-2.5%) rotate(2.5deg)}23.35%{transform:translateY(-2.5%) rotate(-2.5deg)}25.02%{transform:translateY(-2.5%) rotate(2.5deg)}26.70%{transform:translateY(0) rotate(0deg)}66.70%{transform:translateY(0) rotate(0deg)}68.36%{transform:translateY(-2.5%) rotate(2.5deg)}70.03%{transform:translateY(-2.5%) rotate(-2.5deg)}71.69%{transform:translateY(-2.5%) rotate(2.5deg)}73.35%{transform:translateY(-2.5%) rotate(-2.5deg)}75.01%{transform:translateY(-2.5%) rotate(2.5deg)}76.67%{transform:translateY(-2.5%) rotate(-2.5deg)}78.34%{transform:translateY(-2.5%) rotate(2.5deg)}80.00%{transform:translateY(0) rotate(0deg)}100%{transform:none}}
@keyframes ttwt-lg-t{0%,23.3%{clip-path:inset(0 100% 0 0);opacity:1}35%,75%{clip-path:inset(0 0 0 0);opacity:1}81.7%,100%{clip-path:inset(0 0 0 0);opacity:0}}
@media (prefers-reduced-motion:reduce){.ttwt-lg *{animation:none!important;clip-path:none!important;transform:none!important;translate:none!important;opacity:1!important}}


/* contact/collection/search: sticky columns sat at top:0 under the 128px sticky header (46px bar + 82px header) */
.sticky-lg-top{top:148px}

/* contact page (21 Sep) */
section.hero-consultation{justify-content:flex-start;text-align:left;height:min(100vh,860px);min-height:600px}
.hero-consultation .hero-bg img{object-position:0 100%}
.hero-consultation .overlay{background:linear-gradient(90deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.45) 34%,rgba(0,0,0,0) 62%)}
.hero-consultation .content{max-width:none;width:41%;padding:0 0 0 clamp(24px,6vw,96px)}
.hero-consultation .content h1{font-size:clamp(38px,3.6vw,54px)}
.hero-consultation .buttons{justify-content:flex-start;flex-wrap:wrap}
@media (max-width:991px){section.hero-consultation{height:100svh;min-height:640px;align-items:flex-start;text-align:center;background:#16262b}
.hero-consultation .hero-bg img{top:24%;height:76%;object-position:50% 100%}
.hero-consultation .overlay{background:linear-gradient(180deg,#16262b 0%,#16262b 24%,rgba(22,38,43,.55) 40%,rgba(22,38,43,0) 58%)}
.hero-consultation .content{width:100%;padding:104px 24px 0}
.hero-consultation .content h1{font-size:32px;margin-bottom:12px}.hero-consultation .subheading{margin-bottom:12px}.hero-consultation .desc{margin-bottom:20px;font-size:15px}
.hero-consultation .buttons{flex-direction:row;justify-content:center;gap:10px;margin-bottom:0}.hero-consultation .btn{padding:12px 16px;font-size:12px;letter-spacing:1px}}
.ttwt-contact-info{padding:72px 0 24px;text-align:center}
.ttwt-contact-info .heading{margin:0 0 32px}
.ttwt-contact-cols{display:flex;justify-content:center;gap:24px;flex-wrap:wrap}
.ttwt-contact-cols>div{flex:0 1 380px;padding:28px 24px;border:1px solid #d9d2c8;border-radius:14px;background:#f7f3ee}
.ttwt-contact-cols h6{letter-spacing:.14em;margin:0 0 10px}.ttwt-contact-cols p{margin:0;overflow-wrap:anywhere}
@media (max-width:749px){.ttwt-contact-info{padding:48px 0 8px}}
/* expandable SEO footer (21 Sep) */
.ttwt-seo{border-top:1px solid rgba(255,255,255,.18)}
.ttwt-seo summary{list-style:none;cursor:pointer;padding:18px 0}
.ttwt-seo summary::-webkit-details-marker{display:none}
.ttwt-seo summary>span{display:flex;align-items:center;justify-content:space-between;gap:16px;font-family:Cormorant,serif;font-size:20px}
.ttwt-seo summary i{width:10px;height:10px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform .25s;flex:none;margin-right:6px}
.ttwt-seo[open] summary i{transform:rotate(-135deg)}
.ttwt-seo-body{padding-bottom:28px}
.ttwt-seo-body h3{font-family:Cormorant,serif;font-size:18px;font-weight:700;color:#fff;margin:18px 0 6px}
.ttwt-seo-body p{font-size:14px;line-height:1.9;margin:0;color:rgba(255,255,255,.45)}
.ttwt-seo-body a{color:rgba(255,255,255,.78);text-decoration:none}
.ttwt-seo-body a:hover{color:#fff;text-decoration:underline}
