/* Added profile, mascot, and placeholder works-page styles */
.about-facts { display:grid; gap:6px; margin-top:22px; }
.about-facts p { display:grid; grid-template-columns:54px minmax(0,1fr); gap:12px; margin:0; padding:8px 0; border-bottom:1px solid #dfd0ba; line-height:1.8; }
.about-facts strong { color:#a36e46; font-size:12px; }
.about-facts span { font-size:13px; font-weight:700; overflow-wrap:break-word; word-break:keep-all; }

.dandako-teaser { background:linear-gradient(110deg,#fff7ec 0%,#f6e9e3 100%); overflow:hidden; }
.dandako-teaser-inner { display:grid; grid-template-columns:minmax(0,.58fr) minmax(0,.42fr); gap:clamp(20px,7vw,90px); align-items:center; }
.dandako-teaser-art { position:relative; width:min(100%,340px); margin-inline:auto; }
.dandako-teaser-art::before { content:''; position:absolute; inset:14%; border-radius:50%; background:#f4dcc4; transform:scale(1.15); }
.dandako-teaser-art img { position:relative; width:100%; height:auto; filter:drop-shadow(0 12px 14px #946c4e30); transition:transform .22s; }
.dandako-teaser-art:hover img { transform:rotate(3deg) translateY(-4px); }
.dandako-teaser-copy h2 { font-size:clamp(27px,4vw,48px); }
.dandako-teaser-copy p:not(.section-label) { max-width:560px; color:#566862; font-size:14px; line-height:2.05; }
.dandako-credit { font-size:12px !important; font-weight:800; color:#a9754d !important; letter-spacing:.03em; }
.dandako-teaser-copy .explore-button { margin-top:13px; }

.work-availability { display:grid; grid-template-columns:minmax(0,1fr) 150px; align-items:center; gap:22px; margin:34px 0; padding:25px 30px; border:1px solid #e6d0b4; border-radius:14px; background:#fff2e4; }
.work-availability-label { color:#b8774d; font-size:10px; font-weight:900; letter-spacing:.14em; }
.work-availability h2 { color:#214542; margin:8px 0 12px; font-size:1.3rem; }
.work-availability-text>p { display:flex; align-items:baseline; gap:20px; margin:0; padding:8px 0; border-bottom:1px dashed #dfc9af; }
.work-availability-text>p strong { min-width:55px; color:#ad754f; }
.work-availability-text>p span { font-weight:800; }
.work-availability small { display:block; font-size:12px; color:#66766c; margin-top:14px; line-height:1.9; }
.work-availability-mascot { display:flex; flex-direction:column; align-items:center; gap:2px; font-size:11px; font-weight:800; text-align:center; }
.work-availability-mascot img { width:140px; }
.work-availability-mascot span { text-decoration:underline; text-underline-offset:3px; }
.work-placeholder { margin-top:26px; padding:24px 26px; background:#fffaf2; border:1px solid #e7dac8; border-radius:14px; }
.work-placeholder h2 { font-size:clamp(22px,3.2vw,34px); margin-bottom:10px; }
.work-placeholder p { margin:0 0 12px; color:#53665c; font-size:13px; line-height:2; }
.work-placeholder-note { font-size:12px !important; color:#a36f48 !important; font-weight:800; }

/* Dandako page */
.dandako-page-hero { overflow:hidden; background:radial-gradient(circle at 75% 38%, #ffe7d0 0%, #fff2e4 42%, #fbf7ef 75%); }
.dandako-page-grid { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); align-items:center; gap:44px; min-height:560px; padding:55px 0 74px; }
.dandako-page-copy h1 { font-size:clamp(38px,5.2vw,70px); letter-spacing:-.065em; line-height:1.4; margin:0 0 22px; }
.dandako-page-copy h1 em { font-style:normal; color:#bf764e; }
.dandako-page-copy>p:not(.section-label){max-width:540px; line-height:2.15; font-size:14px; color:#52655d; }
.dandako-page-copy .dandako-page-lead { font-size:20px!important; color:#244944!important; font-weight:900; }
.dandako-page-copy .explore-button { margin-top:15px; }
.dandako-page-art { position:relative; margin:auto; max-width:490px; width:100%; }
.dandako-page-art::before { content:''; position:absolute; inset:14%; border-radius:50%; background:#f6d9bc; transform:scale(1.17); }
.dandako-page-art img { width:100%; position:relative; filter:drop-shadow(0 21px 13px #9c725526); }
.dandako-page-section { background:#fffaf1; padding:80px 0; }
.dandako-about-grid { display:grid; grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr); align-items:center; gap:55px; }
.dandako-info h2 { font-size:clamp(28px,4vw,43px); margin-bottom:29px; }
.dandako-info dl { margin:0 0 25px; }
.dandako-info dl>div { display:grid; grid-template-columns:130px minmax(0,1fr); gap:12px; padding:15px 0; border-bottom:1px solid #e7dbce; }
.dandako-info dt { font-size:12px; font-weight:900; color:#b3734b; }
.dandako-info dd { margin:0; font-size:14px; font-weight:750; line-height:1.8; }
.dandako-info>p:last-child { font-size:13px; color:#516660; line-height:2.1; }
.dandako-card-image { border-radius:26px; padding:22px; background:#fff; box-shadow:0 14px 35px #34534116; }
.dandako-card-image img { width:100%; border-radius:16px; }
.dandako-cta-section { background:#edf0e7; padding:65px 0; }
.dandako-cta-inner { display:flex; justify-content:space-between; align-items:center; gap:28px; }
.dandako-cta-inner h2 { margin-bottom:10px; font-size:clamp(24px,3vw,37px); }
.dandako-cta-inner p:not(.section-label) { font-size:13px; color:#53665c; margin:0; }
.dandako-cta-links { display:flex; gap:12px; flex-wrap:wrap; align-items:center; }

/* Better Japanese line breaks */
.hero h1,
.section h2,
.about-grid h2,
.partner-heading h2,
.social-layout h2,
.dandako-teaser-copy h2,
.dandako-page-copy h1,
.static-intro h1,
.spot-card h3,
.work-placeholder h2 {
  word-break: keep-all;
  overflow-wrap: normal;
  line-break: strict;
}

@media (max-width:680px) {
 .about-facts p { display:block; padding:5px 0; }
 .about-facts strong { display:block; font-size:10px; }
 .about-facts span { font-size:10.5px; }
 .dandako-teaser-inner { grid-template-columns:minmax(0,1fr); gap:20px; }
 .dandako-teaser-copy h2 { font-size:clamp(20px,6vw,28px); }
 .dandako-teaser-copy p:not(.section-label) { font-size:11px; line-height:1.8; }
 .dandako-teaser-copy .explore-button { font-size:10px; padding:10px 12px; }
 .work-availability { grid-template-columns:minmax(0,1fr); gap:12px; padding:17px; }
 .work-availability-mascot { justify-self:start; flex-direction:row; gap:12px; text-align:left; }
 .work-availability-mascot img { width:80px; }
 .work-availability-mascot span { font-size:10px; }
 .work-availability h2 { font-size:1.07rem; }
 .work-availability-text>p { display:block; font-size:12px; }
 .work-availability-text>p strong { display:inline-block; min-width:42px; }
 .work-availability small, .work-placeholder p { font-size:10px; }
 .work-placeholder { padding:16px; }
 .dandako-page-grid { grid-template-columns:minmax(0,1fr); padding:48px 0 40px; gap:18px; min-height:0; }
 .dandako-page-copy h1 { font-size:clamp(26px,8vw,36px); }
 .dandako-page-copy>p:not(.section-label) { font-size:11px; line-height:1.9; }
 .dandako-page-copy .dandako-page-lead { font-size:13px!important; }
 .dandako-page-copy .explore-button { font-size:10px; padding:10px 12px; }
 .dandako-page-section { padding:48px 0; }
 .dandako-about-grid { grid-template-columns:minmax(0,1fr); gap:20px; align-items:start; }
 .dandako-info h2 { font-size:22px; }
 .dandako-info dl>div { display:block; padding:8px 0; }
 .dandako-info dt,.dandako-info dd { font-size:11px; }
 .dandako-info>p:last-child { font-size:11px; }
 .dandako-card-image { padding:8px; border-radius:12px; }
 .dandako-cta-inner { display:block; }
 .dandako-cta-links { margin-top:18px; }
 .dandako-cta-links a { font-size:11px; padding:10px 13px; }
 
 /* Avoid awkward character-by-character breaks on phones. */
 .about-grid { display:block; }
 .about-copy { padding-top:18px; }
 .section h2 br,
 .dandako-teaser-copy h2 br,
 .dandako-page-copy h1 br,
 .partner-heading h2 br,
 .social-layout h2 br { display:none; }
 .about-grid h2 { overflow-wrap:normal; }
}
@media(max-width:360px){.dandako-page-copy h1{font-size:23px}.dandako-teaser-copy h2{font-size:19px}}
