/* v08 service/SNS additions. Shared AI typography, tabs and rhythm remain authoritative. */
.unified-page.service-page .section-anchor,.unified-page.sns-page .section-anchor{display:block;scroll-margin-top:35px}
.unified-page.service-page .idea-tabs button,.unified-page.sns-page .idea-tabs button{grid-template-columns:90px minmax(0,1fr);column-gap:12px}
.unified-page.service-page .idea-tabs .choice-character,.unified-page.sns-page .idea-tabs .choice-character{width:90px;height:110px}
.unified-page.service-page .idea-tabs .choice-character img,.unified-page.sns-page .idea-tabs .choice-character img{left:0;bottom:0;width:90px;height:110px;max-width:100%;object-fit:contain;object-position:center bottom;transform:rotate(-3deg)}
.unified-page.service-page .idea-tabs button>span:last-child,.unified-page.sns-page .idea-tabs button>span:last-child{min-width:0;position:relative;z-index:2}
.unified-page.service-page .idea-tabs button:hover .choice-character img,.unified-page.sns-page .idea-tabs button:hover .choice-character img{transform:translateY(-5px) rotate(-3deg)}
.unified-page.service-page .idea-panel-copy>p:not(.step-label),.unified-page.sns-page .idea-panel-copy>p:not(.step-label){font-size:16px;line-height:1.9}
.unified-page.service-page .idea-panel-copy .panel-note{font-size:13px!important;line-height:1.85;margin-top:15px;padding-top:14px;border-top:1px solid #21452d3d}
.unified-page.service-page .story-scene>img,.unified-page.sns-page .story-scene>img{object-fit:contain;background:#fffef7}
.unified-page.service-page .story-scene,.unified-page.sns-page .story-scene{background:#fffef7}
.unified-page.service-page .service-social-art,.unified-page.sns-page .service-social-art{align-self:center;margin-bottom:38px}
.unified-page.service-page .service-social-frame,.unified-page.sns-page .service-social-frame{border:3px solid var(--deep);border-radius:35% 40% 24% 28%/30% 36% 23% 30%;overflow:hidden;background:var(--white);box-shadow:-9px 12px 0 var(--pod);transform:rotate(-3deg)}
.unified-page.service-page .service-social-frame>img,.unified-page.sns-page .service-social-frame>img{width:100%;height:auto;aspect-ratio:1.55;object-fit:cover}
.unified-page.service-page .making-steps,.unified-page.sns-page .making-steps{list-style:none;margin:28px 0 0;padding:0;border-top:2px solid var(--deep)}
.unified-page.service-page .making-steps>li,.unified-page.sns-page .making-steps>li{display:grid;grid-template-columns:45px minmax(0,1fr);gap:18px;padding:19px 0;border-bottom:1px solid #21452d40}
.unified-page.service-page .making-step-number,.unified-page.sns-page .making-step-number{font:600 28px/1.5 var(--latin);color:var(--pod)}
.unified-page.service-page .making-steps h3,.unified-page.sns-page .making-steps h3{font-size:22px;line-height:1.5;margin:0 0 7px}
.unified-page.service-page .making-steps p,.unified-page.sns-page .making-steps p{font-size:15px;line-height:1.85}
.unified-page.service-page .service-works{background:var(--white)}
.unified-page.service-page .film-work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.unified-page.service-page .film-work{display:flex;flex-direction:column;min-width:0;background:var(--bean);border:2px solid var(--deep);border-radius:22px 32px 28px 22px;overflow:hidden;box-shadow:5px 6px 0 #bdd782;transition:transform .2s,box-shadow .2s}
.unified-page.service-page .film-work:hover{transform:translateY(-5px);box-shadow:5px 11px 0 #bdd782}
.unified-page.service-page .film-work-image{position:relative;aspect-ratio:16/9;overflow:hidden;border-bottom:2px solid var(--deep);background:#d4e8b5}
.unified-page.service-page .film-work-image>img{width:100%;height:100%;object-fit:cover}
.unified-page.service-page .film-play{position:absolute;right:15px;bottom:13px;display:grid;place-items:center;width:43px;height:43px;background:var(--yellow);border:2px solid var(--deep);border-radius:50%;font:17px/1 Arial;box-shadow:2px 3px 0 var(--deep)}
.unified-page.service-page .film-title-art{height:100%;padding:20px 26px;display:flex;align-items:center;background:var(--pod);color:var(--white)}
.unified-page.service-page .film-title-art>span{font-family:var(--display);font-size:clamp(23px,2.3vw,34px);line-height:1.5;transform:rotate(-4deg)}
.unified-page.service-page .film-work-copy{display:flex;flex-direction:column;flex:1;padding:21px 22px 23px}
.unified-page.service-page .film-work-copy .step-label{font-size:11px;letter-spacing:.1em}
.unified-page.service-page .film-work h3{font-size:19px;line-height:1.6;margin:10px 0 20px;overflow-wrap:anywhere}
.unified-page.service-page .film-work-link{font-size:13px;font-weight:700;margin-top:auto;align-self:flex-end}
.unified-page.service-page .works-more{display:flex;justify-content:flex-end;margin-top:22px}
.unified-page.service-page .service-pricing{margin-top:0}
.unified-page.service-page .service-price-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center}
.unified-page.service-page .service-price-scene{position:relative;border:3px solid var(--deep);border-radius:25px 42px 38px 28px;overflow:hidden;background:var(--white);box-shadow:7px 9px 0 #b1ce7a;transform:rotate(-2deg)}
.unified-page.service-page .service-price-scene img{width:100%;height:auto;aspect-ratio:1.55;object-fit:cover}
.unified-page.service-page .service-price-scene figcaption{padding:13px 20px;background:var(--white);border-top:2px solid var(--deep);font-family:var(--display);font-size:17px;text-align:center}
.unified-page.service-page .service-price-ticket{padding:33px;background:var(--white);border:3px solid var(--deep);border-radius:32px 26px 38px 25px;box-shadow:6px 8px 0 var(--deep);transform:rotate(1deg)}
.unified-page.service-page .service-price-ticket .eyebrow{font-family:var(--body);letter-spacing:0;font-size:14px;line-height:1.8}
.unified-page.service-page .service-price{display:flex;align-items:baseline;gap:12px;line-height:1.1;margin:14px 0 22px;color:var(--pod)}
.unified-page.service-page .service-price strong{font:600 116px/1 var(--latin);letter-spacing:-.055em}
.unified-page.service-page .service-price span{font-family:var(--display);font-size:29px}
.unified-page.service-page .price-includes{font-size:16px;font-weight:700;border-bottom:1px solid #21452d40;padding-bottom:20px}
.unified-page.service-page .price-note{font-size:13px;line-height:1.85;margin:18px 0 24px}
.unified-page.service-page .service-price-ticket .button{font-size:14px;gap:18px;width:100%}
.unified-page.sns-page .line-making{background:var(--white);border-radius:5% 6% 0 0/45px 50px 0 0}
.unified-page.sns-page .line-making .section-heading{align-items:flex-start}
.unified-page.sns-page .line-title-piece{display:inline-block}
.unified-page.sns-page .line-atelier{position:relative;border:3px solid var(--deep);border-radius:35px 48px 45px 32px;box-shadow:9px 11px 0 #bfd982;background:var(--bean);margin:10px 0 50px;overflow:hidden}
.unified-page.sns-page .line-atelier>img{width:100%;height:auto}
.unified-page.sns-page .line-atelier figcaption{position:absolute;bottom:25px;left:28px;padding:9px 22px;background:var(--yellow);border:2px solid var(--deep);border-radius:10px 25px 22px 10px;box-shadow:4px 5px 0 var(--deep);font-family:var(--display);font-size:25px;transform:rotate(-3deg)}
.unified-page.sns-page .line-detail-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:27px}
.unified-page.sns-page .line-detail-heading h3{font-size:38px;line-height:1.4;transform:rotate(-2deg)}
.unified-page.sns-page .line-detail-heading em{color:var(--pod)}
.unified-page.sns-page .line-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;gap:25px;margin:0;padding:0}
.unified-page.sns-page .line-details>li{padding:28px;background:var(--bean);border:2px solid var(--deep);border-radius:24px 32px 25px 20px;box-shadow:4px 5px 0 #bed985}
.unified-page.sns-page .line-details h3{font-size:27px;line-height:1.5;margin:16px 0}
.unified-page.sns-page .line-details p{font-size:16px;line-height:1.9}
.unified-page.sns-page .line-consult{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:33px}
.unified-page.sns-page .line-consult p{font-size:14px;line-height:1.85}
.unified-page.sns-page .line-consult .button{flex-shrink:0}
@media(max-width:1050px){
  .unified-page.service-page .film-work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
  .unified-page.service-page .service-price-layout{gap:28px;grid-template-columns:1fr 1fr}
  .unified-page.service-page .service-price-ticket{padding:25px}
  .unified-page.service-page .service-price strong{font-size:100px}
  .unified-page.sns-page .line-details{gap:18px}
  .unified-page.sns-page .line-details>li{padding:23px}
  .unified-page.sns-page .line-details h3{font-size:24px}
}
@media(max-width:760px){
  .unified-page.service-page .idea-tabs .choice-character,.unified-page.sns-page .idea-tabs .choice-character{top:-18px;width:84px;height:89px}
  .unified-page.service-page .idea-tabs .choice-character img,.unified-page.sns-page .idea-tabs .choice-character img{width:84px;height:89px;left:0;bottom:0}
  .unified-page.service-page .service-social-art,.unified-page.sns-page .service-social-art{margin-bottom:30px}
  .unified-page.service-page .service-social-frame,.unified-page.sns-page .service-social-frame{border-radius:30% 35% 23% 27%/27% 30% 23% 26%;box-shadow:-6px 8px 0 var(--pod)}
  .unified-page.service-page .making-steps,.unified-page.sns-page .making-steps{margin-top:24px}
  .unified-page.service-page .making-steps>li,.unified-page.sns-page .making-steps>li{grid-template-columns:37px minmax(0,1fr);gap:14px;padding:18px 0}
  .unified-page.service-page .making-steps h3,.unified-page.sns-page .making-steps h3{font-size:23px}
  .unified-page.service-page .service-price-layout{grid-template-columns:1fr;gap:33px}
  .unified-page.service-page .service-price-ticket{padding:28px;transform:none}
  .unified-page.service-page .service-price-scene figcaption{font-size:15px;padding:11px}
  .unified-page.service-page .service-price strong{font-size:105px}
  .unified-page.service-page .service-price-ticket .button{width:auto}
  .unified-page.sns-page .line-making{border-radius:30px 35px 0 0}
  .unified-page.sns-page .line-atelier{margin:0 0 35px;border-radius:22px 30px 26px 23px;box-shadow:5px 7px 0 #bfd982}
  .unified-page.sns-page .line-atelier figcaption{position:static;font-size:18px;border:0;border-top:2px solid var(--deep);border-radius:0;box-shadow:none;transform:none;padding:10px 15px;text-align:center}
  .unified-page.sns-page .line-detail-heading{display:block;margin-bottom:24px}
  .unified-page.sns-page .line-detail-heading h3{font-size:32px;margin-top:16px}
  .unified-page.sns-page .line-details{grid-template-columns:1fr;gap:22px}
  .unified-page.sns-page .line-details>li{padding:26px}
  .unified-page.sns-page .line-details h3{font-size:27px;margin:13px 0}
  .unified-page.sns-page .line-details h3 br{display:initial}
  .unified-page.sns-page .line-consult{align-items:flex-start;flex-direction:column;gap:22px}
}
@media(max-width:500px){
  .unified-page.service-page .idea-tabs .choice-character,.unified-page.sns-page .idea-tabs .choice-character{top:-18px;width:79px;height:83px}
  .unified-page.service-page .idea-tabs .choice-character img,.unified-page.sns-page .idea-tabs .choice-character img{width:79px;height:83px}
  .unified-page.service-page .film-work-grid{grid-template-columns:1fr;gap:26px}
  .unified-page.service-page .film-work-copy{padding:20px 22px}
  .unified-page.service-page .film-work h3{font-size:20px;margin-bottom:16px}
  .unified-page.service-page .film-title-art>span{font-size:34px}
  .unified-page.service-page .works-more{justify-content:flex-start}
  .unified-page.service-page .service-price-ticket{padding:24px}
  .unified-page.service-page .service-price-ticket .button{width:100%}
  .unified-page.service-page .price-includes{font-size:15px}
  .unified-page.sns-page .line-detail-heading h3{font-size:29px}
}
@media(prefers-reduced-motion:reduce){.unified-page.service-page .film-work{transition:none}.unified-page.service-page .film-work:hover{transform:none}}
.unified-page.service-page.motion-paused .film-work,.motion-paused .unified-page.service-page .film-work{transition:none}
