
.tnstrength{position:relative;overflow:hidden;padding:112px 0;color:#27231d;background:radial-gradient(circle at 12% 8%,rgba(184,139,67,.13),transparent 28%),radial-gradient(circle at 88% 88%,rgba(80,68,48,.07),transparent 32%),linear-gradient(180deg,#f1ece3 0%,#f8f5ef 42%,#ece6dc 100%)}
.tnstrength::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(64,52,35,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(64,52,35,.03) 1px,transparent 1px);background-size:84px 84px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.46),transparent 92%)}
.tnstrength::after{content:"T&N";position:absolute;right:-2%;top:34px;color:rgba(159,116,54,.035);font-family:Georgia,"Yu Mincho",serif;font-size:clamp(11rem,21vw,24rem);font-weight:800;line-height:.8;letter-spacing:-.08em;pointer-events:none;user-select:none}
.tnstrength__inner{position:relative;z-index:1}
.tnstrength__header{padding-bottom:44px;border-bottom:1px solid rgba(61,49,32,.14)}
.tnstrength__eyebrow,.tnstrength__message-kicker{margin:0 0 17px;color:#9f7435;font-size:.66rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase}
.tnstrength__title{max-width:1080px;margin:0;font-family:Georgia,"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(3rem,5vw,5.65rem);font-weight:500;line-height:1.1;letter-spacing:-.04em}
.tnstrength__title span{display:block}
.tnstrength__title span:last-child{margin-top:.05em;color:#a47a3b}
.tnstrength__lead-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(430px,570px);align-items:start;gap:32px;margin-top:32px}
.tnstrength__lead-line{height:1px;margin-top:13px;background:linear-gradient(90deg,rgba(158,113,48,.42),rgba(78,63,42,.08),transparent)}
.tnstrength__lead{margin:0;color:#675f54;font-size:.98rem;line-height:1.95}
.tnstrength__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:34px}
.tnstrength__card{position:relative;min-height:430px;overflow:hidden;padding:28px;border:1px solid rgba(68,54,35,.14);border-radius:25px;background:linear-gradient(145deg,rgba(255,255,255,.72),rgba(255,255,255,.42));box-shadow:0 22px 60px rgba(54,43,27,.075);backdrop-filter:blur(14px);transition:transform .36s cubic-bezier(.2,.8,.2,1),border-color .36s ease,box-shadow .36s ease}
.tnstrength__card::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,rgba(255,255,255,.86),transparent 38%)}
.tnstrength__card::after{content:"";position:absolute;left:28px;right:28px;bottom:0;height:2px;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,#ad7f3a,transparent);transition:transform .36s ease}
@media (hover:hover) and (pointer:fine){.tnstrength__card:hover{transform:translateY(-6px);border-color:rgba(170,127,61,.34);box-shadow:0 34px 78px rgba(54,43,27,.12)}.tnstrength__card:hover::after{transform:scaleX(1)}}
.tnstrength__card-top{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px}
.tnstrength__number{color:#a47a3b;font-family:Georgia,serif;font-size:.92rem}
.tnstrength__label{color:#8b8276;font-size:.57rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.tnstrength__icon{position:relative;z-index:2;height:122px;margin:24px 0;display:grid;place-items:center;overflow:hidden;border:1px solid rgba(67,54,36,.09);border-radius:18px;background:radial-gradient(circle at 78% 18%,rgba(190,145,72,.18),transparent 30%),linear-gradient(145deg,#f6f1e8,#e4dccf);box-shadow:inset 0 1px 0 rgba(255,255,255,.68)}
.tnstrength__icon--local span{position:relative;width:42px;height:42px;border:2px solid #a87936;border-radius:50% 50% 50% 0;transform:rotate(-45deg)}
.tnstrength__icon--local span::after{content:"";position:absolute;width:10px;height:10px;border-radius:50%;background:#a87936;left:14px;top:14px}
.tnstrength__icon--local i{position:absolute;width:88px;height:20px;border-radius:50%;background:rgba(160,118,54,.10);bottom:25px}
.tnstrength__icon--support{grid-template-columns:repeat(3,52px);gap:10px}
.tnstrength__icon--support span{display:block;width:52px;height:52px;border:1px solid rgba(160,116,51,.28);border-radius:50%;background:radial-gradient(circle,#b08445 0 22%,transparent 23%)}
.tnstrength__icon--support span:nth-child(2){transform:translateY(-12px)}
.tnstrength__icon--price{grid-template-columns:auto 36px 36px;gap:10px}
.tnstrength__icon--price strong{color:#a47a3b;font-family:Georgia,serif;font-size:3.7rem;font-weight:500}
.tnstrength__icon--price i{display:block;width:36px;height:36px;border-radius:9px;background:linear-gradient(145deg,#d4b278,#9f7332)}
.tnstrength__icon--price i:last-child{opacity:.48;transform:translateY(16px)}
.tnstrength__icon--system{grid-template-columns:repeat(3,auto);gap:7px}
.tnstrength__icon--system span{color:#a47a3b;font-family:Georgia,serif;font-size:clamp(2.7rem,5vw,4.9rem);line-height:1}
.tnstrength__icon--system span:nth-child(2){color:#b6aa98;font-size:2rem}
.tnstrength__card-body{position:relative;z-index:2}
.tnstrength__card-body>p:first-child{margin:0 0 7px;color:#a47a3b;font-size:.67rem;font-weight:900;letter-spacing:.08em}
.tnstrength__card h3{max-width:24ch;margin:0;font-family:Georgia,"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(1.45rem,2.15vw,2.15rem);font-weight:500;line-height:1.4}
.tnstrength__card-body>p:last-child{max-width:50ch;margin:15px 0 0;color:#675f54;font-size:.88rem;line-height:1.85}
.tnstrength__message{margin-top:32px;padding:54px 42px;border-top:1px solid rgba(64,52,34,.14);border-bottom:1px solid rgba(64,52,34,.14)}
.tnstrength__message-main{margin:0;font-family:Georgia,"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(2.1rem,4.2vw,4.65rem);font-weight:500;line-height:1.24;letter-spacing:-.035em}
.tnstrength__message-main span{color:#a47a3b}
.tnstrength__message-sub{max-width:670px;margin:22px 0 0 auto;color:#625a50;font-size:.95rem;line-height:1.9;text-align:right}
.tnstrength--js .tnstrength__header,.tnstrength--js .tnstrength__card,.tnstrength--js .tnstrength__message{opacity:0;transform:translateY(22px);transition:opacity .68s cubic-bezier(.2,.8,.2,1),transform .68s cubic-bezier(.2,.8,.2,1)}
.tnstrength--js .is-visible{opacity:1;transform:none}
@media (min-width:768px) and (max-width:1199px){.tnstrength{padding:92px 0}.tnstrength__lead-row{grid-template-columns:1fr;gap:18px}.tnstrength__lead-line{width:130px;margin-top:0}.tnstrength__lead{max-width:720px}.tnstrength__card{min-height:410px}}
@media (max-width:767px){.tnstrength{padding:76px 0}.tnstrength .container{width:min(var(--max),calc(100% - 28px))}.tnstrength::after{top:92px;right:-14%;font-size:clamp(9rem,48vw,14rem)}.tnstrength__title{font-size:clamp(2.3rem,10.6vw,3.25rem);line-height:1.16}.tnstrength__lead-row{grid-template-columns:1fr;gap:15px;margin-top:24px}.tnstrength__lead-line{width:92px;margin-top:0}.tnstrength__lead{font-size:.89rem;line-height:1.85}.tnstrength__grid{grid-template-columns:1fr;gap:13px;margin-top:25px}.tnstrength__card{min-height:auto;padding:20px;border-radius:20px}.tnstrength__icon{height:108px;margin:19px 0 21px}.tnstrength__card h3{font-size:1.44rem}.tnstrength__card-body>p:last-child{font-size:.85rem}.tnstrength__message{margin-top:24px;padding:38px 0}.tnstrength__message-main{font-size:clamp(2rem,9.8vw,2.9rem)}.tnstrength__message-sub{margin-top:18px;font-size:.88rem;text-align:left}}
@media (prefers-reduced-motion:reduce){.tnstrength__card,.tnstrength--js .tnstrength__header,.tnstrength--js .tnstrength__card,.tnstrength--js .tnstrength__message{transition:none!important}.tnstrength--js .tnstrength__header,.tnstrength--js .tnstrength__card,.tnstrength--js .tnstrength__message{opacity:1;transform:none}}


/* =========================================================
   TNOW-004 Strength v1.1 — Closing message typography fix
   ========================================================= */

.tnstrength__message{
  padding-top:48px;
  padding-bottom:48px;
}

.tnstrength__message-main{
  max-width:1180px;
  font-size:clamp(2rem,3.45vw,3.9rem);
  line-height:1.22;
  letter-spacing:-.03em;
}

.tnstrength__message-line{
  display:block;
  white-space:nowrap;
}

.tnstrength__message-line--accent{
  margin-top:.08em;
  color:#a47a3b;
}

@media (min-width:1200px) and (max-width:1499px){
  .tnstrength__message-main{
    max-width:1040px;
    font-size:clamp(1.9rem,3.15vw,3.35rem);
  }
}

@media (min-width:768px) and (max-width:1199px){
  .tnstrength__message-main{
    max-width:880px;
    font-size:clamp(2rem,4.9vw,3.2rem);
  }

  .tnstrength__message-line{
    white-space:normal;
  }
}

@media (max-width:767px){
  .tnstrength__message{
    padding-top:34px;
    padding-bottom:34px;
  }

  .tnstrength__message-main{
    max-width:none;
    font-size:clamp(1.8rem,8.7vw,2.55rem);
    line-height:1.28;
  }

  .tnstrength__message-line{
    white-space:normal;
  }
}
