/* Himawari Paint | Draft-only LLMO additions.
   Use the original brand palette, painterly headline marks and restrained visual rhythm.
   All selectors are scoped to the additional content, not the existing page templates. */
:root{--hp-orange:#ed6d34;--hp-navy:#0c4568;--hp-gold:#ecc500;--hp-ink:#243644;--hp-cream:#fff9ef;--hp-line:#ecdac8}
:is(.llmo-summary,.company-definition,.report-summary){
 box-sizing:border-box;position:relative;isolation:isolate;max-width:1100px;width:90%;
 margin:clamp(4rem,5vw,7rem) auto;padding:clamp(2.8rem,4vw,5rem) clamp(2.2rem,4vw,5rem);
 border:0;border-radius:2px;box-shadow:none;
 background:linear-gradient(120deg,#fffdf7 0%,#fff8e8 100%);color:var(--hp-ink);
}
:is(.llmo-summary,.company-definition,.report-summary)::before{
 content:"";position:absolute;inset:0 auto 0 0;width:8px;z-index:-1;
 background:var(--hp-orange);
 clip-path:polygon(20% 0,90% 4%,100% 34%,70% 70%,100% 96%,20% 100%,0 65%,10% 20%);
}
:is(.llmo-summary__label,.company-definition__label,.report-summary__label){
 display:inline-block;width:fit-content;max-width:100%;
 margin:0 0 2.1rem;padding:.6rem 2.2rem .8rem;
 background:var(--hp-orange);color:#fff;
 font-size:1.7rem;font-weight:900;line-height:1.4;letter-spacing:.025em;
 border:0;border-radius:0;
 clip-path:polygon(0 14%,19% 3%,36% 8%,57% 0,81% 7%,99% 0,96% 47%,100% 88%,76% 100%,51% 92%,28% 100%,1% 93%,4% 60%);
}
:is(.llmo-summary,.company-definition,.report-summary)>h2{
 position:relative;display:block;width:fit-content;max-width:100%;
 padding:0 0 1rem;margin:0 0 2.3rem;color:var(--hp-navy);
 font-size:clamp(2.5rem,3vw,3.5rem);font-weight:900;line-height:1.55;overflow-wrap:anywhere;
}
:is(.llmo-summary,.company-definition,.report-summary)>h2::before{
 content:"";display:block;width:7rem;height:3.4rem;margin:0 0 .5rem;
 background:url(../img/tit-deco.svg) no-repeat left center/contain;
}
:is(.llmo-summary,.company-definition,.report-summary)>h2::after{
 content:"";position:absolute;z-index:-1;bottom:.5rem;left:0;width:min(100%,45rem);height:1rem;
 background:var(--hp-gold);
 clip-path:polygon(0 45%,12% 0,28% 32%,46% 5%,67% 25%,82% 0,100% 33%,94% 84%,72% 100%,53% 75%,31% 100%,10% 76%,0 92%);
}
:is(.llmo-summary,.company-definition,.report-summary)>p{
 margin:0 0 1.4rem;color:var(--hp-ink);font-size:1.6rem;line-height:2.05;overflow-wrap:anywhere;
}
.company-definition__facts{
 display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem 2.5rem;
 max-width:100%;margin:3rem 0 0;padding:0;
}
.company-definition__facts>div{
 position:relative;min-width:0;padding:1.3rem .8rem 1.7rem 2rem;
 border:0;border-bottom:2px dashed #e7d1b6;border-radius:0;
 background:rgba(255,255,255,.8);
}
.company-definition__facts>div::before{
 content:"";position:absolute;left:0;top:1.2rem;bottom:1.5rem;width:5px;
 background:var(--hp-orange);transform:rotate(-3deg);
}
.company-definition__facts dt{
 margin:0 0 .6rem;color:#bd551d;font-size:1.4rem;font-weight:900;
}
.company-definition__facts dd{
 margin:0;color:var(--hp-navy);font-size:clamp(1.5rem,1.65vw,1.8rem);
 font-weight:800;line-height:1.7;overflow-wrap:anywhere;
}
.company-definition>.report-related-links{
 width:100%;max-width:100%;margin:2.8rem 0 0;
 padding:1.8rem 2rem;background:#fff3df;
}
.llmo-summary__links{
 display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
 gap:1rem 1.5rem;margin:2.8rem 0 0;padding:0;list-style:none;
}
.llmo-summary__links li{min-width:0}
.llmo-summary__links a{
 display:flex;align-items:center;gap:1rem;min-height:5.4rem;
 padding:.9rem 1.4rem;background:#fff;border-left:4px solid var(--hp-orange);
 border-bottom:1px solid var(--hp-line);border-radius:2px;box-shadow:none;
 color:var(--hp-navy);font-size:1.55rem;font-weight:800;line-height:1.55;
 text-decoration:none;overflow-wrap:anywhere;
}
.llmo-summary__links a::after{content:"›";margin-left:auto;font-size:2.4rem;color:var(--hp-orange)}
.llmo-summary__links a:hover,.llmo-summary__links a:focus-visible{background:#fff1d6;color:var(--hp-navy)}
.report-related-links{
 box-sizing:border-box;width:90%;max-width:1100px;margin:3rem auto 4.5rem;
 padding:2.1rem 2.7rem;border:0;border-top:4px solid var(--hp-gold);
 background:#fff9ef;border-radius:2px;box-shadow:none;
}
.report-related-links>h2{
 position:relative;margin:0 0 1.4rem;color:var(--hp-navy);font-size:clamp(2rem,2.4vw,2.6rem);
 line-height:1.5;font-weight:900;overflow-wrap:anywhere;
}
.report-related-links>h2::before{
 content:"";display:inline-block;width:.5em;height:.9em;
 margin-right:.5em;vertical-align:-.03em;transform:rotate(-7deg);background:var(--hp-orange);
}
.report-related-links ul{
 display:flex;flex-wrap:wrap;gap:1rem 2.2rem;margin:0;padding:0;list-style:none;
}
.report-related-links li{min-width:0}
.report-related-links a{
 color:var(--hp-navy);font-weight:700;text-decoration:underline;
 text-underline-offset:.35em;overflow-wrap:anywhere;
}
.report-related-links a:hover{color:#d65b1d}
/* FAQ: paint-mark section headings, compact question labels, readable answer blocks. */
.faq-category{
 box-sizing:border-box;width:90%;max-width:1100px;margin:5rem auto 1.8rem;padding:0;
}
.faq-category__title{
 display:block;position:relative;width:fit-content;max-width:100%;
 margin:0 0 1.4rem;padding:0 0 .9rem;
 color:var(--hp-navy);font-weight:900;font-size:clamp(2.2rem,3vw,3.1rem);
 line-height:1.5;overflow-wrap:anywhere;
}
.faq-category__title::after{
 content:"";position:absolute;left:0;bottom:.15rem;width:100%;height:.75rem;
 background:var(--hp-gold);z-index:-1;transform:skewX(-12deg);
 clip-path:polygon(0 40%,20% 10%,48% 35%,78% 0,100% 34%,97% 86%,67% 100%,28% 77%,0 100%);
}
.faq-category__lead{margin:0;color:#52636f;font-size:1.55rem;line-height:1.85;overflow-wrap:anywhere}
.faq-category+.faq.content-wrap{margin-top:1.8rem}
.faq .faq-box{
 box-sizing:border-box;display:flex;align-items:flex-start;gap:2rem;min-width:0;
 margin-bottom:1.7rem;padding:2.7rem 3.2rem;border:1px solid var(--hp-line);
 border-radius:10px;background:#fff;
}
.faq .faq-box__number{
 flex:0 0 8rem;width:8rem;margin:0;padding:1rem .5rem;
 background:var(--hp-orange);color:#fff;border-radius:5px;
 font-size:2.9rem;font-weight:900;line-height:1.2;text-align:center;transform:rotate(-2deg);
}
.faq .faq-box__number::before,.faq .faq-box__number::after{display:none}
.faq .faq-contents{flex:1 1 0;min-width:0;max-width:none;width:auto;overflow-wrap:anywhere}
.faq .faq-contents__tit{
 margin:0 0 1.1rem;color:#d85e24;font-size:clamp(1.9rem,2.2vw,2.3rem);
 line-height:1.55;font-weight:900;overflow-wrap:anywhere;
}
.faq .faq-contents__text{margin:0;color:var(--hp-ink);font-size:1.6rem;line-height:1.95;overflow-wrap:anywhere}
/* Works and reports: highlight validated facts without inventing dates or details. */
.llmo-report-details{
 box-sizing:border-box;min-width:0;margin:3rem 0;padding:clamp(2rem,3vw,3.6rem);
 background:#fffdf8;border:1px solid var(--hp-line);border-top:5px solid var(--hp-orange);border-radius:5px;
}
.llmo-report-details>h2{
 margin:0 0 1.4rem;color:var(--hp-navy);font-size:clamp(2.1rem,2.5vw,2.7rem);font-weight:900;
}
.llmo-report-details__lead{margin:0 0 1.7rem;line-height:1.95;overflow-wrap:anywhere}
.llmo-report-details__grid{
 display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 2rem;margin:0;
}
.llmo-report-details__grid div{min-width:0;padding:1rem 0;border-bottom:1px dashed #ddc7a5}
.llmo-report-details__grid dt{color:#be551a;font-size:1.4rem;font-weight:900}
.llmo-report-details__grid dd{margin:.5rem 0 0;color:var(--hp-navy);font-size:1.6rem;font-weight:700;overflow-wrap:anywhere}
.llmo-report-card__meta{margin:1.5rem 0 0;border-top:2px solid var(--hp-gold);padding-top:1.1rem}
.llmo-report-card__meta div{min-width:0;margin:0 0 .8rem}
.llmo-report-card__meta dt{color:#b8581e;font-weight:800}
.llmo-report-card__meta dd{overflow-wrap:anywhere}
/* Keep the historic award accurate and visually secondary. */
.reason-no1__past-achievement{
  box-sizing:border-box;width:100%;max-width:830px;margin:1.2rem auto 0;
  padding:0 1.2rem;color:#4f5c62;text-align:center;font-size:1.4rem;
  font-weight:500;line-height:1.85;overflow-wrap:anywhere;
}
@media(max-width:780px){.reason-no1__past-achievement{font-size:1.25rem;padding:0 .6rem}}
/* Contact: keep the business-inquiry notice aligned with the 770px-wide form.
   A restrained paint-color stripe integrates it into the existing design. */
.page-contact.content-wrap{
 padding-top:6rem;
}
.page-contact .contact-sales-notice{
 box-sizing:border-box;
 width:90%;
 max-width:770px;
 min-width:0;
 margin:0 auto 3.5rem;
 padding:2.1rem 2.5rem;
 background:#fffaf1;
 border:0;
 border-left:4px solid var(--hp-orange);
 border-radius:4px;
 box-shadow:none;
 color:var(--hp-ink);
 overflow-wrap:anywhere;
}
.page-contact .contact-sales-notice__title{
 position:relative;
 margin:0 0 .8rem;
 color:var(--hp-navy);
 font-size:1.6rem;
 font-weight:900;
 line-height:1.6;
 letter-spacing:.015em;
}
.page-contact .contact-sales-notice__text{
 margin:0;
 color:#34495a;
 font-size:1.4rem;
 font-weight:500;
 line-height:1.9;
 letter-spacing:0;
 overflow-wrap:anywhere;
}
@media(max-width:780px){
 .page-contact.content-wrap{padding-top:3.5rem;}
 .page-contact .contact-sales-notice{
  width:90%;max-width:770px;
  margin-bottom:2.8rem;
  padding:1.7rem 1.8rem;
  border-left-width:4px;
 }
 .page-contact .contact-sales-notice__title{font-size:1.5rem;line-height:1.5}
 .page-contact .contact-sales-notice__text{font-size:1.35rem;line-height:1.85}
}
/* Focus, resize and narrow-screen safeguards. */
:is(.company-definition,.llmo-summary,.report-summary,.faq-category,.faq .faq-box,.llmo-report-details,.report-related-links) a:focus-visible{
 outline:3px solid var(--hp-navy);outline-offset:3px;
}
@media(max-width:950px){.llmo-summary__links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){
 :is(.company-definition,.llmo-summary,.report-summary){
  width:90%;margin:3rem auto 4rem;padding:2.6rem 2rem 2.8rem 2.8rem;
 }
 :is(.company-definition__label,.llmo-summary__label,.report-summary__label){
  font-size:1.4rem;margin-bottom:1.5rem;padding:.55rem 1.7rem;
 }
 :is(.company-definition,.llmo-summary,.report-summary)>h2{
  font-size:clamp(2.1rem,5.6vw,2.8rem);margin-bottom:1.8rem;
 }
 :is(.company-definition,.llmo-summary,.report-summary)>h2::before{width:5rem;height:2.4rem}
 :is(.company-definition,.llmo-summary,.report-summary)>p{font-size:1.5rem;line-height:1.95}
 .company-definition__facts,.llmo-summary__links,.llmo-report-details__grid{grid-template-columns:minmax(0,1fr)}
 .company-definition__facts{gap:.3rem;margin-top:1.8rem}
 .company-definition__facts>div{padding:1.2rem .6rem 1.4rem 1.5rem}
 .llmo-summary__links{margin-top:2rem}
 .llmo-summary__links a{font-size:1.5rem}
 .report-related-links{width:90%;padding:1.8rem}
 .report-related-links ul{display:block}
 .report-related-links li+li{margin-top:1rem}
 .faq-category{width:90%;margin-top:3.5rem}
 .faq .faq-box{display:block;padding:1.8rem 1.6rem 2.1rem}
 .faq .faq-box__number{
  display:inline-block;flex:none;width:auto;min-width:5.4rem;
  margin:0 0 1.6rem;padding:.7rem 1rem;font-size:2.4rem;
 }
 .faq .faq-contents{width:100%}
 .faq .faq-contents__tit{font-size:1.9rem}
 .faq .faq-contents__text{font-size:1.5rem}
 .llmo-report-details{padding:2rem 1.5rem}
}
@media(max-width:375px){
 .company-definition__facts dd{font-size:1.5rem}
 .llmo-summary__links a{min-height:4.5rem}
}