
.otchetnik-page{background:linear-gradient(180deg,#FFF7EF 0%,#fff 52%,#FFF7EF 100%)}
.nav .current{color:var(--blue);font-weight:700}

.ot-hero{
  position:relative;min-height:720px;overflow:hidden;
  display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,46%);
  align-items:stretch;padding:128px clamp(28px,5vw,86px) 0;
  background:
    radial-gradient(circle at 74% 24%,rgba(244,200,106,.28),transparent 36%),
    linear-gradient(100deg,#FFF7EF 0%,#FFF7EF 48%,#F8EBDD 100%);
}
.ot-ghost{
  position:absolute;left:10%;top:88px;z-index:0;
  font-family:"DM Serif Display",serif;font-size:clamp(120px,19vw,310px);
  color:rgba(91,58,41,.035);letter-spacing:.03em;pointer-events:none
}
.ot-hero-copy{position:relative;z-index:2;align-self:center;padding:40px 0 92px;max-width:620px}
.ot-hero h1{font-size:clamp(66px,8.2vw,122px);color:#111E45;line-height:.78}
.ot-date{font-family:"DM Serif Display",serif;font-size:clamp(25px,2.6vw,40px);color:var(--blue);margin:28px 0 16px}
.ot-lead{font-size:16px;line-height:1.7;margin:0 0 30px}
.ot-hero-btn{width:auto}
.ot-hero-image{position:relative;z-index:1;min-height:590px;align-self:end;overflow:hidden}
.ot-hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#FFF7EF 0%,rgba(255,247,239,.18) 22%,transparent 48%)}
.ot-hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 20%;border-radius:60px 0 0 0}
.ot-wave{position:absolute;left:0;right:42%;bottom:18px;height:95px;opacity:.32;background:repeating-radial-gradient(ellipse at 20% 100%,transparent 0 22px,rgba(233,177,90,.8) 23px 24px,transparent 25px 32px)}

.ot-content{display:grid;grid-template-columns:minmax(260px,.36fr) minmax(0,1fr);gap:16px;align-items:start}
.ot-about,.ot-atmosphere,.ot-cta-card{
  background:rgba(255,255,255,.70);border-radius:var(--radius-lg);
  box-shadow:0 18px 60px rgba(35,40,51,.06);border:1px solid rgba(91,58,41,.05)
}
.ot-about{padding:30px 30px 26px;position:sticky;top:110px}
.ot-about h2,.ot-atmosphere h2,.ot-cta h2{font-size:clamp(34px,3vw,52px);color:#111E45;line-height:1}
.ot-about p{margin:11px 0;line-height:1.58;font-size:14px}
.ot-line{display:block;width:42px;height:2px;background:var(--amber);margin:15px 0 14px}

.ot-gallery{columns:4;column-gap:8px}
.ot-photo{display:block;width:100%;padding:0;border:0;background:none;margin:0 0 8px;break-inside:avoid;overflow:hidden;border-radius:9px;cursor:zoom-in}
.ot-photo img{width:100%;height:auto;display:block;transition:transform .28s ease}
.ot-photo:hover img{transform:scale(1.025)}
.ot-empty{padding:50px;text-align:center;color:#6f6a63;background:#fff;border-radius:24px}

.ot-atmosphere{margin:0 clamp(28px,5vw,86px);padding:34px 42px 30px}
.ot-atmosphere h2{font-size:40px}
.ot-quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.ot-quotes blockquote{position:relative;margin:0;padding:14px 34px 8px 54px;font-family:"DM Serif Display",serif;font-size:20px;line-height:1.35;color:#20243a;border-right:1px solid rgba(233,177,90,.48)}
.ot-quotes blockquote:last-child{border-right:0}
.ot-quotes blockquote:before{content:"“";position:absolute;left:16px;top:3px;font-size:50px;line-height:1;color:var(--amber)}

.ot-cta{padding-top:26px}
.ot-cta-card{
  position:relative;overflow:hidden;display:grid;grid-template-columns:1fr auto;
  align-items:center;gap:40px;padding:34px clamp(34px,6vw,92px);
  background:linear-gradient(90deg,#FFF1DF,#FFF9F2)
}
.ot-cta-card:before,.ot-cta-card:after{content:"";position:absolute;width:310px;height:120px;border:1px solid rgba(233,177,90,.38);border-radius:50%;transform:rotate(-8deg)}
.ot-cta-card:before{left:-120px;bottom:-42px}.ot-cta-card:after{right:-125px;bottom:-50px}
.ot-cta-copy{position:relative;z-index:1}
.ot-cta-copy p{margin:8px 0;font-size:14px}
.ot-cta .btn{position:relative;z-index:1;max-width:420px}

.ot-lightbox{position:fixed;z-index:100;inset:0;display:none;align-items:center;justify-content:center;background:rgba(10,12,18,.94);padding:24px}
.ot-lightbox.open{display:flex}
.ot-lightbox img{max-width:92vw;max-height:88vh;object-fit:contain}
.ot-close,.ot-prev,.ot-next{position:absolute;border:0;background:rgba(255,255,255,.1);color:#fff;width:48px;height:48px;border-radius:50%;font-size:34px;cursor:pointer}
.ot-close{right:24px;top:20px}.ot-prev{left:20px;top:50%}.ot-next{right:20px;top:50%}
.ot-counter{position:absolute;bottom:18px;color:#fff;font-size:13px}

@media(max-width:1180px){
  .ot-gallery{columns:3}
  .ot-content{grid-template-columns:300px 1fr}
}
@media(max-width:980px){
  .ot-hero{min-height:760px;grid-template-columns:1fr;padding:110px 20px 0}
  .ot-hero-copy{padding-bottom:30px;max-width:54%;align-self:start}
  .ot-hero h1{font-size:58px}
  .ot-hero-image{position:absolute;right:0;bottom:0;width:58%;height:75%;min-height:0}
  .ot-hero-image img{border-radius:42px 0 0 0}
  .ot-content{grid-template-columns:1fr}
  .ot-about{position:static}
  .ot-gallery{columns:3}
  .ot-quotes{grid-template-columns:1fr}
  .ot-quotes blockquote{border-right:0;border-bottom:1px solid rgba(233,177,90,.38);padding-bottom:22px}
  .ot-quotes blockquote:last-child{border-bottom:0}
  .ot-cta-card{grid-template-columns:1fr}
}
@media(max-width:640px){
  .ot-hero{min-height:690px;padding:96px 16px 0;display:block}
  .ot-ghost{font-size:105px;top:95px;left:-10px}
  .ot-hero-copy{max-width:56%;padding-top:24px;position:relative;z-index:3}
  .ot-hero h1{font-size:45px;line-height:.88}
  .ot-date{font-size:22px;margin:16px 0 10px}
  .ot-lead{font-size:12px;line-height:1.6}
  .ot-hero-btn{width:100%;min-height:48px;padding:0 15px;font-size:11px}
  .ot-hero-image{width:62%;height:78%}
  .ot-content{padding:20px 12px 42px}
  .ot-about{padding:22px 20px}
  .ot-about h2{font-size:32px}
  .ot-about p{font-size:13px}
  .ot-gallery{columns:2;column-gap:5px}
  .ot-photo{margin-bottom:5px;border-radius:6px}
  .ot-atmosphere{margin:0 12px;padding:24px 20px}
  .ot-atmosphere h2{font-size:31px}
  .ot-quotes blockquote{font-size:16px;padding-left:42px}
  .ot-cta{padding:18px 12px 50px}
  .ot-cta-card{padding:28px 22px;gap:22px}
  .ot-cta h2{font-size:34px}
  .ot-cta .btn{width:100%;font-size:11px;padding:0 18px}
  .ot-prev,.ot-next{display:none}
}
