/* Authored reading units become separate lines on mobile. */
.brand-banner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:100%;padding:24px 20px;background:#eaf0f7;color:#8b9bae;text-align:center}
.brand-banner-name{font:500 28px/1.2 'Cormorant Garamond',serif;letter-spacing:.16em;text-indent:.16em}
.brand-banner-tagline{font:italic 500 13px/1.5 'Cormorant Garamond',serif;max-width:100%}
footer{background:#eaf0f7;color:#708297;border:0;padding:0 20px 20px;font-size:11px;line-height:1.6}
.hero.hero-wordmark{grid-template-columns:minmax(0,1fr);min-height:0;max-width:760px;padding-block:64px 72px}
main p,main li,main h2,main h3,main strong{word-break:keep-all;overflow-wrap:anywhere;text-wrap:pretty}
main p,main li{white-space:pre-line}
.hero p{font-size:17px;line-height:1.85;margin:28px 0 0;letter-spacing:-.015em}
.hero p .hero-copy-line{display:block;white-space:nowrap}
.head{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:32px;align-items:start}
.head h2{font-size:clamp(36px,4.3vw,54px);line-height:1.15}
.head p{font-size:16px;line-height:1.85;max-width:40em}
[data-t="menuIntro"]:has(.intro-paragraph){white-space:normal}
.intro-paragraph{display:block;white-space:pre-line}
.intro-paragraph+.intro-paragraph{margin-top:12px}
.about-diella-copy p,.treatment-intro p,.director p,.notice p{line-height:1.85;max-width:40em}
.about-diella-copy p{margin-bottom:24px}
.treatment-intro{gap:16px}
.treatment-intro li{padding:24px;gap:16px}
.treatment-intro h3{margin-bottom:10px}
.menu-line{grid-template-columns:minmax(170px,.7fr) 16px minmax(0,1fr);gap:8px}
.menu-line strong,.menu-line p{line-height:1.75;letter-spacing:-.012em}
.menu-line p{font-size:15px}
.step p{font-size:15px;line-height:1.8}
.card li{font-size:15px;line-height:1.85;margin-block:0 18px}
.card li:last-child{margin-bottom:0}
#after li{white-space:normal;word-break:keep-all;line-height:1.85}
.card ul{padding-left:20px}
.notice{padding:24px}
.notice p{font-size:15px;line-height:1.9}
.care-summary{margin:0 0 18px;padding:24px;border:1px solid #cbd8e4;border-radius:16px;background:#f2f6fa}
.care-summary>strong{display:block;margin-bottom:16px;color:#26333e;font-size:18px;line-height:1.5}
.care-summary ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none}
.care-summary li{display:flex;align-items:center;min-height:48px;padding:11px 14px;border:1px solid #d5e0e9;border-radius:12px;background:#fff;color:#465969;font-size:14px;line-height:1.55}
.care-summary li::before{content:'·';margin-right:8px;color:#7697b4;font-weight:700}
.care-summary p{margin:16px 0 0;color:#647687;font-size:14px;line-height:1.75}
.care-item-label{display:block;margin-bottom:5px;color:#2f3b45;font-size:15px;line-height:1.5}
.jp-care-library{margin-top:28px;padding-top:30px;border-top:1px solid #d5e0e9}
.jp-care-library[hidden]{display:none!important}
.jp-care-head{margin-bottom:18px}
.jp-care-head>span{display:block;margin-bottom:8px;color:#7895ae;font-size:11px;font-weight:700;letter-spacing:.16em}
.jp-care-head h3{margin:0 0 8px;color:#293641;font:500 30px/1.25 'Cormorant Garamond','Noto Serif JP',serif}
.jp-care-head p{margin:0;color:#647687;font-size:14px;line-height:1.7}
.jp-care-list{display:grid;gap:10px}
.jp-care-item{overflow:hidden;border:1px solid #cbd8e4;border-radius:14px;background:#fff}
.jp-care-item summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 20px;cursor:pointer;list-style:none}
.jp-care-item summary::-webkit-details-marker{display:none}
.jp-care-item summary span{display:grid;gap:3px}
.jp-care-item summary small{color:#7895ae;font-size:11px;line-height:1.4;letter-spacing:.08em}
.jp-care-item summary b{color:#2f3b45;font-size:16px;line-height:1.55}
.jp-care-item summary i{color:#7895ae;font-size:22px;font-style:normal;font-weight:300;transition:transform .2s ease}
.jp-care-item[open] summary i{transform:rotate(45deg)}
.jp-care-image{padding:0 20px 20px}
.jp-care-image img{display:block;width:min(100%,720px);height:auto;margin-inline:auto;border-radius:10px;background:#f4f1ee}
.director p{font-size:15px}
.profile-resume .resume-row{padding-block:16px}
.profile-resume .resume-row>ul>li{line-height:1.8;margin-bottom:8px}
.visitbox p{font-size:16px;line-height:1.8}
.channel-card p{font-size:14px;line-height:1.7}
.portfolio-card figcaption{flex-wrap:wrap;gap:5px 14px}
@media(max-width:820px){
  .hero.hero-wordmark{padding-block:44px 56px}
  .head,.schedule .head{grid-template-columns:1fr;gap:18px;margin-bottom:32px}
  .head h2,.schedule .head h2{font-size:38px;line-height:1.18}
  .hero{gap:36px;padding-block:44px 56px}
  .hero h1{font-size:clamp(38px,9.7vw,62px);line-height:1.06}
  .hero h1 em{white-space:normal}
  .hero .actions{margin-top:28px}
  .about-diella-layout{gap:30px}
  #services .head,#portfolio .head{gap:14px;margin-bottom:24px}
  #services .head p,#portfolio .head p,.about-diella-copy p{line-height:1.75}
  .about-diella-copy h2{margin-bottom:20px}
  .about-diella-copy p{margin-bottom:14px}
  .about-diella-copy .brand-signature{margin-top:20px}
  .intro-paragraph+.intro-paragraph{margin-top:10px}
}
@media(max-width:540px){
  section{padding-block:60px}
  .shell{width:calc(100% - 36px)}
  .hero h1{font-size:clamp(37px,11.3vw,49px);line-height:1.06;margin:20px 0}
  .hero p{font-size:16px;line-height:1.9;margin-top:24px}
  .head h2,.schedule .head h2{font-size:34px;line-height:1.2}
  .head p,.about-diella-copy p{font-size:15px;line-height:1.9}
  #about,#services,#portfolio{padding-block:44px}
  #services .head p,#portfolio .head p,.about-diella-copy p{line-height:1.75}
  .menu-section{padding:24px 0;gap:14px}
  .menu-category{gap:12px}
  .menu-category h3{font-size:25px;line-height:1.4}
  .menu-line{grid-template-columns:1fr;gap:6px;padding-block:16px}
  .menu-line strong{font-size:15px;line-height:1.65}
  .menu-line strong::after{content:' :';color:var(--rose);font-weight:400}
  .menu-colon{display:none}
  .menu-line p{font-size:14px;line-height:1.8}
  .treatment-intro li{grid-template-columns:28px minmax(0,1fr);padding:20px 16px;gap:12px}
  .treatment-intro .intro-number{width:28px;height:28px;font-size:21px}
  .treatment-intro h3{font-size:15px;line-height:1.65}
  .treatment-intro p,.step p,.card li,.notice p{font-size:14px;line-height:1.9}
  .card{padding:24px 20px}
  .notice{padding:22px 20px}
  .care-summary{padding:20px 18px}
  .care-summary ul{grid-template-columns:1fr;gap:8px}
  .care-summary li{min-height:0;font-size:14px}
  .care-summary p{font-size:14px;line-height:1.8}
  .jp-care-library{margin-top:22px;padding-top:24px}
  .jp-care-head h3{font-size:26px}
  .jp-care-item summary{padding:15px 16px}
  .jp-care-item summary b{font-size:15px}
  .jp-care-image{padding:0 10px 10px}
  .jp-care-image img{border-radius:8px}
  .profile-resume .resume-row{gap:8px;padding-block:17px}
  .profile-resume .resume-row>span{font-size:13px;letter-spacing:.04em}
  .profile-resume .resume-row>ul>li{font-size:14px;line-height:1.85}
  .visitbox{padding:24px 20px}
}
@media(max-width:360px){.shell{width:calc(100% - 28px)}.hero p{font-size:15px}.hero p .hero-copy-line{white-space:normal}}

/* Let body copy fill its column naturally; keep paragraph breaks compact. */
main p.balanced-copy{width:100%;max-width:none;white-space:normal;text-align:justify;text-align-last:start;text-justify:auto;text-wrap:wrap;word-break:normal;overflow-wrap:break-word;line-height:1.75;letter-spacing:0;word-spacing:normal}
html[lang="ko"] main p.balanced-copy{text-justify:inter-character}
.balanced-copy .intro-paragraph{white-space:normal}
.balanced-copy .intro-paragraph+.intro-paragraph{margin-top:12px}
.responsive-copy,.responsive-copy .intro-paragraph{white-space:normal}
.copy-line{display:inline;white-space:normal}
#about,#services,#portfolio,#process,#guide,#profile{padding-block:72px}
@media(max-width:820px){
  #services .head,#portfolio .head,#process .head,#guide .head{gap:14px;margin-bottom:24px}
  .treatment-intro{margin-bottom:32px}
  .about-diella-layout{gap:24px}
}
@media(max-width:540px){
  #about,#services,#portfolio,#process,#guide,#profile{padding-block:44px}
  .balanced-copy .intro-paragraph+.intro-paragraph{margin-top:10px}
  main p.balanced-copy{line-height:1.7}
}

/* Mobile reading rhythm: normal word spacing, complete words and compact
   paragraphs across the entire site, including booking instructions. */
@media(max-width:820px){
  main p.balanced-copy{
    text-align:start;text-align-last:auto;text-justify:none;
    word-break:keep-all;overflow-wrap:break-word;
    letter-spacing:0;word-spacing:normal;line-height:1.8
  }
  html[lang="ko"] main p.balanced-copy{text-justify:none}
  main p,main li,main h2,main h3,main strong,main figcaption{
    word-break:keep-all;overflow-wrap:break-word;text-wrap:pretty
  }
  .responsive-copy .copy-line{display:block;text-wrap:pretty}
  .responsive-copy .intro-paragraph+.intro-paragraph{margin-top:12px}
  .about-diella-copy p{margin-bottom:18px}
  .about-diella-copy .brand-signature{margin-top:22px;margin-bottom:0}
  .hero p .hero-copy-line{white-space:normal;word-break:keep-all;text-wrap:pretty}
  #before li{white-space:pre-line;line-height:1.8;margin-bottom:16px}
  #after li{white-space:normal;word-break:keep-all;text-wrap:pretty;line-height:1.8}
  .profile-resume .resume-row>ul>li{word-break:keep-all;overflow-wrap:break-word;text-wrap:pretty}
  .head h2,.treatment-intro h3,.step h3{text-wrap:balance}
}

/* Preserve the owner's exact paragraph and line breaks at every viewport. */
html[lang="ko"] main p.verbatim-copy{text-align:start;text-align-last:auto;text-justify:none;word-break:keep-all;overflow-wrap:break-word;word-spacing:normal;line-height:1.8}
.verbatim-copy .copy-line{display:block;white-space:normal;word-break:keep-all}
/* Keep all process cards on the same typography and spacing rhythm. */
#process .treatment-intro p.balanced-copy{text-align:start;text-align-last:auto;text-justify:none;word-break:keep-all;overflow-wrap:break-word;line-height:1.8}
#process .treatment-intro h3{margin-top:0}
