/* Homepage art direction. Scoped by the native builder hero; inner pages keep their layout. */
body:has(.tm-hero){--tm-ink:#233b32;--tm-cream:#faf8f3}
.tm-hero .section{padding:0}
.tm-hero .container{max-width:none;padding:0}
.tm-hero .o9-cols{position:relative;isolation:isolate;display:grid;grid-template-columns:1fr!important;min-height:720px;min-height:min(820px,calc(100svh - 100px));background:#282c23;overflow:hidden}
.tm-hero .o9-col:first-child{z-index:2;grid-area:1/1;padding:75px max(7vw,calc((100vw - 1240px)/2));background:transparent;border-radius:0;max-width:100%;align-items:flex-start;justify-content:center;pointer-events:none}
.tm-hero .o9-col:first-child a{pointer-events:auto}
.tm-hero .o9-col:last-child{grid-area:1/1;position:absolute;inset:0;min-height:0;border-radius:0;z-index:0}
.tm-hero .o9-col:last-child:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,28,23,.86),rgba(17,28,23,.58) 38%,rgba(17,28,23,.08) 78%),linear-gradient(0deg,rgba(17,28,23,.3),transparent 45%);pointer-events:none}
.tm-hero img{width:100%;height:100%!important;min-height:0;object-fit:cover;object-position:65% 57%}
.tm-hero h1{font-size:clamp(60px,6.6vw,100px);line-height:.98;letter-spacing:-.055em;max-width:720px;color:#fff9ee;margin:25px 0 28px;text-wrap:balance}
.tm-hero .tm-eyebrow p{color:#f2e6cd;font-size:10px;letter-spacing:.2em}
.tm-hero .tm-copy p{color:#e8e8db;font-size:16px;line-height:1.75;max-width:420px;margin-bottom:30px}
.tm-hero .btn{background:#f5efdf;color:#233b32;padding:18px 30px;border:1px solid #f5efdf;min-height:58px;font-size:13px}
.tm-hero .btn:hover{background:#fff;color:#233b32}
.tm-hero .tm-signature p{color:#e6dfcd;font-size:11px;margin-top:30px}
.tm-hero .tm-photo-caption{z-index:1;left:auto;right:5vw;bottom:24px;color:#fff;writing-mode:vertical-rl;font-size:9px;letter-spacing:.2em}
body:has(.tm-hero) .tm-values{background:#e9e9dd}
body:has(.tm-hero) .tm-values .section{padding:30px 0}
body:has(.tm-hero) .tm-values .o9-cols{border:0;padding:0}
body:has(.tm-hero) .tm-values h3{font-size:12px;letter-spacing:.04em}
body:has(.tm-hero) .tm-intro .section{padding:105px 0 40px}
body:has(.tm-hero) .tm-intro h2{font-size:clamp(42px,5vw,72px);letter-spacing:-.05em;margin:16px 0}
body:has(.tm-hero) .tm-categories .section{padding:12px 0 35px}
body:has(.tm-hero) .tm-categories .o9-cols{gap:30px;align-items:start;grid-template-columns:1.15fr 1fr 1fr!important}
body:has(.tm-hero) .tm-categories .o9-col{background:transparent;padding:0;border-radius:0}
body:has(.tm-hero) .tm-categories .o9-col:nth-child(2){padding-top:65px}
body:has(.tm-hero) .tm-categories .o9-col:nth-child(3){padding-top:125px}
body:has(.tm-hero) .tm-categories .o9-col>div:first-child{overflow:hidden;border-radius:3px}
body:has(.tm-hero) .tm-categories img{height:340px!important;border-radius:3px;object-fit:cover;transition:transform .6s}
body:has(.tm-hero) .tm-categories h3{font-size:32px;margin-top:20px}
body:has(.tm-hero) .tm-categories .btn{font-size:12px;border-bottom:1px solid #9ba899;padding-bottom:10px;min-height:44px}
body:has(.tm-hero) .tm-story{background:#233b32;color:#f7f1e3;margin-top:75px}
body:has(.tm-hero) .tm-story .section{padding:95px 0}
body:has(.tm-hero) .tm-story img{height:580px!important;border-radius:48% 48% 3px 3px}
body:has(.tm-hero) .tm-story h2{font-size:clamp(40px,4.5vw,65px);line-height:1.07}
body:has(.tm-hero) .tm-story p{color:#d1dbcc}
body:has(.tm-hero) .tm-story .tm-eyebrow p{color:#d7bd89}
body:has(.tm-hero) .tm-story .btn{color:#fff7e7;border-color:#a0b39e}
body:has(.tm-hero) .tm-featured .section{padding:100px 0}
body:has(.tm-hero) .tm-featured h2{font-size:clamp(38px,4vw,58px);max-width:700px;margin-bottom:45px}
body:has(.tm-hero) .tm-featured .product-grid{gap:28px}
body:has(.tm-hero) .tm-landscape .section{padding:35px 0 110px}
body:has(.tm-hero) .tm-landscape h2{font-size:clamp(40px,4.5vw,65px)}
body:has(.tm-hero) .tm-landscape img{height:540px!important;border-radius:3px}
body:has(.tm-hero) .tm-cta .section{padding:90px 0;background:#e7e4d6}
body:has(.tm-hero) .tm-cta h2{font-size:clamp(40px,4.5vw,66px);line-height:1.08}
@media(max-width:900px){
.tm-hero h1{font-size:76px;max-width:570px}
body:has(.tm-hero) .tm-categories img{height:270px!important}
body:has(.tm-hero) .tm-categories h3{font-size:27px}
}
@media(max-width:767px){
.tm-hero .o9-cols{min-height:690px;min-height:max(650px,calc(100svh - 110px))}
.tm-hero .o9-col:first-child{padding:55px 25px 45px;justify-content:flex-end;border-radius:0}
.tm-hero .o9-col:last-child{min-height:0;border-radius:0}
.tm-hero img{height:100%!important;object-position:60% center}
.tm-hero .o9-col:last-child:after{background:linear-gradient(0deg,rgba(15,27,22,.93),rgba(15,27,22,.63) 55%,rgba(15,27,22,.13))}
.tm-hero h1{font-size:clamp(48px,13.5vw,70px);max-width:430px;margin:20px 0 22px;line-height:1.02}
.tm-hero .tm-eyebrow p{font-size:9px;letter-spacing:.14em}
.tm-hero .tm-copy p{font-size:14px;margin-bottom:23px;max-width:340px}
.tm-hero .btn{padding:16px 24px;min-height:54px}
.tm-hero .tm-signature p{margin-top:24px;font-size:10px}
.tm-hero .tm-photo-caption{display:none}
body:has(.tm-hero) .tm-values .section{padding:27px 0}
body:has(.tm-hero) .tm-values .o9-cols{gap:20px}
body:has(.tm-hero) .tm-values h3{font-size:10px}
body:has(.tm-hero) .tm-intro .section{padding:65px 0 25px}
body:has(.tm-hero) .tm-intro h2{font-size:43px}
body:has(.tm-hero) .tm-categories .o9-cols{grid-template-columns:1fr!important;gap:35px}
body:has(.tm-hero) .tm-categories .o9-col:nth-child(n){padding:0}
body:has(.tm-hero) .tm-categories img{height:320px!important}
body:has(.tm-hero) .tm-categories h3{font-size:32px;margin-top:17px}
body:has(.tm-hero) .tm-story{margin-top:35px}
body:has(.tm-hero) .tm-story .section{padding:55px 0}
body:has(.tm-hero) .tm-story img{height:390px!important}
body:has(.tm-hero) .tm-story h2{font-size:42px}
body:has(.tm-hero) .tm-featured .section{padding:60px 0}
body:has(.tm-hero) .tm-featured h2{font-size:39px;margin-bottom:30px}
body:has(.tm-hero) .tm-featured .product-grid{gap:28px 14px}
body:has(.tm-hero) .tm-landscape .section{padding:0 0 60px}
body:has(.tm-hero) .tm-landscape img{height:350px!important}
body:has(.tm-hero) .tm-cta .section{padding:55px 0}
}
@media(prefers-reduced-motion:reduce){body:has(.tm-hero) .tm-categories img{transition:none}}
