/* Page-scoped brochure layout: keep the shared master page unchanged. */
.dp-page { max-width:1100px; margin:0 auto 48px; background:#211b22; color:#fff; font-size:20px; line-height:1.45; }
.dp-page, .dp-page * { box-sizing:border-box; font-family:"Century Gothic","Avenir Next",Arial,sans-serif; }
.dp-page h1, .dp-page h2, .dp-page h3, .dp-page p { color:inherit; margin:0; }
.dp-page p + p { margin-top:1.15em; }
.dp-cover { position:relative; min-height:0; aspect-ratio:990 / 1400; background:url('/dermopigmentazione/trattamento.jpg') center center / cover no-repeat; display:flex; flex-direction:column; justify-content:space-between; overflow:hidden; }
.dp-cover-title { position:relative; z-index:1; padding:11.5% 4.5% 3%; background:#3c366c; text-align:center; }
.dp-cover-title h1 { font-size:clamp(26px,4.65vw,67px); line-height:1.1; font-weight:900; text-transform:uppercase; letter-spacing:-.045em; }
.dp-cover-title p { margin-top:17px; font-size:clamp(13px,2vw,28px); line-height:1.4; text-transform:uppercase; font-weight:300; letter-spacing:-.035em; }
.dp-wave { position:absolute; left:0; top:calc(100% - 1px); width:100%; height:180px; display:block; }
.dp-cover-claim { position:relative; padding:25px 6% 6%; background:rgba(31,27,58,.68); text-align:center; }
.dp-cover-claim .dp-wave { top:auto; bottom:calc(100% - 1px); height:150px; color:rgba(31,27,58,.68); }
.dp-cover-claim > p:first-of-type { font-size:clamp(20px,3vw,38px); line-height:1.15; text-transform:uppercase; }
.dp-cover-claim strong { display:block; font-size:clamp(36px,5.3vw,66px); font-weight:900; letter-spacing:.01em; }
.dp-cover-claim .dp-tagline { font-size:clamp(14px,1.8vw,23px); line-height:1.9; font-style:italic; text-transform:uppercase; margin-top:28px; }
.dp-sheet { position:relative; padding:8% 9%; background:linear-gradient(rgba(0,0,0,.54),rgba(0,0,0,.54)),url('/dermopigmentazione/trattamento.jpg') center / cover no-repeat; }
.dp-dots::after { content:""; position:absolute; top:22px; left:14px; width:24%; height:70px; background:radial-gradient(circle,rgba(255,255,255,.25) 2px,transparent 3px) 0 0 / 31px 28px; pointer-events:none; }
.dp-page .dp-heading { font-size:26px; line-height:1.35; font-weight:400; text-align:center; background:rgba(62,48,108,.66); padding:15px 22px; margin:0 0 30px; }
.dp-panel { padding:28px 34px; background:rgba(24,23,48,.69); }
.dp-panel ul { padding-left:23px; margin:20px 0 0; list-style-type:square; }
.dp-panel li { padding-left:5px; margin:0 0 17px; }
.dp-panel li:last-child { margin-bottom:0; }
.dp-panel strong { font-weight:500; }
.dp-areas { text-align:center; padding:80px 0 90px; }
.dp-page .dp-areas h2 { font-size:26px; font-weight:400; margin-bottom:24px; }
.dp-areas p { font-weight:800; font-size:34px; line-height:1.25; text-transform:uppercase; }
.dp-techniques { padding-top:7%; padding-bottom:9%; }
.dp-techniques .dp-heading { margin-bottom:50px; }
.dp-treatment { display:grid; grid-template-columns:minmax(0,2.2fr) minmax(0,1fr); gap:16px; margin-top:30px; }
.dp-page .dp-treatment h3 { font-size:22px; line-height:1.4; font-style:italic; font-weight:400; }
.dp-brows .dp-panel p + p { margin-top:65px; }
.dp-treatment-photos { padding:18px; background:rgba(21,38,52,.65); display:flex; flex-direction:column; justify-content:center; gap:18px; }
.dp-treatment-photos img { display:block; width:100%; height:auto; }
.dp-treatment-photos figure { margin:0; width:100%; min-width:0; }
.dp-treatment-photos figcaption { padding:10px 6px; background:rgba(60,54,108,.8); color:#fff; font-size:12px; line-height:1.5; text-align:center; }
.dp-lips { grid-template-columns:1fr 1fr; }
.dp-details .dp-heading:not(:first-child) { margin-top:30px; }
.dp-details .dp-heading { margin-bottom:18px; }
.dp-contact { text-align:center; padding-top:75px; }
.dp-contact a { display:inline-block; color:#fff; border-bottom:2px solid #a996e6; padding:10px 2px; margin-top:8px; text-decoration:none; }
.dp-contact a:hover { color:#d4c7ff; }
.dp-page a:focus-visible { outline:3px solid #d4c7ff; outline-offset:5px; }
.dp-results { position:relative; overflow:hidden; padding:125px 9% 80px; background:linear-gradient(rgba(23,19,36,.85),rgba(31,25,51,.93)),url('/dermopigmentazione/trattamento.jpg') center / cover no-repeat; }
.dp-results-wave { position:absolute; top:-1px; left:0; width:100%; height:85px; }
.dp-results.dp-dots::after { top:auto; left:auto; right:12px; bottom:18px; height:100px; }
.dp-results-heading { text-align:center; margin-bottom:45px; }
.dp-results-heading p { color:#d0c5ed; font-size:14px; letter-spacing:.16em; text-transform:uppercase; }
.dp-page .dp-results h2 { font-size:clamp(32px,4vw,48px); font-weight:800; text-transform:uppercase; margin:12px 0 20px; line-height:1.15; }
.dp-results-heading > span { display:block; width:70px; height:3px; background:#a996e6; margin:auto; }
.dp-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; align-items:start; }
.dp-gallery figure { margin:0; padding:18px 18px 0; background:linear-gradient(145deg,rgba(89,72,132,.48),rgba(23,32,47,.75)); border:1px solid rgba(190,170,231,.25); box-shadow:0 12px 30px rgba(0,0,0,.18); }
.dp-gallery img { width:100%; height:auto; display:block; }
.dp-gallery figcaption { text-align:center; padding:19px 4px 21px; }
.dp-gallery figcaption strong { display:block; color:#fff; font-size:18px; font-weight:400; letter-spacing:.04em; }
.dp-gallery figcaption > span { display:block; margin-top:7px; color:#d0c5ed; font-size:12px; line-height:1.5; }
.dp-pair { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.dp-pair span { display:block; text-align:center; background:rgba(60,54,108,.8); padding:8px 4px; color:#fff; font-size:12px; letter-spacing:.12em; text-transform:uppercase; }
@media (min-width:1400px) { .dp-cover-title h1 { font-size:67px; } }
@media (max-width:767px) {
 .dp-page { font-size:17px; margin-bottom:25px; }
 .dp-cover { min-height:650px; aspect-ratio:auto; background-position:center; }
 .dp-cover-title { padding:45px 12px 25px; }
 .dp-cover-title h1 { font-size:clamp(20px,5.7vw,42px); }
 .dp-cover-title p { font-size:14px; max-width:440px; margin:16px auto 0; }
 .dp-wave { height:85px; }
 .dp-cover-claim { padding:22px 15px 30px; }
 .dp-cover-claim .dp-wave { height:70px; }
 .dp-cover-claim .dp-tagline { font-size:13px; margin-top:18px; }
 .dp-sheet { padding:42px 18px; }
 .dp-page .dp-heading { font-size:21px; padding:15px; margin-bottom:20px; }
 .dp-panel { padding:23px 20px; }
 .dp-areas { padding:45px 0; }
 .dp-page .dp-areas h2 { font-size:22px; }
 .dp-areas p { font-size:28px; }
 .dp-treatment, .dp-lips { grid-template-columns:1fr; gap:0; margin-top:26px; }
 .dp-brows .dp-panel p + p { margin-top:24px; }
 .dp-treatment-photos { flex-direction:row; align-items:center; padding:18px; }
 .dp-treatment-photos figure { max-width:300px; }
 .dp-brows .dp-treatment-photos figure { width:calc(50% - 9px); }
 .dp-contact { padding-top:40px; }
 .dp-results { padding:90px 18px 45px; }
 .dp-results-wave { height:55px; }
 .dp-results-heading { margin-bottom:30px; }
 .dp-results-heading p { font-size:11px; letter-spacing:.12em; }
 .dp-gallery figure { padding:12px 12px 0; }
 .dp-gallery { grid-template-columns:1fr; gap:28px; }
}
