.tpa-home-main{background:#fff;--tpa-home-section-y:var(--tpa-section-y);--tpa-home-head-gap:var(--tpa-section-head-gap)}
.tpa-home-hero{padding:28px 0 26px;background:linear-gradient(180deg,#f7f5ef 0%,#fff 100%)}
.tpa-home-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;align-items:stretch}
.tpa-hero-slider{position:relative;min-width:0;border-radius:18px;overflow:hidden;background:#101010;box-shadow:var(--tpa-shadow-md)}
.tpa-hero-slides{display:flex;height:100%;transition:transform .72s cubic-bezier(.22,.61,.36,1);will-change:transform;touch-action:pan-y}
.tpa-hero-slide{position:relative;flex:0 0 100%;width:100%;aspect-ratio:1240/558;min-height:380px;color:#fff;overflow:hidden}
.tpa-hero-slide>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tpa-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,5,5,.95) 0%,rgba(8,8,8,.79) 31%,rgba(10,10,10,.2) 59%,rgba(0,0,0,.04) 100%)}
.tpa-hero-copy{position:relative;z-index:2;width:53%;height:100%;padding:clamp(34px,4vw,58px) 16px 64px clamp(28px,4vw,58px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.tpa-hero-eyebrow{margin:0 0 12px;color:var(--tpa-gold-300);font-size:12px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
.tpa-hero-title-slot{min-height:clamp(108px,10.5vw,162px);display:flex;align-items:flex-start;width:100%}
.tpa-hero-copy h1,.tpa-hero-copy h2{margin:0;max-width:650px;font-size:clamp(32px,3.45vw,54px);line-height:1.02;letter-spacing:-.035em}
.tpa-hero-body-slot{min-height:58px;max-width:540px}
.tpa-hero-body-slot p{margin:12px 0 0;color:rgba(255,255,255,.78);font-size:clamp(14px,1.15vw,17px)}
.tpa-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.tpa-hero-actions .tpa-button{min-height:46px;padding-inline:16px;font-size:13px}
.tpa-button.is-ghost{color:#fff;border:1px solid rgba(255,255,255,.28);background:rgba(11,11,11,.3)}
.tpa-button.is-ghost:hover{border-color:rgba(255,255,255,.55)}
.tpa-hero-controls{position:absolute;z-index:4;left:22px;bottom:16px;display:flex;align-items:center;gap:8px}
.tpa-hero-controls>button{width:38px;height:38px;border-radius:999px;border:1px solid rgba(255,255,255,.24);background:rgba(11,11,11,.55);color:#fff;display:grid;place-items:center;backdrop-filter:blur(6px)}
.tpa-hero-dots{display:flex;gap:6px;padding:7px 9px;border-radius:999px;background:rgba(11,11,11,.48);backdrop-filter:blur(6px)}
.tpa-hero-dots button{width:8px;height:8px;padding:0;border:0;border-radius:999px;background:rgba(255,255,255,.38);transition:width .25s ease,background-color .25s ease}
.tpa-hero-dots button.is-active{width:22px;background:var(--tpa-gold-300)}

.tpa-hero-trust{min-width:0;overflow:hidden;border-radius:18px;background:linear-gradient(180deg,#151515,#0a0a0a);color:#fff;border:1px solid rgba(255,255,255,.08);box-shadow:var(--tpa-shadow-md);display:flex;flex-direction:column}
.tpa-hero-trust-media{position:relative;flex:0 0 184px;overflow:hidden;background:#151515}
.tpa-trust-slide{position:absolute;inset:0;margin:0;opacity:0;transform:scale(1.025);transition:opacity .75s ease,transform 5.2s ease;pointer-events:none}
.tpa-trust-slide.is-active{opacity:1;transform:scale(1);z-index:1}
.tpa-trust-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.03) 28%,rgba(4,4,4,.72) 100%)}
.tpa-trust-slide img{width:100%;height:100%;object-fit:cover}
.tpa-trust-slide figcaption{position:absolute;z-index:2;left:14px;bottom:12px;margin:0;padding:5px 8px;border-radius:999px;background:rgba(7,7,7,.72);border:1px solid rgba(242,210,120,.24);color:#f1cf84;font-size:9px;font-weight:850;letter-spacing:.06em;text-transform:uppercase;backdrop-filter:blur(5px)}
.tpa-trust-dots{position:absolute;z-index:4;right:12px;bottom:13px;display:flex;gap:5px}
.tpa-trust-dots button{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.38)}
.tpa-trust-dots button.is-active{background:var(--tpa-gold-300)}
.tpa-hero-trust-copy{position:relative;flex:1 1 auto;padding:16px 17px 17px;display:flex;flex-direction:column;min-height:0}
.tpa-hero-trust-copy::after{content:"";position:absolute;width:180px;height:180px;right:-82px;bottom:-96px;border-radius:50%;background:radial-gradient(circle,rgba(219,158,35,.23),rgba(219,158,35,0) 72%);pointer-events:none}
.tpa-side-kicker{position:relative;z-index:1;font-size:9px;text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:var(--tpa-gold-300)}
.tpa-hero-trust-copy h2{position:relative;z-index:1;margin:5px 0 6px;font-size:23px;line-height:1.08;letter-spacing:-.03em}
.tpa-hero-trust-copy>p{position:relative;z-index:1;margin:0;color:rgba(255,255,255,.64);font-size:11.5px;line-height:1.42}
.tpa-trust-facts{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}
.tpa-trust-facts>div{min-width:0;padding:8px;border:1px solid rgba(242,210,120,.14);border-radius:10px;background:rgba(255,255,255,.035)}
.tpa-trust-facts strong{display:block;color:#f4d27d;font-size:11.5px;line-height:1.2;font-weight:900}
.tpa-trust-facts span{display:block;margin-top:3px;color:rgba(255,255,255,.55);font-size:9.5px;line-height:1.25}
.tpa-hero-trust-cta{position:relative;z-index:2;margin-top:auto;padding-top:12px;color:#f3d68f;font-size:11.5px;font-weight:900;display:inline-flex;align-items:center;gap:6px}
.tpa-hero-trust-cta span{transition:transform .2s ease}.tpa-hero-trust-cta:hover span{transform:translateX(3px)}
.tpa-press-ribbon{border-top:1px solid #eee9df;border-bottom:1px solid #eee9df;background:#fff}
.tpa-press-ribbon-inner{min-height:60px;display:flex;align-items:center;gap:26px;overflow:hidden}
.tpa-ribbon-label{flex:0 0 auto;font-size:10px;font-weight:900;letter-spacing:.11em;text-transform:uppercase;color:#746a58}
.tpa-ribbon-sources{display:flex;align-items:center;gap:28px;min-width:0;overflow-x:auto;scrollbar-width:none;padding:6px 0;scroll-snap-type:x proximity}
.tpa-ribbon-sources::-webkit-scrollbar{display:none}
.tpa-ribbon-sources a{flex:0 0 auto;scroll-snap-align:start;font-size:15px;font-weight:850;color:#2a2925;letter-spacing:-.015em}
.tpa-ribbon-sources a:hover{color:#795108}
.tpa-home-section{padding:var(--tpa-home-section-y) 0}
.tpa-home-section.is-soft{background:var(--tpa-surface-soft)}
.tpa-section-head{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:var(--tpa-home-head-gap)}
.tpa-section-head>div{max-width:760px}
.tpa-section-head h2{margin:3px 0 7px;font-size:clamp(30px,3vw,44px);line-height:1.1;letter-spacing:-.03em}
.tpa-section-head p:not(.tpa-overline){margin:0;color:var(--tpa-muted);max-width:680px}
.tpa-section-head>a{flex:0 0 auto;color:#69460a;font-size:13px;font-weight:850;border-bottom:1px solid #c7a55f;padding-bottom:2px}
.tpa-home-empty{border:1px dashed #cfc5b2;border-radius:16px;background:#fff;padding:28px;display:flex;flex-direction:column;gap:4px;color:var(--tpa-muted)}
.tpa-home-empty strong{color:var(--tpa-text)}
.tpa-press-trust{position:relative;overflow:hidden;background:var(--tpa-black-950);color:#fff;padding:84px 0}
.tpa-press-trust::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 11% 15%,rgba(219,158,35,.22),transparent 28%),radial-gradient(circle at 86% 80%,rgba(219,158,35,.12),transparent 22%);pointer-events:none}
.tpa-press-trust::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:46px 46px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.8),transparent);pointer-events:none}
.tpa-press-trust-inner{position:relative;z-index:2}
.tpa-press-heading{max-width:970px;margin-bottom:36px}
.tpa-press-heading .tpa-overline{color:var(--tpa-gold-300)}
.tpa-press-heading h2{margin:4px 0 13px;font-size:clamp(32px,4vw,50px);line-height:1.08;letter-spacing:-.035em}
.tpa-press-heading>p:not(.tpa-overline){color:rgba(255,255,255,.68);max-width:800px}
.tpa-press-source-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.tpa-press-source-row span{padding:7px 10px;border:1px solid rgba(219,158,35,.32);border-radius:999px;color:#f5d894;background:rgba(219,158,35,.06);font-size:11px;font-weight:800;letter-spacing:.03em}
.tpa-press-layout{display:grid;grid-template-columns:minmax(330px,.9fr) minmax(0,1.7fr);gap:26px}
.tpa-trust-visual{padding:22px;border:1px solid rgba(219,158,35,.2);border-radius:20px;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025));box-shadow:inset 0 1px 0 rgba(255,255,255,.07)}
.tpa-trust-stat{display:flex;align-items:baseline;gap:10px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.tpa-trust-stat strong{font-size:30px;color:var(--tpa-gold-300)}
.tpa-trust-stat span{font-size:12px;color:rgba(255,255,255,.64)}
.tpa-branch-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:18px}
.tpa-branch-gallery figure{margin:0;min-width:0;position:relative;border-radius:11px;overflow:hidden;background:#222;aspect-ratio:4/5}
.tpa-branch-gallery img{width:100%;height:100%;object-fit:cover}
.tpa-branch-gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:20px 8px 8px;background:linear-gradient(transparent,rgba(0,0,0,.82));font-size:9px;line-height:1.25;color:#fff}
.tpa-press-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.tpa-press-card{min-height:190px;padding:20px;border-radius:16px;background:var(--tpa-black-900);border:1px solid rgba(219,158,35,.24);display:flex;flex-direction:column;transition:transform .2s ease,border-color .2s ease,background .2s ease}
.tpa-press-card:hover{transform:translateY(-3px);border-color:rgba(245,219,38,.65);background:#1d1d1d}
.tpa-press-card-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;color:rgba(255,255,255,.5);font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.tpa-press-card-meta span{color:var(--tpa-gold-300);font-weight:900}
.tpa-press-card h3{margin:14px 0 20px;font-size:18px;line-height:1.35;font-weight:750;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.tpa-press-card>a{margin-top:auto;font-size:12px;font-weight:850;color:#f1cf84}
.tpa-promo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.tpa-promo-card{padding:24px;background:#fff;border:1px solid var(--tpa-line);border-radius:16px;box-shadow:var(--tpa-shadow-sm);display:flex;flex-direction:column;min-height:220px}
.tpa-promo-card h3{margin:6px 0 10px;font-size:22px;line-height:1.25}.tpa-promo-card p:not(.tpa-card-kicker){margin:0;color:var(--tpa-muted)}.tpa-promo-card small{margin-top:auto;padding-top:16px;color:var(--tpa-muted)}.tpa-promo-card>a{margin-top:8px;font-weight:850;color:#6e4a08}
.tpa-final-cta{padding:var(--tpa-section-y) 0;background:#fff}
.tpa-final-cta-inner{position:relative;overflow:hidden;border-radius:24px;padding:50px 54px;background:linear-gradient(125deg,#111,#0b0b0b 62%,#221705);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:40px;box-shadow:var(--tpa-shadow-md)}
.tpa-final-cta-inner::after{content:"";position:absolute;width:360px;height:360px;right:-90px;top:-150px;border-radius:50%;background:radial-gradient(circle,rgba(219,158,35,.35),rgba(219,158,35,0) 70%);pointer-events:none}
.tpa-final-cta h2{margin:4px 0 10px;max-width:760px;font-size:clamp(30px,4vw,46px);line-height:1.08;letter-spacing:-.03em}.tpa-final-cta p{margin:0;color:rgba(255,255,255,.7)}.tpa-final-cta small{display:block;margin-top:12px;color:rgba(255,255,255,.55)}
.tpa-final-actions{position:relative;z-index:2;display:flex;flex-direction:column;gap:10px;flex:0 0 245px}.tpa-button.is-light{background:#fff;color:#111}
@media (max-width:1180px){
  .tpa-home-hero-grid{grid-template-columns:1fr}.tpa-hero-slider{order:1}.tpa-hero-trust{order:2;display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr)}
  .tpa-hero-trust-media{min-height:250px;height:100%;flex-basis:auto}.tpa-hero-trust-copy{padding:24px}.tpa-hero-trust-copy h2{font-size:30px}.tpa-hero-trust-copy>p{font-size:13px}.tpa-trust-facts strong{font-size:13px}.tpa-trust-facts span{font-size:10.5px}
  .tpa-hero-slide{min-height:390px}.tpa-press-layout{grid-template-columns:1fr}.tpa-trust-visual{display:grid;grid-template-columns:160px 160px 1fr;gap:14px;align-items:center}.tpa-trust-stat{border-bottom:0;display:block}.tpa-branch-gallery{margin-top:0}.tpa-footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:820px){
  .tpa-home-section{padding:var(--tpa-home-section-y) 0}.tpa-section-head{align-items:flex-start;flex-direction:column;gap:10px}.tpa-press-trust{padding:62px 0}.tpa-press-cards{grid-template-columns:1fr}.tpa-trust-visual{display:block}.tpa-branch-gallery{margin-top:18px}.tpa-promo-grid{grid-template-columns:1fr}.tpa-final-cta-inner{padding:38px 30px;display:block}.tpa-final-actions{margin-top:24px;max-width:330px}
  .tpa-hero-trust{grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr)}.tpa-hero-trust-copy{padding:20px}.tpa-hero-trust-copy h2{font-size:27px}
}
@media (max-width:640px){
  .tpa-home-hero{padding:14px 0 18px}.tpa-home-hero-grid{gap:12px}
  .tpa-hero-slider{border-radius:14px}.tpa-hero-slides{align-items:stretch}.tpa-hero-slide{min-height:0;aspect-ratio:auto;display:flex!important;flex-direction:column;background:#0b0b0b}.tpa-hero-slide>img{position:relative;width:100%;height:auto;aspect-ratio:1240/558;object-fit:cover}.tpa-hero-shade{display:none}.tpa-hero-copy{width:100%;height:auto;padding:24px 20px 70px;display:flex;justify-content:flex-start;background:#0b0b0b}.tpa-hero-title-slot{min-height:100px}.tpa-hero-copy h1,.tpa-hero-copy h2{font-size:31px}.tpa-hero-body-slot{min-height:66px}.tpa-hero-body-slot p{font-size:14px}.tpa-hero-actions{margin-top:18px}.tpa-hero-actions .tpa-button{flex:1;min-width:130px;padding-inline:12px}.tpa-hero-controls{left:16px;bottom:16px}.tpa-hero-controls>button{width:34px;height:34px}
  .tpa-hero-trust{display:flex;border-radius:14px}.tpa-hero-trust-media{flex-basis:220px;min-height:220px}.tpa-hero-trust-copy{padding:20px}.tpa-hero-trust-copy h2{font-size:28px}.tpa-hero-trust-copy>p{font-size:13px}.tpa-trust-facts{gap:8px}.tpa-trust-facts>div{padding:9px}.tpa-trust-facts strong{font-size:12.5px}.tpa-trust-facts span{font-size:10px}.tpa-hero-trust-cta{margin-top:18px;padding-top:0;font-size:12px}
  .tpa-press-ribbon-inner{display:block;padding-top:10px;padding-bottom:10px}.tpa-ribbon-label{display:block;margin-bottom:5px}.tpa-ribbon-sources{gap:20px}
  .tpa-home-section{padding:var(--tpa-home-section-y) 0}.tpa-section-head h2{font-size:32px}.tpa-section-head p:not(.tpa-overline){font-size:14px}
  .tpa-press-trust{padding:52px 0}.tpa-press-heading h2{font-size:34px}.tpa-press-heading>p:not(.tpa-overline){font-size:14px}.tpa-press-source-row{gap:6px}.tpa-press-source-row span{font-size:10px}
  .tpa-trust-visual{padding:16px}.tpa-branch-gallery{grid-template-columns:repeat(3,minmax(150px,1fr));overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:5px}.tpa-branch-gallery figure{scroll-snap-align:start}.tpa-press-card{min-height:170px;padding:17px}.tpa-press-card h3{font-size:16px}
  .tpa-final-cta{padding:var(--tpa-section-y) 0}.tpa-final-cta-inner{padding:34px 22px;border-radius:18px}.tpa-final-actions{max-width:none}.tpa-final-actions .tpa-button{width:100%}
}

/* 0.1.9: server-rendered SEO introduction between Hero and product discovery. */
.tpa-home-intro{padding:var(--tpa-section-y) 0;background:#fff}
.tpa-home-intro-panel{position:relative;display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(34px,5vw,76px);padding:clamp(34px,4.5vw,58px);border:1px solid #e9e0d0;border-radius:22px;background:linear-gradient(135deg,#fbfaf7 0%,#fff 62%);overflow:hidden}
.tpa-home-intro-panel::after{content:"";position:absolute;right:-120px;top:-150px;width:330px;height:330px;border-radius:50%;background:radial-gradient(circle,rgba(219,158,35,.13),rgba(219,158,35,0) 68%);pointer-events:none}
.tpa-home-intro-heading,.tpa-home-intro-copy{position:relative;z-index:1;min-width:0}
.tpa-home-intro-heading{align-self:center}
.tpa-home-intro-heading .tpa-overline{margin-bottom:10px;color:#875e0c}
.tpa-home-intro-heading h2{margin:0;font-size:clamp(29px,3vw,43px);line-height:1.08;letter-spacing:-.035em;color:#121212;max-width:610px}
.tpa-home-intro-lead{margin:16px 0 0;max-width:530px;color:#766c5d;font-size:14px;line-height:1.65}
.tpa-home-intro-copy{padding-left:clamp(0px,2vw,28px);border-left:1px solid #e8dfd0;align-self:center}
.tpa-home-intro-copy>p{margin:0;color:#4c4944;font-size:15px;line-height:1.78}
.tpa-home-intro-copy>p+p{margin-top:13px}
.tpa-home-intro-copy strong{color:#1b1a18;font-weight:800}
.tpa-home-intro-links{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}
.tpa-home-intro-links a{display:inline-flex;align-items:center;gap:7px;min-height:39px;padding:9px 13px;border:1px solid #e4d7c0;border-radius:999px;background:#fff;color:#6f4b08;font-size:12px;font-weight:850;transition:transform .18s ease,border-color .18s ease,background-color .18s ease}
.tpa-home-intro-links a:hover{transform:translateY(-1px);border-color:#c99a39;background:#fffaf0}
.tpa-home-intro-links span{transition:transform .18s ease}.tpa-home-intro-links a:hover span{transform:translateX(2px)}
@media(max-width:820px){.tpa-home-intro{padding:var(--tpa-section-y) 0}.tpa-home-intro-panel{grid-template-columns:1fr;gap:24px;padding:32px 28px}.tpa-home-intro-copy{padding-left:0;padding-top:23px;border-left:0;border-top:1px solid #e8dfd0}}
@media(max-width:640px){.tpa-home-intro{padding:var(--tpa-section-y) 0}.tpa-home-intro-panel{padding:26px 20px;border-radius:16px;gap:20px}.tpa-home-intro-heading h2{font-size:29px}.tpa-home-intro-lead{font-size:13px}.tpa-home-intro-copy{padding-top:20px}.tpa-home-intro-copy>p{font-size:14px;line-height:1.7}.tpa-home-intro-links{display:grid;grid-template-columns:1fr;margin-top:18px}.tpa-home-intro-links a{justify-content:space-between;border-radius:10px;min-height:44px}}

/* 0.1.10: 10-year brand journey timeline. */
.tpa-home-timeline{position:relative;padding:calc(var(--tpa-section-y) + 10px) 0 calc(var(--tpa-section-y) + 12px);background:linear-gradient(180deg,#111 0%,#090909 100%);color:#fff;overflow:hidden}
.tpa-home-timeline::before{content:"";position:absolute;inset:auto -140px -220px auto;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(209,151,31,.19),rgba(209,151,31,0) 70%);pointer-events:none}
.tpa-timeline-heading{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.75fr);gap:54px;align-items:end;margin-bottom:42px}
.tpa-timeline-heading .tpa-overline{margin:0 0 10px;color:#e6b74f}
.tpa-timeline-heading h2{margin:0;max-width:720px;font-size:clamp(34px,3.7vw,54px);line-height:1.03;letter-spacing:-.04em;color:#fff}
.tpa-timeline-heading>p{margin:0 0 4px;color:rgba(255,255,255,.63);font-size:15px;line-height:1.72}
.tpa-timeline-list{position:relative;z-index:1;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none}
.tpa-timeline-list::before{content:"";position:absolute;left:8%;right:8%;top:13px;height:1px;background:linear-gradient(90deg,rgba(225,170,55,.15),rgba(225,170,55,.82) 50%,rgba(225,170,55,.15))}
.tpa-timeline-item{position:relative;min-width:0;padding-top:36px}
.tpa-timeline-marker{position:absolute;z-index:3;top:4px;left:50%;width:18px;height:18px;margin-left:-9px;border:1px solid rgba(242,199,103,.65);border-radius:50%;background:#0c0c0c;display:grid;place-items:center;box-shadow:0 0 0 5px rgba(218,159,36,.08)}
.tpa-timeline-marker span{width:6px;height:6px;border-radius:50%;background:#d99d24}
.tpa-timeline-card{height:100%;overflow:hidden;border:1px solid rgba(242,199,103,.16);border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025));box-shadow:0 18px 40px rgba(0,0,0,.15);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.tpa-timeline-card:hover{transform:translateY(-4px);border-color:rgba(242,199,103,.36);box-shadow:0 22px 46px rgba(0,0,0,.25)}
.tpa-timeline-media{position:relative;margin:0;aspect-ratio:4/3;overflow:hidden;background:#191919}
.tpa-timeline-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(0,0,0,.42) 100%);pointer-events:none}
.tpa-timeline-media img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.tpa-timeline-card:hover .tpa-timeline-media img{transform:scale(1.035)}
.tpa-timeline-badge{position:absolute;z-index:2;left:12px;bottom:12px;padding:6px 9px;border:1px solid rgba(255,225,156,.36);border-radius:999px;background:rgba(7,7,7,.78);color:#f6d991;font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;backdrop-filter:blur(5px)}
.tpa-timeline-content{padding:17px 16px 20px}
.tpa-timeline-content time{display:inline-flex;align-items:center;min-height:25px;padding:4px 8px;border-radius:7px;background:rgba(218,159,36,.12);color:#f0c45f;font-size:11px;font-weight:900;letter-spacing:.05em}
.tpa-timeline-content h3{margin:11px 0 8px;font-size:18px;line-height:1.18;letter-spacing:-.022em;color:#fff}
.tpa-timeline-content p{margin:0;color:rgba(255,255,255,.58);font-size:12.5px;line-height:1.58}
.tpa-timeline-item.is-featured .tpa-timeline-card{border-color:rgba(242,199,103,.34);background:linear-gradient(180deg,rgba(214,154,31,.13),rgba(255,255,255,.03))}
.tpa-timeline-item.is-featured .tpa-timeline-marker{border-color:#e1aa37;box-shadow:0 0 0 6px rgba(218,159,36,.13),0 0 28px rgba(218,159,36,.22)}
@media(max-width:1180px){.tpa-timeline-list{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:24px}.tpa-timeline-list::before{display:none}.tpa-timeline-item{padding-top:28px}.tpa-timeline-marker{left:18px;top:3px}}
@media(max-width:820px){.tpa-home-timeline{padding:calc(var(--tpa-section-y) + 8px) 0 calc(var(--tpa-section-y) + 10px)}.tpa-timeline-heading{grid-template-columns:1fr;gap:16px;margin-bottom:30px}.tpa-timeline-heading>p{max-width:680px}.tpa-timeline-list{grid-template-columns:1fr;gap:0;padding-left:34px}.tpa-timeline-list::before{display:block;left:8px;right:auto;top:2px;bottom:0;width:1px;height:auto;background:linear-gradient(180deg,rgba(225,170,55,.72),rgba(225,170,55,.08))}.tpa-timeline-item{padding:0 0 22px}.tpa-timeline-marker{left:-34px;top:24px;margin-left:0}.tpa-timeline-card{display:grid;grid-template-columns:180px minmax(0,1fr)}.tpa-timeline-media{aspect-ratio:auto;min-height:190px}}
@media(max-width:640px){.tpa-home-timeline{padding:calc(var(--tpa-section-y) + 6px) 0 calc(var(--tpa-section-y) + 8px)}.tpa-timeline-heading h2{font-size:34px}.tpa-timeline-heading>p{font-size:14px}.tpa-timeline-list{padding-left:27px}.tpa-timeline-marker{left:-27px;top:18px;width:16px;height:16px}.tpa-timeline-card{display:block;border-radius:14px}.tpa-timeline-media{aspect-ratio:16/10;min-height:0}.tpa-timeline-content{padding:16px}.tpa-timeline-content h3{font-size:19px}.tpa-timeline-content p{font-size:13px}}


/* =========================================================
 * 0.1.14 — Home palette harmony
 * One warm-light system + one softened obsidian system.
 * Keeps product imagery vibrant while reducing harsh white/black switching.
 * ======================================================= */
.tpa-home-main{
  --tpa-home-paper:#fffdf9;
  --tpa-home-paper-soft:#f8f4eb;
  --tpa-home-paper-raised:#fffaf3;
  --tpa-home-line:#e8dfd0;
  --tpa-home-text:#1a1917;
  --tpa-home-muted:#6d685f;
  --tpa-home-link:#76500b;
  --tpa-home-dark:#0c0c0b;
  --tpa-home-dark-soft:#141310;
  --tpa-home-dark-raised:#191816;
  --tpa-home-dark-text:#fffaf0;
  --tpa-home-dark-muted:rgba(255,250,240,.66);
  --tpa-home-dark-muted-soft:rgba(255,250,240,.54);
  background:var(--tpa-home-paper);
  color:var(--tpa-home-text);
}
.tpa-home-hero{background:linear-gradient(180deg,var(--tpa-home-paper-soft) 0%,var(--tpa-home-paper) 100%)}
.tpa-hero-slider{background:var(--tpa-home-dark);box-shadow:0 22px 56px rgba(25,22,17,.15)}
.tpa-hero-slide{color:var(--tpa-home-dark-text)}
.tpa-hero-body-slot p{color:rgba(255,250,240,.76)}
.tpa-button.is-ghost{color:var(--tpa-home-dark-text);border-color:rgba(255,250,240,.26);background:rgba(12,12,11,.34)}
.tpa-button.is-ghost:hover{border-color:rgba(255,250,240,.48);background:rgba(12,12,11,.46)}
.tpa-hero-controls>button,.tpa-hero-dots{background:rgba(12,12,11,.58)}
.tpa-hero-controls>button{color:var(--tpa-home-dark-text);border-color:rgba(255,250,240,.22)}
.tpa-hero-dots button{background:rgba(255,250,240,.34)}
.tpa-hero-trust{background:linear-gradient(180deg,var(--tpa-home-dark-soft),var(--tpa-home-dark));color:var(--tpa-home-dark-text);border-color:rgba(255,250,240,.075);box-shadow:0 22px 56px rgba(25,22,17,.15)}
.tpa-hero-trust-copy>p{color:var(--tpa-home-dark-muted)}
.tpa-trust-facts>div{background:rgba(255,250,240,.032);border-color:rgba(242,210,120,.14)}
.tpa-trust-facts span{color:var(--tpa-home-dark-muted-soft)}

.tpa-home-section{background:var(--tpa-home-paper);color:var(--tpa-home-text)}
.tpa-home-section.is-soft{background:var(--tpa-home-paper-soft)}
.tpa-section-head h2{color:var(--tpa-home-text)}
.tpa-section-head p:not(.tpa-overline){color:var(--tpa-home-muted)}
.tpa-section-head>a{color:var(--tpa-home-link);border-bottom-color:rgba(182,125,25,.46)}
.tpa-home-empty{background:var(--tpa-home-paper-raised);border-color:#d8cebd;color:var(--tpa-home-muted)}
.tpa-home-empty strong{color:var(--tpa-home-text)}

.tpa-home-main .tpa-product-card,.tpa-home-main .tpa-post-card{background:var(--tpa-home-paper-raised);border-color:var(--tpa-home-line);box-shadow:0 7px 22px rgba(42,36,27,.045)}
.tpa-home-main .tpa-product-card:hover,.tpa-home-main .tpa-post-card:hover{border-color:#d7c8ad;box-shadow:0 14px 34px rgba(42,36,27,.085)}
.tpa-home-main .tpa-product-media,.tpa-home-main .tpa-post-media{background:#f3eee4}
.tpa-home-main .tpa-card-title,.tpa-home-main .tpa-product-price{color:var(--tpa-home-text)}
.tpa-home-main .tpa-post-meta,.tpa-home-main .tpa-post-body p{color:var(--tpa-home-muted)}
.tpa-home-main .tpa-card-link{color:var(--tpa-home-link);border-top-color:var(--tpa-home-line)}

.tpa-promo-card{background:var(--tpa-home-paper-raised);border-color:var(--tpa-home-line);box-shadow:0 8px 26px rgba(42,36,27,.055)}
.tpa-promo-card h3{color:var(--tpa-home-text)}
.tpa-promo-card p:not(.tpa-card-kicker),.tpa-promo-card small{color:var(--tpa-home-muted)}
.tpa-promo-card>a{color:var(--tpa-home-link)}

.tpa-final-cta{background:var(--tpa-home-paper)}
.tpa-final-cta-inner{background:linear-gradient(128deg,var(--tpa-home-dark-soft) 0%,var(--tpa-home-dark) 63%,#211807 100%);color:var(--tpa-home-dark-text);box-shadow:0 22px 54px rgba(27,23,17,.14)}
.tpa-final-cta p{color:var(--tpa-home-dark-muted)}
.tpa-final-cta small{color:var(--tpa-home-dark-muted-soft)}
.tpa-button.is-light{background:var(--tpa-home-paper);color:var(--tpa-home-text)}

.tpa-home-timeline{background:linear-gradient(180deg,var(--tpa-home-dark-soft) 0%,var(--tpa-home-dark) 100%);color:var(--tpa-home-dark-text)}
.tpa-timeline-heading h2,.tpa-timeline-content h3{color:var(--tpa-home-dark-text)}
.tpa-timeline-heading>p{color:var(--tpa-home-dark-muted)}
.tpa-timeline-card{background:linear-gradient(180deg,rgba(255,250,240,.05),rgba(255,250,240,.022));border-color:rgba(242,210,120,.15);box-shadow:0 16px 36px rgba(0,0,0,.13)}
.tpa-timeline-card:hover{background:linear-gradient(180deg,rgba(255,250,240,.065),rgba(255,250,240,.028));border-color:rgba(242,210,120,.31);box-shadow:0 20px 42px rgba(0,0,0,.2)}
.tpa-timeline-content p{color:var(--tpa-home-dark-muted-soft)}
.tpa-timeline-marker{background:var(--tpa-home-dark)}

/* Legacy intro / press components remain visually compatible if re-enabled. */
.tpa-home-intro{background:var(--tpa-home-paper)}
.tpa-home-intro-panel{border-color:var(--tpa-home-line);background:linear-gradient(135deg,var(--tpa-home-paper-soft),var(--tpa-home-paper) 62%)}
.tpa-home-intro-heading h2,.tpa-home-intro-copy strong{color:var(--tpa-home-text)}
.tpa-home-intro-lead,.tpa-home-intro-copy>p{color:var(--tpa-home-muted)}
.tpa-home-intro-copy{border-color:var(--tpa-home-line)}
.tpa-home-intro-links a{background:var(--tpa-home-paper-raised);border-color:#dfd2bc;color:var(--tpa-home-link)}
.tpa-home-intro-links a:hover{background:#fff7e8;border-color:#c89a3d}
.tpa-press-ribbon{background:var(--tpa-home-paper);border-color:var(--tpa-home-line)}
.tpa-ribbon-label{color:#746d61}.tpa-ribbon-sources a{color:#2a2824}.tpa-ribbon-sources a:hover{color:var(--tpa-home-link)}

@media (prefers-reduced-motion:reduce){
  .tpa-home-main .tpa-product-card,.tpa-home-main .tpa-post-card,.tpa-timeline-card{transition:none}
}

/* =========================================================
 * 0.1.15 — Home color architecture
 * Treat the whole homepage as three continuous visual zones:
 * 1) Brand / authority: Header + Hero + light Timeline
 * 2) Shopping / content: one continuous warm-light field
 * 3) Conversion / trust: CTA accent, light Press, dark Footer
 * ======================================================= */
.tpa-home-main{
  --tpa-home-paper:#fffdf9;
  --tpa-home-paper-soft:#f8f4eb;
  --tpa-home-paper-warm:#f7f2e8;
  --tpa-home-card:#fffaf3;
  --tpa-home-line:#e8dfd0;
  --tpa-home-line-strong:#deceb2;
  --tpa-home-text:#1a1917;
  --tpa-home-muted:#625e57;
  --tpa-home-meta:#7a746b;
  --tpa-home-gold:#db9e23;
  --tpa-home-gold-dark:#80580c;
  --tpa-home-gold-light:#f2d278;
  --tpa-home-dark:#11100e;
  --tpa-home-dark-deep:#0c0c0b;
  --tpa-home-dark-raised:#191713;
  --tpa-home-dark-text:#fffaf0;
  --tpa-home-dark-muted:rgba(255,250,240,.66);
  --tpa-home-dark-meta:rgba(255,250,240,.48);
  background:var(--tpa-home-paper);
  color:var(--tpa-home-text);
}

/* Brand / authority zone: dark header is followed by a warm Hero and warm Timeline. */
.tpa-home-hero{
  background:linear-gradient(180deg,var(--tpa-home-paper-warm) 0%,var(--tpa-home-paper) 78%,var(--tpa-home-paper-soft) 100%);
}
.tpa-home-timeline{
  position:relative;
  background:
    radial-gradient(circle at 88% 12%,rgba(219,158,35,.09),transparent 24%),
    linear-gradient(180deg,var(--tpa-home-paper-soft) 0%,var(--tpa-home-paper-warm) 56%,var(--tpa-home-paper-soft) 100%);
  color:var(--tpa-home-text);
  border-top:1px solid rgba(128,88,12,.08);
  border-bottom:1px solid rgba(128,88,12,.10);
}
.tpa-home-timeline::before{
  width:560px;
  height:560px;
  right:-170px;
  bottom:-250px;
  background:radial-gradient(circle,rgba(219,158,35,.10),rgba(219,158,35,0) 70%);
}
.tpa-timeline-heading .tpa-overline{color:var(--tpa-home-gold-dark)}
.tpa-timeline-heading h2{color:var(--tpa-home-text)}
.tpa-timeline-heading>p{color:var(--tpa-home-muted)}
.tpa-timeline-list::before{
  background:linear-gradient(90deg,rgba(182,125,25,.12),rgba(182,125,25,.62) 50%,rgba(182,125,25,.12));
}
.tpa-timeline-marker{
  border-color:rgba(182,125,25,.56);
  background:var(--tpa-home-paper);
  box-shadow:0 0 0 5px rgba(219,158,35,.075);
}
.tpa-timeline-marker span{background:var(--tpa-home-gold)}
.tpa-timeline-card{
  background:rgba(255,253,249,.90);
  border-color:rgba(128,88,12,.14);
  box-shadow:0 12px 30px rgba(56,45,27,.07);
}
.tpa-timeline-card:hover{
  border-color:rgba(182,125,25,.32);
  background:var(--tpa-home-paper);
  box-shadow:0 18px 38px rgba(56,45,27,.11);
}
.tpa-timeline-media{background:#e8e0d4}
.tpa-timeline-media::after{background:linear-gradient(180deg,transparent 64%,rgba(20,16,10,.22) 100%)}
.tpa-timeline-content time{
  background:rgba(219,158,35,.10);
  color:var(--tpa-home-gold-dark);
  border:1px solid rgba(182,125,25,.10);
}
.tpa-timeline-content h3{color:var(--tpa-home-text)}
.tpa-timeline-content p{color:var(--tpa-home-muted)}
.tpa-timeline-item.is-featured .tpa-timeline-card{
  border-color:rgba(182,125,25,.30);
  background:linear-gradient(180deg,#fffaf0 0%,#fffdf9 100%);
}
.tpa-timeline-item.is-featured .tpa-timeline-marker{
  border-color:var(--tpa-home-gold);
  background:#fffaf0;
  box-shadow:0 0 0 6px rgba(219,158,35,.10),0 10px 24px rgba(182,125,25,.10);
}

/* Shopping / content zone: one continuous field, no hard white/cream blocks. */
.tpa-home-commerce-zone{
  position:relative;
  background:
    radial-gradient(circle at 8% 18%,rgba(219,158,35,.035),transparent 22%),
    radial-gradient(circle at 92% 70%,rgba(219,158,35,.03),transparent 24%),
    linear-gradient(180deg,var(--tpa-home-paper) 0%,var(--tpa-home-paper-soft) 52%,var(--tpa-home-paper) 100%);
}
.tpa-home-commerce-zone .tpa-home-section,
.tpa-home-commerce-zone .tpa-home-section.is-soft{
  background:transparent;
  color:var(--tpa-home-text);
}
.tpa-home-commerce-zone .tpa-home-section + .tpa-home-section{
  border-top:1px solid rgba(128,88,12,.085);
}
.tpa-home-commerce-zone .tpa-section-head h2{color:var(--tpa-home-text)}
.tpa-home-commerce-zone .tpa-section-head p:not(.tpa-overline){color:var(--tpa-home-muted)}
.tpa-home-commerce-zone .tpa-overline{color:var(--tpa-home-gold-dark)}
.tpa-home-commerce-zone .tpa-section-head>a{
  color:var(--tpa-home-gold-dark);
  border-bottom-color:rgba(182,125,25,.42);
}
.tpa-home-commerce-zone .tpa-section-head>a:hover{color:#664606;border-bottom-color:rgba(182,125,25,.72)}
.tpa-home-main .tpa-product-card,
.tpa-home-main .tpa-post-card,
.tpa-home-main .tpa-promo-card{
  background:rgba(255,250,243,.94);
  border-color:var(--tpa-home-line);
  box-shadow:0 7px 22px rgba(42,36,27,.045);
}
.tpa-home-main .tpa-product-card:hover,
.tpa-home-main .tpa-post-card:hover,
.tpa-home-main .tpa-promo-card:hover{
  border-color:var(--tpa-home-line-strong);
  box-shadow:0 14px 34px rgba(42,36,27,.08);
}
.tpa-home-main .tpa-product-media,
.tpa-home-main .tpa-post-media{background:#f1eadf}
.tpa-home-main .tpa-card-kicker{color:var(--tpa-home-gold-dark)}
.tpa-home-main .tpa-card-title,
.tpa-home-main .tpa-card-title a,
.tpa-home-main .tpa-product-price,
.tpa-home-main .tpa-promo-card h3{color:var(--tpa-home-text)}
.tpa-home-main .tpa-post-meta,
.tpa-home-main .tpa-post-body p,
.tpa-home-main .tpa-promo-card p:not(.tpa-card-kicker),
.tpa-home-main .tpa-promo-card small{color:var(--tpa-home-muted)}
.tpa-home-main .tpa-card-link{color:var(--tpa-home-gold-dark);border-top-color:var(--tpa-home-line)}
.tpa-home-main .tpa-home-empty{background:rgba(255,250,243,.84);border-color:#d8cebd;color:var(--tpa-home-muted)}

/* Conversion / trust: CTA is a dark conversion accent; Press returns to light before the dark Footer. */
.tpa-final-cta{
  position:relative;
  overflow:hidden;
  padding:calc(var(--tpa-section-y) + 12px) 0 calc(var(--tpa-section-y) + 10px);
  background:
    radial-gradient(circle at 84% 0%,rgba(219,158,35,.12),transparent 26%),
    linear-gradient(180deg,#282319 0%,#18150f 24%,var(--tpa-home-dark) 72%,var(--tpa-home-dark) 100%);
  color:var(--tpa-home-dark-text);
  border-top:1px solid rgba(128,88,12,.12);
}
.tpa-final-cta::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,transparent 0%,rgba(255,250,240,.018) 50%,transparent 100%);
  pointer-events:none;
}
.tpa-final-cta-inner{
  position:relative;
  z-index:1;
  background:linear-gradient(128deg,rgba(255,250,240,.055),rgba(255,250,240,.018) 62%,rgba(219,158,35,.055));
  border:1px solid rgba(242,210,120,.15);
  color:var(--tpa-home-dark-text);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 18px 44px rgba(0,0,0,.13);
}
.tpa-final-cta .tpa-overline{color:var(--tpa-home-gold-light)}
.tpa-final-cta h2{color:var(--tpa-home-dark-text)}
.tpa-final-cta p{color:var(--tpa-home-dark-muted)}
.tpa-final-cta small{color:var(--tpa-home-dark-meta)}
.tpa-final-cta .tpa-button.is-light{
  background:#f8f2e7;
  color:var(--tpa-home-text);
  border-color:rgba(255,255,255,.08);
}

/* 0.1.16 — Press is a light content section; only the actual footer stays dark. */
body.home .tpa-site-footer{border-top:0;background:#0c0c0b}
body.home .tpa-footer-media-trust{
  border-top:1px solid rgba(128,88,12,.08);
}

@media (max-width:820px){
  .tpa-final-cta{padding:calc(var(--tpa-section-y) + 8px) 0 calc(var(--tpa-section-y) + 6px)}
}
@media (max-width:640px){
  .tpa-home-commerce-zone .tpa-home-section + .tpa-home-section{border-top-color:rgba(128,88,12,.07)}
  .tpa-final-cta{padding:calc(var(--tpa-section-y) + 4px) 0 var(--tpa-section-y)}
}

/* =========================================================
 * 0.1.19 — Home consultation & installation process
 * Light, editorial timeline that follows the homepage shopping rhythm.
 * ======================================================= */
.tpa-process-section{position:relative;overflow:hidden}
.tpa-process-section::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 86% 8%,rgba(219,158,35,.055),transparent 24%)}
.tpa-process-section .tpa-container{position:relative;z-index:1}
.tpa-process-head{margin-bottom:30px}
.tpa-process-head>div{max-width:780px}
.tpa-process-list{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;margin:0;padding:22px 0 0;list-style:none}
.tpa-process-list::before{content:"";position:absolute;left:7%;right:7%;top:61px;height:1px;background:linear-gradient(90deg,rgba(128,88,12,.10),rgba(219,158,35,.58) 20%,rgba(219,158,35,.58) 80%,rgba(128,88,12,.10))}
.tpa-process-step{position:relative;min-width:0;text-align:center}
.tpa-process-node{position:relative;z-index:2;width:78px;margin:0 auto 18px;display:flex;flex-direction:column;align-items:center;gap:8px}
.tpa-process-icon{width:54px;height:54px;border:1px solid rgba(128,88,12,.16);border-radius:16px;background:#fffdf9;color:#9a6712;display:grid;place-items:center;box-shadow:0 8px 20px rgba(55,44,27,.055)}
.tpa-process-icon svg{width:27px;height:27px}
.tpa-process-number{min-width:38px;height:24px;padding:0 8px;border:1px solid rgba(182,125,25,.20);border-radius:999px;background:#fff7e7;color:#80580c;font-size:10px;font-weight:900;line-height:22px;letter-spacing:.08em}
.tpa-process-copy{max-width:220px;margin:0 auto}
.tpa-process-copy h3{margin:0 0 8px;color:var(--tpa-home-text);font-size:17px;line-height:1.25;letter-spacing:-.018em}
.tpa-process-copy p{margin:0;color:var(--tpa-home-muted);font-size:12.5px;line-height:1.6}
.tpa-process-step:hover .tpa-process-icon{border-color:rgba(182,125,25,.34);background:#fff9ec;box-shadow:0 11px 26px rgba(55,44,27,.08);transform:translateY(-2px)}
.tpa-process-icon{transition:transform .2s ease,border-color .2s ease,background-color .2s ease,box-shadow .2s ease}
@media(max-width:1100px){
  .tpa-process-list{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:30px}
  .tpa-process-list::before{display:none}
}
@media(max-width:760px){
  .tpa-process-head{margin-bottom:22px}
  .tpa-process-list{display:block;padding:0 0 0 34px}
  .tpa-process-list::before{display:block;left:10px;right:auto;top:16px;bottom:16px;width:1px;height:auto;background:linear-gradient(180deg,rgba(219,158,35,.55),rgba(128,88,12,.08))}
  .tpa-process-step{display:grid;grid-template-columns:58px minmax(0,1fr);gap:14px;align-items:start;text-align:left;padding:0 0 24px}
  .tpa-process-step:last-child{padding-bottom:0}
  .tpa-process-node{width:58px;margin:0;gap:6px}
  .tpa-process-icon{width:48px;height:48px;border-radius:14px}
  .tpa-process-icon svg{width:24px;height:24px}
  .tpa-process-number{height:22px;line-height:20px;min-width:36px}
  .tpa-process-copy{max-width:none;margin:3px 0 0}
  .tpa-process-copy h3{font-size:16px;margin-bottom:6px}
  .tpa-process-copy p{font-size:13px}
}
@media(prefers-reduced-motion:reduce){.tpa-process-icon{transition:none}}

/* =========================================================
 * 0.1.22 — Soft 3D section shells across Home content
 * Excludes header, hero and the true footer by design.
 * ======================================================= */
.tpa-home-main{
  --tpa-home-shell-radius:28px;
  --tpa-home-shell-pad:clamp(24px,2.25vw,34px);
  --tpa-home-shell-border:rgba(128,88,12,.15);
  --tpa-home-shell-bg:linear-gradient(145deg,rgba(255,255,255,.94),rgba(255,250,241,.92));
  --tpa-home-shell-shadow:
    0 1px 0 rgba(255,255,255,.95) inset,
    0 -1px 0 rgba(128,88,12,.035) inset,
    0 5px 12px rgba(58,46,27,.055),
    0 22px 52px rgba(58,46,27,.085);
}

/* Timeline is a full-width band, but its actual content sits inside one raised panel. */
.tpa-home-timeline > .tpa-container,
.tpa-home-commerce-zone > .tpa-home-section > .tpa-container{
  position:relative;
  isolation:isolate;
  padding:var(--tpa-home-shell-pad);
  border:1px solid var(--tpa-home-shell-border);
  border-radius:var(--tpa-home-shell-radius);
  background:var(--tpa-home-shell-bg);
  box-shadow:var(--tpa-home-shell-shadow);
}

/* A very subtle lower edge gives depth without a heavy "floating card" look. */
.tpa-home-timeline > .tpa-container::after,
.tpa-home-commerce-zone > .tpa-home-section > .tpa-container::after{
  content:"";
  position:absolute;
  z-index:-1;
  left:18px;
  right:18px;
  bottom:-7px;
  height:14px;
  border-radius:0 0 calc(var(--tpa-home-shell-radius) - 7px) calc(var(--tpa-home-shell-radius) - 7px);
  background:linear-gradient(180deg,rgba(117,81,18,.065),rgba(117,81,18,0));
  filter:blur(7px);
  pointer-events:none;
}

/* Keep the background bands calm; the new shell provides the visual separation. */
.tpa-home-commerce-zone .tpa-home-section + .tpa-home-section{border-top:0}
.tpa-home-timeline{border-bottom-color:rgba(128,88,12,.065)}

/* Timeline shell gets a touch more champagne depth, still light and not black. */
.tpa-home-timeline > .tpa-container{
  background:
    radial-gradient(circle at 88% 8%,rgba(219,158,35,.075),transparent 25%),
    linear-gradient(145deg,rgba(255,254,250,.97),rgba(249,244,234,.96));
  border-color:rgba(128,88,12,.17);
}

/* Process is an important trust section: same shell system, slightly stronger face light. */
.tpa-home-commerce-zone > .tpa-process-section > .tpa-container{
  background:
    radial-gradient(circle at 88% 12%,rgba(219,158,35,.06),transparent 24%),
    linear-gradient(145deg,#fffefb 0%,#fbf7ef 100%);
}

@media(max-width:820px){
  .tpa-home-main{
    --tpa-home-shell-radius:22px;
    --tpa-home-shell-pad:22px;
    --tpa-home-shell-shadow:
      0 1px 0 rgba(255,255,255,.94) inset,
      0 4px 10px rgba(58,46,27,.045),
      0 16px 34px rgba(58,46,27,.07);
  }
}

@media(max-width:640px){
  .tpa-home-main{
    --tpa-home-shell-radius:18px;
    --tpa-home-shell-pad:17px;
  }
  .tpa-home-timeline > .tpa-container,
  .tpa-home-commerce-zone > .tpa-home-section > .tpa-container{
    width:calc(100% - 20px);
  }
  .tpa-home-timeline > .tpa-container::after,
  .tpa-home-commerce-zone > .tpa-home-section > .tpa-container::after{
    left:12px;
    right:12px;
    bottom:-5px;
    height:10px;
  }
}

@media(prefers-reduced-motion:reduce){
  .tpa-home-timeline > .tpa-container,
  .tpa-home-commerce-zone > .tpa-home-section > .tpa-container{scroll-behavior:auto}
}

/* =========================================================
 * 0.1.23 — Compact spacing for raised Home section shells
 * Reduce vertical whitespace while preserving the soft 3D panel language.
 * Header, Hero and Footer remain untouched.
 * ======================================================= */
.tpa-home-main{
  --tpa-home-section-y:22px;
  --tpa-home-head-gap:16px;
  --tpa-home-shell-pad:clamp(18px,1.65vw,24px);
}

/* Tighten outer rhythm between raised content sections. */
.tpa-home-section{padding:var(--tpa-home-section-y) 0}
.tpa-home-timeline{padding:24px 0 26px}
.tpa-timeline-heading{margin-bottom:28px;gap:36px}
.tpa-section-head{gap:20px;margin-bottom:var(--tpa-home-head-gap)}

/* Process: remove excess vertical air inside the shell. */
.tpa-process-head{margin-bottom:20px}
.tpa-process-list{gap:14px;padding-top:14px}
.tpa-process-node{margin-bottom:13px;gap:6px}
.tpa-process-copy h3{margin-bottom:6px}

/* Raised panel itself becomes more compact, without weakening depth. */
.tpa-home-timeline > .tpa-container,
.tpa-home-commerce-zone > .tpa-home-section > .tpa-container{
  padding:var(--tpa-home-shell-pad);
}

@media(max-width:820px){
  .tpa-home-main{
    --tpa-home-section-y:18px;
    --tpa-home-head-gap:14px;
    --tpa-home-shell-pad:18px;
  }
  .tpa-home-timeline{padding:20px 0 22px}
  .tpa-timeline-heading{margin-bottom:22px;gap:14px}
  .tpa-process-head{margin-bottom:16px}
  .tpa-process-list{row-gap:22px}
}

@media(max-width:640px){
  .tpa-home-main{
    --tpa-home-section-y:15px;
    --tpa-home-head-gap:12px;
    --tpa-home-shell-pad:14px;
  }
  .tpa-home-timeline{padding:17px 0 19px}
  .tpa-timeline-heading{margin-bottom:18px}
  .tpa-process-head{margin-bottom:14px}
  .tpa-process-step{padding-bottom:18px}
  .tpa-process-list{padding-left:29px}
}

/* =========================================================
 * 0.1.24 — Illustrated process icons
 * Use the five lightweight 200×200 WebP workflow icons supplied for the
 * consultation / installation process. Keep the existing compact rhythm.
 * ======================================================= */
.tpa-process-list::before{top:50px}
.tpa-process-node{width:92px;margin-bottom:12px;gap:5px}
.tpa-process-icon{
  width:76px;
  height:76px;
  border:0;
  border-radius:0;
  background:transparent;
  color:inherit;
  box-shadow:none;
  display:grid;
  place-items:center;
  overflow:visible;
}
.tpa-process-icon img{
  display:block;
  width:76px;
  height:76px;
  object-fit:contain;
  object-position:center;
  filter:drop-shadow(0 7px 9px rgba(47,72,98,.08));
  transform:translateZ(0);
}
.tpa-process-step:hover .tpa-process-icon{
  border-color:transparent;
  background:transparent;
  box-shadow:none;
  transform:translateY(-2px);
}
.tpa-process-step:hover .tpa-process-icon img{filter:drop-shadow(0 9px 12px rgba(47,72,98,.12))}
.tpa-process-number{margin-top:-1px}

@media(max-width:820px){
  .tpa-process-list::before{top:16px}
  .tpa-process-node{width:66px;margin:0;gap:4px}
  .tpa-process-icon{width:58px;height:58px}
  .tpa-process-icon img{width:58px;height:58px}
}

@media(max-width:640px){
  .tpa-process-step{grid-template-columns:66px minmax(0,1fr);gap:12px}
  .tpa-process-node{width:62px}
  .tpa-process-icon{width:56px;height:56px}
  .tpa-process-icon img{width:56px;height:56px}
}

/* =========================================================
 * 0.1.25 — Process icons 2× visual scale
 * Double the illustrated workflow icon size while preserving layout rhythm.
 * ======================================================= */
.tpa-process-list::before{top:88px}
.tpa-process-node{width:168px;margin-bottom:12px;gap:5px}
.tpa-process-icon,
.tpa-process-icon img{
  width:152px;
  height:152px;
}
.tpa-process-icon img{object-fit:contain}

@media(max-width:820px){
  .tpa-process-list::before{top:22px}
  .tpa-process-step{grid-template-columns:126px minmax(0,1fr);gap:14px}
  .tpa-process-node{width:124px;margin:0;gap:4px}
  .tpa-process-icon,
  .tpa-process-icon img{width:116px;height:116px}
}

@media(max-width:640px){
  .tpa-process-step{grid-template-columns:122px minmax(0,1fr);gap:12px}
  .tpa-process-node{width:120px}
  .tpa-process-icon,
  .tpa-process-icon img{width:112px;height:112px}
}

/* =========================================================
 * 0.1.26 — Align illustrated process icons with guide line
 * On wide desktop, lift the 152px illustrations inside a shorter visual stage
 * so the gold guide line sits cleanly below the artwork instead of crossing it.
 * ======================================================= */
@media(min-width:1181px){
  .tpa-process-list::before{top:140px}
  .tpa-process-icon{
    position:relative;
    width:152px;
    height:124px;
    transform:none;
  }
  .tpa-process-icon img{
    position:absolute;
    left:50%;
    bottom:0;
    width:152px;
    height:152px;
    transform:translateX(-50%);
  }
  .tpa-process-step:hover .tpa-process-icon{transform:none}
  .tpa-process-step:hover .tpa-process-icon img{transform:translate(-50%,-3px)}
}
