/* Loaded only on Kurashow main pages; sample sites remain untouched. */
body.hidamari.kd-refined { --gray:#4d4d4d; --action:#c72e17; }
body.hidamari.kd-refined .btn, body.hidamari.kd-refined .gnav .btn, body.hidamari.kd-refined .hero-copy .btn, body.hidamari.kd-refined .btn--submit {background:var(--action);color:#fff;}
body.hidamari.kd-refined .btn .arw {color:inherit;}
body.hidamari.kd-refined .btn:hover {background:#a92411;}
body.hidamari.kd-refined .hero-title {font-size:clamp(52px,7.3vw,98px);margin:0 0 30px;}
body.hidamari.kd-refined .kd-location {font-size:14px;font-weight:700;margin:0 0 22px;}
body.hidamari.kd-refined .hero-lead strong {font-size:clamp(27px,3vw,40px);line-height:1.6;}
body.hidamari.kd-refined .hero-lead small {font-size:17px;line-height:1.7;}
body.hidamari.kd-refined .hero-assurance {font-size:14px;}
body.hidamari.kd-refined :is(.reason p,.service p,.incl-item p,.flow p,.sup-item p,.plan-desc,.page-head--sub .page-head-lead,.profile-message-copy) {font-size:16px;line-height:1.85;}
body.hidamari.kd-refined :is(.plan .for,.plan .init,.plan ul,.plan small,.plan-note,.works-note,.cost-note,.field-help,.form-note,.form-reassurance,.kd-privacy-note,.price-list .kd-li p:not(.price),.wf-count) {font-size:14px;line-height:1.8;color:var(--gray);}
body.hidamari.kd-refined .plan h3 {font-family:var(--mincho);font-size:22px;line-height:1.5;text-align:center;margin:0 0 12px;grid-row:1;}
body.hidamari.kd-refined .plan h3 br {display:none;}
body.hidamari.kd-refined .plan .badge {font-size:13px;background:var(--action);}
body.hidamari.kd-refined .plan--premium {background:#fff;border-color:var(--line);}
body.hidamari.kd-refined .plan--premium :is(.price b,.plan-btn .arw) {color:var(--ink);}
body.hidamari.kd-refined .plan--premium .plan-btn {border-color:var(--ink);}
body.hidamari.kd-refined .plan--premium li {border-top-color:var(--line);}
body.hidamari.kd-refined .plan--premium li::before {border-color:var(--ink);}
body.hidamari.kd-refined .plan--rec .plan-btn {background:var(--action);border-color:var(--action);}
body.hidamari.kd-refined .plan-desc {margin:18px 0;}
body.hidamari.kd-refined .svc-for {font-size:16px!important;}
body.hidamari.kd-refined .plan .price b {font-size:36px!important;}
body.hidamari.kd-refined .plan .price .tax {font-size:13px!important;}
body.hidamari.kd-refined .plan .for::after {display:none;}
body.hidamari.kd-refined .plan :is(.price,.init,.for) {text-align:center;}
body.hidamari.kd-refined .plan .init-l {display:inline;}
body.hidamari.kd-refined .price-list h3 {font-size:18px;margin:0;line-height:1.7;}
body.hidamari.kd-refined .flow-support .sec-head {display:flex;flex-direction:column;align-items:flex-start;gap:6px;}
body.hidamari.kd-refined .flow-support .sec-head .kd-heading-ja {font-size:clamp(24px,2.3vw,30px);}
body.hidamari.kd-refined .work-card {background:transparent;border-radius:0;box-shadow:none;color:var(--ink);overflow:visible;}
body.hidamari.kd-refined .work-card::after {display:none;}
body.hidamari.kd-refined .work-card > figure {display:block;border-radius:8px;overflow:hidden;background:var(--paper);}
body.hidamari.kd-refined .work-card img {aspect-ratio:3/2;object-fit:contain;background:var(--paper);}
body.hidamari.kd-refined .work-info {position:static;padding:18px 0 0;display:grid;gap:6px;text-shadow:none;pointer-events:auto;}
body.hidamari.kd-refined .work-name {font-size:18px;color:var(--ink);line-height:1.6;}
body.hidamari.kd-refined .work-role {font-size:14px;color:var(--gray);opacity:1;line-height:1.8;}
body.hidamari.kd-refined .work-role a {display:inline-block;padding:8px 0;text-underline-offset:4px;font-weight:700;}
body.hidamari.kd-refined .works {gap:36px 24px;}
body.hidamari.kd-refined .works-note {margin:0 0 26px;}
body.hidamari.kd-refined .profile-message-head {display:flex;flex-direction:column;align-items:flex-start;gap:8px;}
body.hidamari.kd-refined .profile-message-head .kd-heading-ja {font-size:28px;}
body.hidamari.kd-refined .profile-message {padding:56px 0;}
body.hidamari.kd-refined .contact-form {scroll-margin-top:100px;}
body.hidamari.kd-refined .kd-form-jump {margin:20px 0 0!important;font-family:var(--gothic);font-size:15px!important;}
body.hidamari.kd-refined .kd-form-jump a {display:inline-block;padding:10px 0;text-underline-offset:5px;}
body.hidamari.kd-refined .contact-aside {align-self:start;border:0;}
body.hidamari.kd-refined .contact-form {gap:20px;}
body.hidamari.kd-refined .kd-privacy-note {margin-top:12px;}
body.hidamari.kd-refined .contact-form input::placeholder, body.hidamari.kd-refined .contact-form textarea::placeholder {color:#666;}
body.hidamari.kd-refined :is(a,button,input,select,textarea):focus-visible {outline:3px solid #147a9b;outline-offset:4px;}
@media(min-width:768px){
 body.hidamari.kd-refined .hero-copy {padding-top:56px;}
 body.hidamari.kd-refined .home-plans .plans-wrap {grid-template-columns:1fr;gap:28px;}
 body.hidamari.kd-refined .home-plans .plans-intro {max-width:680px;}
 body.hidamari.kd-refined .home-plans .plans {gap:24px;}
 body.hidamari.kd-refined .home-plans .plan + .plan {border-left:1px solid var(--line);}
 body.hidamari.kd-refined .flow-support {grid-template-columns:1.35fr 1fr;}
 body.hidamari.kd-refined .flow {grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px;}
 body.hidamari.kd-refined .flow .kd-li::before {display:none;}
}
@media(min-width:1500px){body.hidamari.kd-refined .flow {grid-template-columns:repeat(4,minmax(0,1fr));}}
@media(max-width:767px){
 body.hidamari.kd-refined .hero-title {font-size:clamp(48px,13.4vw,70px);margin-bottom:24px;}
 body.hidamari.kd-refined .hero-copy {padding-top:32px;}
 body.hidamari.kd-refined .hero-lead small {font-size:15px;}
 body.hidamari.kd-refined .hero-lead strong {font-size:clamp(26px,6.6vw,32px);}
 body.hidamari.kd-refined .kd-location {font-size:13px;}
 body.hidamari.kd-refined .plans .plan {display:flex;flex-direction:column;padding:36px 22px 24px;gap:0;}
 body.hidamari.kd-refined .plan :is(h3,.for,.price,.init,ul,.plan-desc,.kd-buttons) {width:100%;grid-column:auto;grid-row:auto;}
 body.hidamari.kd-refined .plan .for {margin-bottom:18px;}
 body.hidamari.kd-refined .plan .price b {font-size:36px;}
 body.hidamari.kd-refined .plan ul {padding:0;border-left:0;}
 body.hidamari.kd-refined .plan .init {margin-bottom:20px;}
 body.hidamari.kd-refined .contact-grid {display:flex;flex-direction:column;gap:40px;}
 body.hidamari.kd-refined .contact-form {order:0;width:100%;}
 body.hidamari.kd-refined .contact-aside {order:1;padding:28px 0 0;border-top:1px solid var(--line);width:100%;}
 body.hidamari.kd-refined .contact-aside h2 {font-size:24px;}
 body.hidamari.kd-refined .profile-message-inner.wp-block-columns {display:grid!important;grid-template-columns:1fr;gap:28px;}
 body.hidamari.kd-refined .profile-message {padding:40px 0;}
 body.hidamari.kd-refined .kd-heading-ja {text-wrap:pretty;}
}

/* Shared pricing-card contract: same surfaces, spacing and comparison rows. */
body.hidamari.kd-refined :is(.home-plans,.plans-page) .plan {
 background:#fff; border:1px solid var(--line)!important; border-radius:16px;
 padding:40px 24px 28px; margin-block:0; transform:none; box-shadow:none;
}
body.hidamari.kd-refined :is(.home-plans,.plans-page) .plan--rec {
 border-color:var(--action)!important;
}
body.hidamari.kd-refined :is(.home-plans,.plans-page) .plan h3 {
 font-family:var(--gothic); font-size:21px; font-weight:700; line-height:1.6;
 letter-spacing:.02em; text-align:center; margin:0 0 14px;
}
body.hidamari.kd-refined :is(.home-plans,.plans-page) .plan .for {
 background:var(--paper)!important; color:var(--gray); border-radius:8px;
 font-size:14px; line-height:1.7; text-align:center; padding:10px 8px; margin:0 0 24px;
}
body.hidamari.kd-refined :is(.home-plans,.plans-page) .plan .price {
 font-size:15px; line-height:1.5; margin:0 0 12px; text-align:center;
}
body.hidamari.kd-refined :is(.home-plans,.plans-page) .plan .price b {
 color:var(--ink); font-size:36px!important; font-family:var(--latin); margin:0 3px;
}
body.hidamari.kd-refined :is(.home-plans,.plans-page) .plan .tax {display:inline;font-size:13px!important;}
body.hidamari.kd-refined :is(.home-plans,.plans-page) .plan .init {
 text-align:center; font-size:14px; line-height:1.8; margin:0 0 20px;
}
body.hidamari.kd-refined :is(.home-plans,.plans-page) .plan ul {padding:0;margin:0;border:0;}
body.hidamari.kd-refined :is(.home-plans,.plans-page) .plan li {
 border-top:1px solid var(--line); padding:10px 0 10px 22px; font-size:14px;line-height:1.8;
}
body.hidamari.kd-refined :is(.home-plans,.plans-page) .plan li::before {border-color:var(--ink);top:17px;}
body.hidamari.kd-refined :is(.home-plans,.plans-page) .plan .badge {
 font-size:13px;line-height:1.6;padding:4px 12px;background:var(--action);border-radius:15px 0 8px 0;
}
body.hidamari.kd-refined .plans-page .plan .plan-desc {background:var(--paper);padding:14px;margin:20px 0;}
body.hidamari.kd-refined .plans-page .plan .plan-desc b {color:var(--ink);}
body.hidamari.kd-refined .plans-page .plan .plan-btn {background:#fff;color:var(--ink);border:1px solid var(--ink);}
body.hidamari.kd-refined .plans-page .plan .plan-btn .arw {color:var(--ink);}
body.hidamari.kd-refined .plans-page .plan .plan-btn:hover {background:var(--paper);}
@media(min-width:768px){
 body.hidamari.kd-refined .home-plans .plans {grid-template-rows:repeat(5,auto);align-items:stretch;}
 body.hidamari.kd-refined .home-plans .plan {grid-row:span 5;grid-template-rows:subgrid;row-gap:0;}
 body.hidamari.kd-refined .plans-page .plans {grid-template-rows:repeat(7,auto);align-items:stretch;}
 body.hidamari.kd-refined .plans-page .plan {grid-row:span 7;grid-template-rows:subgrid;row-gap:0;}
}

/* Requested pricing surfaces: orange standard, unboxed short descriptions. */
body.hidamari.kd-refined :is(.home-plans,.plans-page) .plan--rec { background:var(--accent-soft); }
body.hidamari.kd-refined :is(.home-plans,.plans-page) .plan .for { background:transparent!important; border:0; border-radius:0; box-shadow:none; }

/* Plan name and short description share one full-width header band. */
body.hidamari.kd-refined :is(.home-plans,.plans-page) .plan {
 --plan-heading-surface:#f0f0ed;
 padding-top:0;
}
body.hidamari.kd-refined :is(.home-plans,.plans-page) .plan--rec {
 --plan-heading-surface:#ffe0d6;
}
body.hidamari.kd-refined :is(.home-plans,.plans-page) .plan h3 {
 width:auto; margin:0 -24px; padding:40px 20px 10px;
 border-radius:15px 15px 0 0; background:var(--plan-heading-surface);
}
body.hidamari.kd-refined :is(.home-plans,.plans-page) .plan .for {
 width:auto; margin:0 -24px 28px; padding:0 20px 22px;
 background:var(--plan-heading-surface)!important;
 border-bottom:1px solid var(--line); border-radius:0;
}
body.hidamari.kd-refined :is(.home-plans,.plans-page) .plan--rec .for {
 border-bottom-color:#edb5a3;
}

body.hidamari.kd-refined :is(.home-plans,.plans-page) .plan .for { text-wrap:balance; }

/* Restore concise plan cards: features followed by consultation. */
body.hidamari.kd-refined .plans-page .plan .plan-desc {display:none;}
@media(min-width:768px){
body.hidamari.kd-refined .plans-page .plans {grid-template-rows:repeat(6,auto);}
body.hidamari.kd-refined .plans-page .plan {grid-row:span 6;}
body.hidamari.kd-refined .plans-page .plan > .kd-buttons {grid-row:6;margin-top:24px;}
}

/* Same consultation action, same accessible brand treatment. */
body.hidamari.kd-refined .plans-page .plan .plan-btn {background:var(--action);border-color:var(--action);color:#fff;}
body.hidamari.kd-refined .plans-page .plan .plan-btn .arw {color:#fff;}
body.hidamari.kd-refined .plans-page .plan .plan-btn:hover {background:#a92411;border-color:#a92411;color:#fff;}
body.hidamari.kd-refined .plans-page .plan .plan-btn:active {background:#8f2010;border-color:#8f2010;transform:none;}

/* Full-width heading bands inside mobile flex pricing cards. */
@media (max-width: 767px) {
 body.hidamari.kd-refined :is(.home-plans,.plans-page) .plan :is(h3,.for) { align-self: stretch; }
}

/* Representative illustration: keep the supplied face uncropped and undistorted. */
body.hidamari.kd-refined .profile-message-head .kd-representative-icon {
  width: 180px; max-width: 100%; margin: 28px 0 0; padding: 8px;
  background: #fff; border: 1px solid #e5e5e5; border-radius: 50%; overflow: hidden;
}
body.hidamari.kd-refined .kd-representative-icon img {
  display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: contain;
}
@media (max-width: 767px) {
  body.hidamari.kd-refined .profile-message-head .kd-representative-icon { width: 140px; margin-top: 20px; }
}
