/*==================================================
PROCTOLINE
Doctor Page
Version 2026
==================================================*/

/*==============================
RESET
==============================*/

*,
*::before,
*::after{
margin:0;
padding:0;
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
-webkit-text-size-adjust:100%;
}

body{
font-family:Inter,Arial,sans-serif;
font-size:16px;
line-height:1.7;
color:#222;
background:#fff;
overflow-x:hidden;
text-rendering:optimizeLegibility;
-webkit-font-smoothing:antialiased;
-moz-osx-font-smoothing:grayscale;
}

img{
display:block;
max-width:100%;
height:auto;
border:0;
}

picture{
display:block;
}

svg{
display:block;
width:100%;
height:100%;
fill:currentColor;
}

a{
color:inherit;
text-decoration:none;
transition:.25s;
}

button{
font:inherit;
cursor:pointer;
border:none;
background:none;
}

ul{
list-style:none;
}

section{
position:relative;
padding:100px 0;
}

:focus-visible{
outline:3px solid #087f5b;
outline-offset:3px;
}
.method-icon svg {
width: 32px;
height: 32px;
display: block;
fill: none;
stroke: currentColor;
stroke-width: 1.8;
stroke-linecap: round;
stroke-linejoin: round;
}
/*==============================
VARIABLES
==============================*/

:root{

--primary:#087f5b;
--primary-dark:#066347;
--primary-light:#dff5ee;

--text:#222;
--text-light:#666;
--white:#fff;

--background:#f7faf9;
--border:#e6ece9;

--shadow:
0 12px 40px rgba(0,0,0,.06);

--radius:22px;

--container:1240px;

--transition:.35s ease;

}

/*==============================
CONTAINER
==============================*/

.container{

width:min(
100% - 40px,
var(--container)
);

margin:auto;

}

/*==============================
TYPOGRAPHY
==============================*/

h1{

font-size:clamp(38px,5vw,62px);

font-weight:800;

line-height:1.08;

letter-spacing:-1px;

margin-bottom:22px;

color:#111;

}

h2{

font-size:clamp(30px,4vw,46px);

line-height:1.15;

font-weight:800;

letter-spacing:-.5px;

margin-bottom:22px;

color:#111;

}

h3{

font-size:22px;

font-weight:700;

margin-bottom:16px;

color:#111;

}

p{

margin-bottom:18px;

color:var(--text-light);

}

strong{

color:#111;

}

.section-header{

max-width:760px;

margin:0 auto 70px;

text-align:center;

}

.section-label{

display:inline-flex;

align-items:center;

gap:10px;

padding:10px 18px;

background:var(--primary-light);

border-radius:100px;

font-size:14px;

font-weight:700;

letter-spacing:.5px;

text-transform:uppercase;

color:var(--primary);

margin-bottom:18px;

}

/*==============================
BUTTONS
==============================*/

.btn{

display:inline-flex;

align-items:center;

justify-content:center;

gap:10px;

min-height:58px;

padding:0 34px;

border-radius:14px;

font-weight:700;

transition:var(--transition);

}

.btn-primary{

background:var(--primary);

color:#fff;

box-shadow:

0 15px 30px rgba(8,127,91,.25);

}

.btn-primary:hover{

transform:translateY(-2px);

background:var(--primary-dark);

}

.btn-secondary{

background:#fff;

border:1px solid var(--border);

}

.btn-secondary:hover{

border-color:var(--primary);

color:var(--primary);

}

/*==============================
HERO
==============================*/

.doctor-hero{

padding-top:70px;

padding-bottom:110px;

background:

linear-gradient(
180deg,
#f7faf9,
#fff
);

overflow:hidden;

}

.doctor-grid{

display:grid;

grid-template-columns:

480px
1fr;

gap:70px;

align-items:center;

}

.doctor-photo{

position:relative;

}

.doctor-photo img{

border-radius:28px;

box-shadow:

0 30px 60px rgba(0,0,0,.12);

}

.hero-label{

display:inline-flex;

padding:12px 18px;

background:var(--primary-light);

border-radius:100px;

font-size:14px;

font-weight:700;

color:var(--primary);

margin-bottom:26px;

}

.doctor-position{

font-size:20px;

font-weight:600;

color:var(--primary);

margin-bottom:28px;

}

.hero-description{

font-size:18px;

line-height:1.9;

margin-bottom:40px;

max-width:760px;

}

.hero-actions{

display:flex;

gap:18px;

flex-wrap:wrap;

margin-top:40px;

}

/*==============================
STATS
==============================*/

.doctor-stats{

display:grid;

grid-template-columns:

repeat(4,1fr);

gap:18px;

margin-top:45px;

}

.stat{

padding:26px;

background:#fff;

border-radius:18px;

box-shadow:var(--shadow);

text-align:center;

border:1px solid var(--border);

}

.stat strong{

display:block;

font-size:34px;

font-weight:800;

color:var(--primary);

margin-bottom:8px;

}

.stat span{

display:block;

font-size:15px;

color:#666;

}

/*==============================
HIGHLIGHTS
==============================*/

.doctor-highlights{

background:var(--background);

}

.highlight-grid{

display:grid;

grid-template-columns:

repeat(4,1fr);

gap:26px;

}

.highlight-card{

background:#fff;

padding:38px;

border-radius:22px;

box-shadow:var(--shadow);

border:1px solid var(--border);

transition:.3s;

}

.highlight-card:hover{

transform:translateY(-8px);

}

.highlight-card h3{

margin-bottom:18px;

}

.highlight-card p{

margin:0;

}

/*==================================================
ABOUT
==================================================*/

.doctor-about{

background:#fff;

}

.about-grid{

display:grid;

grid-template-columns:
2fr
1fr;

gap:50px;

align-items:start;

}

.about-content{

font-size:18px;

}

.about-content p{

margin-bottom:24px;

line-height:1.9;

}

.doctor-card{

position:sticky;

top:30px;

padding:38px;

background:#fff;

border:1px solid var(--border);

border-radius:24px;

box-shadow:var(--shadow);

}

.doctor-card h3{

margin-bottom:28px;

}

.doctor-card ul{

display:flex;

flex-direction:column;

gap:18px;

}

.doctor-card li{

display:flex;

align-items:flex-start;

gap:12px;

font-weight:500;

line-height:1.5;

}

/*==================================================
TIMELINE
==================================================*/

.doctor-career{

background:var(--background);

}

.timeline{

position:relative;

max-width:900px;

margin:auto;

}

.timeline::before{

content:"";

position:absolute;

left:20px;

top:0;

bottom:0;

width:2px;

background:#d9e8e2;

}

.timeline-item{

position:relative;

padding-left:70px;

padding-bottom:45px;

}

.timeline-item:last-child{

padding-bottom:0;

}

.timeline-dot{

position:absolute;

left:10px;

top:4px;

width:22px;

height:22px;

border-radius:50%;

background:var(--primary);

border:5px solid #fff;

box-shadow:0 0 0 2px var(--primary);

}

.timeline-content{

padding:30px;

background:#fff;

border-radius:20px;

border:1px solid var(--border);

box-shadow:var(--shadow);

transition:.35s;

}

.timeline-content:hover{

transform:translateY(-6px);

}

.timeline-content h3{

margin-bottom:14px;

}

.timeline-content p{

margin:0;

}

/*==================================================
SPECIALIZATION
==================================================*/

.doctor-specialization{

background:#fff;

}

.specialization-grid{

display:grid;

grid-template-columns:

repeat(3,1fr);

gap:28px;

}

.spec-card{

padding:36px;

border-radius:22px;

background:#fff;

border:1px solid var(--border);

box-shadow:var(--shadow);

transition:var(--transition);

}

.spec-card:hover{

transform:translateY(-8px);

border-color:var(--primary);

}

.spec-card h3{

color:var(--primary);

margin-bottom:18px;

}

.spec-card p{

margin:0;

}

/*==================================================
METHODS
==================================================*/

.doctor-methods{

background:var(--background);

}

.methods-grid{

display:grid;

grid-template-columns:

repeat(2,1fr);

gap:32px;

}

.method-card{

background:#fff;

padding:40px;

border-radius:26px;

border:1px solid var(--border);

box-shadow:var(--shadow);

transition:.35s;

position:relative;

overflow:hidden;

}

.method-card::before{

content:"";

position:absolute;

left:0;

top:0;

width:100%;

height:4px;

background:var(--primary);

transform:scaleX(0);

transform-origin:left;

transition:.35s;

}

.method-card:hover{

transform:translateY(-8px);

}

.method-card:hover::before{

transform:scaleX(1);

}

.method-icon{

width:70px;

height:70px;

display:flex;

align-items:center;

justify-content:center;

border-radius:18px;

background:var(--primary-light);

color:var(--primary);

margin-bottom:24px;

padding:18px;

}

.method-card h3{

margin-bottom:18px;

}

.method-card ul{

margin-top:24px;

display:flex;

flex-direction:column;

gap:14px;

}

.method-card li{

position:relative;

padding-left:28px;

font-weight:500;

}

.method-card li::before{

content:"";

position:absolute;

left:0;

top:10px;

width:10px;

height:10px;

border-radius:50%;

background:var(--primary);

}

/*==================================================
ADVANTAGES
==================================================*/

.doctor-advantages{

background:#fff;

}

.advantages-grid{

display:grid;

grid-template-columns:

repeat(4,1fr);

gap:28px;

}

.advantage-card{

padding:36px;

background:#fff;

border-radius:24px;

text-align:center;

border:1px solid var(--border);

box-shadow:var(--shadow);

transition:.35s;

}

.advantage-card:hover{

transform:translateY(-8px);

}

.adv-number{

display:block;

font-size:42px;

font-weight:800;

line-height:1;

color:var(--primary);

margin-bottom:18px;

}

.advantage-card h3{

margin-bottom:16px;

}

.advantage-card p{

margin:0;

}

/*==================================================
TRUST
==================================================*/

.doctor-trust{

background:linear-gradient(180deg,#f7faf9,#ffffff);

}

.trust-grid{

display:grid;

grid-template-columns:

repeat(4,1fr);

gap:28px;

}

.trust-card{

padding:36px;

background:#fff;

border-radius:24px;

border:1px solid var(--border);

box-shadow:var(--shadow);

transition:.35s;

text-align:center;

}

.trust-card:hover{

transform:translateY(-8px);

border-color:var(--primary);

}

.trust-icon{

width:84px;

height:84px;

margin:0 auto 24px;

display:flex;

align-items:center;

justify-content:center;

font-size:34px;

background:var(--primary-light);

border-radius:22px;

}

.trust-card h3{

margin-bottom:16px;

}

.trust-card p{

margin:0;

}

/*==================================================
CERTIFICATES
==================================================*/

.doctor-certificates{

background:#fff;

}

.certificate-grid{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:28px;

}

.certificate-card{

display:flex;

flex-direction:column;

overflow:hidden;

background:#fff;

border-radius:24px;

border:1px solid var(--border);

box-shadow:var(--shadow);

transition:.35s;

}

.certificate-card:hover{

transform:translateY(-10px);

}

.certificate-card a{

display:block;

overflow:hidden;

}

.certificate-card img{

width:100%;

aspect-ratio:4/5;

object-fit:cover;

transition:.5s;

}

.certificate-card:hover img{

transform:scale(1.05);

}

.certificate-card figcaption{

padding:28px;

}

.certificate-card h3{

margin-bottom:12px;

font-size:20px;

}

.certificate-card p{

margin:0;

}

/*==================================================
REVIEWS
==================================================*/

.doctor-reviews{

background:var(--background);

}

.reviews-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:30px;

}

.review-card{

background:#fff;

padding:40px;

border-radius:24px;

border:1px solid var(--border);

box-shadow:var(--shadow);

position:relative;

transition:.35s;

}

.review-card:hover{

transform:translateY(-8px);

}

.review-stars{

font-size:22px;

letter-spacing:4px;

color:#f7b500;

margin-bottom:18px;

}

.review-card h3{

margin-bottom:18px;

}

.review-card p{

margin:0;

font-style:italic;

}

.review-card::before{

content:"❝";

position:absolute;

top:24px;

right:28px;

font-size:64px;

line-height:1;

color:#edf5f2;

font-family:Georgia,serif;

}

/*==================================================
FAQ
==================================================*/

.doctor-faq{

background:#fff;

}

.faq-list{

max-width:900px;

margin:auto;

display:flex;

flex-direction:column;

gap:20px;

}

.faq-list details{

border:1px solid var(--border);

border-radius:18px;

background:#fff;

overflow:hidden;

box-shadow:var(--shadow);

}

.faq-list summary{

cursor:pointer;

list-style:none;

padding:26px 70px 26px 28px;

font-size:19px;

font-weight:700;

position:relative;

user-select:none;

transition:.3s;

}

.faq-list summary::-webkit-details-marker{

display:none;

}

.faq-list summary::after{

content:"+";

position:absolute;

right:28px;

top:50%;

transform:translateY(-50%);

font-size:34px;

font-weight:300;

color:var(--primary);

transition:.35s;

}

.faq-list details[open] summary::after{

transform:translateY(-50%) rotate(45deg);

}

.faq-list details>div{

padding:0 28px 28px;

}

.faq-list p{

margin:0;

line-height:1.9;

}

/*==================================================
CTA
==================================================*/

.doctor-cta{

padding:120px 0;

background:linear-gradient(135deg,#087f5b,#0b6b4f);

}

.cta-box{

max-width:900px;

margin:auto;

padding:70px;

border-radius:30px;

background:rgba(255,255,255,.08);

backdrop-filter:blur(12px);

text-align:center;

color:#fff;

}

.cta-box span{

display:inline-block;

padding:10px 18px;

border-radius:100px;

background:rgba(255,255,255,.12);

font-size:14px;

font-weight:700;

text-transform:uppercase;

margin-bottom:24px;

}

.cta-box h2{

color:#fff;

margin-bottom:24px;

}

.cta-box p{

max-width:700px;

margin:0 auto 40px;

color:rgba(255,255,255,.9);

}

.cta-buttons{

display:flex;

justify-content:center;

gap:20px;

flex-wrap:wrap;

}

.cta-box .btn-primary{

background:#fff;

color:var(--primary);

box-shadow:none;

}

.cta-box .btn-primary:hover{

background:#f4f4f4;

}

.cta-box .btn-secondary{

background:transparent;

border:1px solid rgba(255,255,255,.3);

color:#fff;

}

.cta-box .btn-secondary:hover{

background:#fff;

color:var(--primary);

}

/*==================================================
ANIMATIONS
==================================================*/

@keyframes fadeUp{

from{

opacity:0;

transform:translateY(40px);

}

to{

opacity:1;

transform:none;

}

}

.doctor-hero,
.doctor-about,
.doctor-career,
.doctor-specialization,
.doctor-methods,
.doctor-advantages,
.doctor-trust,
.doctor-certificates,
.doctor-reviews,
.doctor-faq,
.doctor-cta{

animation:fadeUp .8s ease both;

}

/*==================================================
RESPONSIVE 1200
==================================================*/

@media (max-width:1200px){

.doctor-grid{

grid-template-columns:420px 1fr;

gap:50px;

}

.highlight-grid,
.advantages-grid,
.trust-grid,
.certificate-grid{

grid-template-columns:repeat(2,1fr);

}

.specialization-grid{

grid-template-columns:repeat(2,1fr);

}

.reviews-grid{

grid-template-columns:repeat(2,1fr);

}

.container{

width:min(100% - 32px,1140px);

}

}

/*==================================================
RESPONSIVE 992
==================================================*/

@media (max-width:992px){

section{

padding:80px 0;

}

.doctor-grid{

grid-template-columns:1fr;

text-align:center;

}

.doctor-photo{

max-width:520px;

margin:auto;

}

.hero-description{

margin-left:auto;

margin-right:auto;

}

.hero-actions{

justify-content:center;

}

.doctor-stats{

grid-template-columns:repeat(2,1fr);

}

.about-grid{

grid-template-columns:1fr;

}

.doctor-card{

position:relative;

top:auto;

}

.methods-grid{

grid-template-columns:1fr;

}

.highlight-grid,

.specialization-grid,

.advantages-grid,

.trust-grid,

.certificate-grid,

.reviews-grid{

grid-template-columns:repeat(2,1fr);

gap:22px;

}

.timeline::before{

left:14px;

}

.timeline-dot{

left:4px;

}

.timeline-item{

padding-left:55px;

}

}

/*==================================================
RESPONSIVE 768
==================================================*/

@media (max-width:768px){

section{

padding:70px 0;

}

.container{

width:min(100% - 24px,100%);

}

h1{

font-size:42px;

line-height:1.15;

}

h2{

font-size:32px;

}

h3{

font-size:22px;

}

.hero-actions{

flex-direction:column;

}

.hero-actions .btn{

width:100%;

}

.doctor-stats{

grid-template-columns:1fr 1fr;

gap:16px;

}

.highlight-grid,

.specialization-grid,

.advantages-grid,

.trust-grid,

.certificate-grid,

.reviews-grid{

grid-template-columns:1fr;

}

.method-card,

.highlight-card,

.spec-card,

.advantage-card,

.trust-card,

.review-card,

.certificate-card{

padding:30px;

}

.cta-box{

padding:45px 30px;

}

.cta-buttons{

flex-direction:column;

}

.cta-buttons .btn{

width:100%;

}

.faq-list summary{

padding:22px 60px 22px 22px;

font-size:17px;

}

}

/*==================================================
RESPONSIVE 576
==================================================*/

@media (max-width:576px){

body{

font-size:15px;

}

section{

padding:60px 0;

}

.section-header{

margin-bottom:45px;

}

.hero-label{

font-size:13px;

}

.doctor-position{

font-size:18px;

}

.hero-description{

font-size:16px;

line-height:1.8;

}

.stat{

padding:20px;

}

.stat strong{

font-size:28px;

}

.method-icon{

width:60px;

height:60px;

padding:14px;

}

.timeline-content{

padding:22px;

}

.review-stars{

font-size:18px;

letter-spacing:2px;

}

.cta-box{

padding:35px 22px;

border-radius:22px;

}

}

/*==================================================
CONTENT VISIBILITY
==================================================*/

.doctor-about,
.doctor-career,
.doctor-specialization,
.doctor-methods,
.doctor-advantages,
.doctor-trust,
.doctor-certificates,
.doctor-reviews,
.doctor-faq{

content-visibility:auto;

contain-intrinsic-size:700px;

}

/*==================================================
SELECTION
==================================================*/

::selection{

background:#087f5b;

color:#fff;

}

/*==================================================
SCROLLBAR
==================================================*/

::-webkit-scrollbar{

width:10px;

height:10px;

}

::-webkit-scrollbar-track{

background:#eef3f1;

}

::-webkit-scrollbar-thumb{

background:#087f5b;

border-radius:20px;

}

::-webkit-scrollbar-thumb:hover{

background:#066347;

}

/*==================================================
PRINT
==================================================*/

@media print{

header,
footer,
.doctor-cta,
.hero-actions{

display:none !important;

}

body{

background:#fff;

color:#000;

}

section{

padding:20px 0;

break-inside:avoid;

}

img{

max-width:100%;

page-break-inside:avoid;

}

}

/*==================================================
REDUCED MOTION
==================================================*/

@media (prefers-reduced-motion:reduce){

*,
*::before,
*::after{

animation:none !important;

transition:none !important;

scroll-behavior:auto !important;

}

}

/*==================================================
DARK MODE (готово на будущее)
==================================================*/

@media (prefers-color-scheme:dark){

body.dark-auto{

background:#121212;

color:#f1f1f1;

}

body.dark-auto .highlight-card,
body.dark-auto .method-card,
body.dark-auto .spec-card,
body.dark-auto .advantage-card,
body.dark-auto .trust-card,
body.dark-auto .review-card,
body.dark-auto .certificate-card,
body.dark-auto .doctor-card,
body.dark-auto .timeline-content{

background:#1b1b1b;

border-color:#303030;

}

body.dark-auto h1,
body.dark-auto h2,
body.dark-auto h3,
body.dark-auto strong{

color:#fff;

}

body.dark-auto p{

color:#d0d0d0;

}

}

/*==================================================
END
==================================================*/