/* Photo layout for the home page's WHY NOUCHI section. */
#strengths { display:block; position:relative; overflow:hidden; isolation:isolate; padding-top:clamp(178px,14vw,218px); }
#strengths::after { content:none; }
#strengths .strengths-number { position:absolute; z-index:0; top:24px; right:clamp(42px,6vw,100px); color:var(--section-numeral); font-family:"Cormorant Garamond","Bodoni 72",Didot,Georgia,serif; font-size:clamp(132px,12vw,176px); font-style:italic; font-weight:600; letter-spacing:-.1em; line-height:1; white-space:nowrap; pointer-events:none; }
#strengths .strengths-panel { display:block; position:relative; z-index:1; }
#strengths .strength-title { padding:0; }
#strengths .strength-title h2 { font-size:clamp(28px,2.75vw,42px); letter-spacing:.025em; white-space:nowrap; line-height:1.45; }
#strengths .strengths-photo { position:relative; overflow:hidden; aspect-ratio:4.7/1; width:100%; margin:28px 0 25px; border:1px solid rgba(255,255,255,.16); }
#strengths .strengths-photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 88%; }
#strengths .strength-list { border-top:0; }
#strengths .strength-list > div { grid-template-columns:54px minmax(190px,300px) minmax(0,1fr); gap:20px; align-items:start; padding:20px 0; }
#strengths .strength-list > div:first-child { border-top:1px solid rgba(255,255,255,.2); }
#strengths .strength-list h3 { font-size:19px; }
#strengths .strength-list p { line-height:1.75; }
@media (max-width:900px) {
  #strengths { padding-top:142px; }
  #strengths .strengths-number { top:20px; right:clamp(24px,6vw,60px); font-size:116px; }
  #strengths .strength-title h2 { white-space:normal; font-size:clamp(29px,4vw,38px); }
  #strengths .strengths-photo { aspect-ratio:3.4/1; }
  #strengths .strengths-photo img { object-position:center 80%; }
  #strengths .strength-list > div { grid-template-columns:38px minmax(150px,220px) minmax(0,1fr); gap:14px; }
}
@media (max-width:600px) {
  #strengths { padding-top:118px; }
  #strengths .strengths-number { top:15px; right:26px; font-size:92px; }
  #strengths .strengths-panel { padding:38px 24px 30px; }
  #strengths .strength-title { padding-bottom:0; }
  #strengths .strength-title h2 { font-size:clamp(26px,7vw,34px); line-height:1.5; }
  #strengths .strengths-photo { aspect-ratio:1.8/1; margin:22px 0 20px; }
  #strengths .strengths-photo img { object-position:center center; }
  #strengths .strength-list > div { grid-template-columns:34px minmax(0,1fr); gap:5px 12px; padding:18px 0; }
  #strengths .strength-list p { grid-column:2; }
}
