/* Front page (2026 redesign), loaded instead of main.css by front-page.php. Desktop values are the tested design;
   the media queries at the end adapt it to tablets and phones. */

@font-face{font-family:"CaslonGraD";src:url(../fonts/caslongrad.woff2) format("woff2"),url(../fonts/caslongrad.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Rokkitt";src:url(../fonts/Rokkitt-Regular.woff2) format("woff2"),url(../fonts/Rokkitt-Regular.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Rokkitt";src:url(../fonts/Rokkitt-Medium.woff2) format("woff2"),url(../fonts/Rokkitt-Medium.woff) format("woff");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Rokkitt";src:url(../fonts/Rokkitt-Bold.woff2) format("woff2"),url(../fonts/Rokkitt-Bold.woff) format("woff");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Libre Caslon Text";src:url(../fonts/LibreCaslonText-Italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}

*{box-sizing:border-box;margin:0;padding:0}
body{position:relative;font-family:"Rokkitt",sans-serif;font-size:14px;-webkit-font-smoothing:antialiased;padding-top:58px;background:#fff;color:#000}
body:has(.review-dialog[open]){overflow:hidden}
a{color:inherit;text-decoration:none}
img{display:block}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
[hidden]{display:none!important}
:focus-visible{outline:2px solid #C4505F;outline-offset:3px}
.container{max-width:1280px;width:100%;margin:0 auto;padding:0 40px}

/* header + hero */
.header{height:58px;margin-bottom:70px}
.header-content{display:flex;align-items:center;justify-content:space-between;height:100%}
.header-logo{width:134px}
.header-logo img{width:100%;height:auto}
.header-nav{display:flex}
.header-nav a{font-weight:700;font-size:20px;line-height:23px;color:#404040;transition:color .2s}
.header-nav a:not(:last-child){margin-right:60px}
.header-nav a:hover{color:#C4505F}
.header-burger{display:none}
.section:not(:last-child){margin-bottom:112px}
.description-wrap{display:flex;align-items:center;gap:80px}
.description-content{flex:1;min-width:0}
.description-title{font-family:"CaslonGraD",sans-serif;font-weight:400;font-size:64px;line-height:1.08;margin-bottom:32px;max-width:680px;text-wrap:balance}
.description-text{font-weight:400;font-size:26px;line-height:1.24;letter-spacing:-.01em;color:#3A3A3A;max-width:560px}
.hero-actions{display:flex;align-items:center;gap:28px;margin-top:40px}
.btn{display:inline-flex;align-items:center;gap:12px;height:54px;padding:0 26px;border-radius:4px;background:#C4505F;color:#fff;font-size:19px;font-weight:500;letter-spacing:.01em;transition:background-color .2s}
.btn:hover{background:#AD4251}
.btn svg{width:22px;height:10px;fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}
.description-image{flex:0 0 390px;margin-top:-40px}
.description-image img{width:100%;height:auto;margin-bottom:5px}

/* customer reviews */
.page-title{font-family:"CaslonGraD",sans-serif;font-weight:400;font-size:37px;line-height:43px;color:#333}
.reviews{background:#F5F3EF;padding:112px 0}
.reviews-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;border-top:2px solid #171717;padding-top:26px}
.reviews-head .page-title{font-size:44px;line-height:1.08;color:#171717;text-wrap:balance}
.review-slides{display:grid}
.feature{grid-area:1 / 1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;margin-top:64px;visibility:hidden;opacity:0;transition:opacity .3s ease,visibility 0s linear .3s}
.feature.is-active{visibility:visible;opacity:1;transition:opacity .3s ease}
.feature .who{display:flex;flex-direction:column;gap:6px;padding-top:6px;margin-bottom:-80px} /* may run into the empty first column below, so the quotes alone set the slider height */
.feature .ph,.review-dialog .ph{width:72px;height:72px;border-radius:50%;overflow:hidden;background:#E9E3DB;margin-bottom:14px}
.feature .ph img,.review-dialog .ph img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.06);mix-blend-mode:multiply}
.feature b{font-size:20px;line-height:1.2;color:#1F1F1F}
.feature small{font-size:15px;line-height:1.3;color:#6B6B6B;text-wrap:balance}
.feature blockquote{grid-column:2 / span 3;margin:0}
.feature blockquote p{font-family:"Libre Caslon Text",Georgia,serif;font-style:italic;font-size:36px;line-height:1.28;color:#1F1F1F;text-indent:-.34em;max-width:22em;text-wrap:balance}
.feature .qm{color:#C4505F}
.quote-foot{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;margin-top:32px}
.quote-foot__inner{grid-column:2 / span 3;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:30px}
.more{font-size:17px;line-height:1.2;color:#C4505F;border-bottom:1px solid #C4505F;transition:color .2s,border-color .2s}
.more:hover{color:#AD4251;border-color:#AD4251}
.slider-nav{display:flex;align-items:center;gap:20px;margin-left:auto}
.swiper-prev,.swiper-next{display:flex;align-items:center;justify-content:center;width:60px;height:30px;border:1px solid #C4505F;border-radius:3px;background:#C4505F;transition:background-color .2s}
.swiper-prev:not(:disabled):hover,.swiper-next:not(:disabled):hover{background:#AD4251;border-color:#AD4251}
.swiper-prev svg,.swiper-next svg{width:28px;height:12px;fill:none;stroke:#fff;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}
.swiper-prev:disabled,.swiper-next:disabled{background:transparent;border-color:#D3CCC2;cursor:default}
.swiper-prev:disabled svg,.swiper-next:disabled svg{stroke:#A39B90}
.slider-count{font-size:16px;color:#6B6B6B;letter-spacing:.06em;min-width:88px;text-align:center;font-variant-numeric:tabular-nums}
.logo-row{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:72px;padding-top:44px;border-top:1px solid #D6CFC5}
.reviews-col{flex:none;height:50px;display:flex;align-items:center}
.reviews-col img{max-width:100%;height:auto;filter:url(#logo-ink);opacity:.5}
.logo-ink{position:absolute;width:0;height:0;overflow:hidden}

/* full review */
.review-dialog{margin:auto;width:min(720px,calc(100% - 32px));max-height:calc(100% - 32px);padding:48px 48px 44px;border:0;border-radius:6px;background:#fff;color:#1F1F1F;box-shadow:0 24px 60px rgba(31,35,49,.25);overscroll-behavior:contain}
.review-dialog::backdrop{background:rgba(31,35,49,.62)}
.review-dialog__close{position:absolute;top:12px;right:12px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s}
.review-dialog__close:hover{background:#F5F3EF}
.review-dialog__close svg{width:16px;height:16px;fill:none;stroke:#1F1F1F;stroke-width:2px;stroke-linecap:round}
.review-dialog__who{display:flex;align-items:center;gap:16px;margin-bottom:28px;padding-right:32px}
.review-dialog .ph{flex:none;width:56px;height:56px;margin:0}
.review-dialog__who b{display:block;font-size:20px;line-height:1.2}
.review-dialog__who small{display:block;margin-top:4px;font-size:15px;line-height:1.3;color:#6B6B6B}
.review-dialog__text{font-size:19px;line-height:1.5;letter-spacing:-.005em;color:#2E2E2E}
.review-dialog__text p+p{margin-top:.9em}

/* why us */
.adv-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:56px 30px}
.adv-lead{border-top:2px solid #171717;padding-top:26px}
.adv-lead .page-title{text-align:left;color:#171717;font-size:44px;line-height:1.08;margin-bottom:22px}
.adv-lead .page-subtitle{font-weight:400;font-size:18px;line-height:1.36;letter-spacing:-.01em;color:#555;margin:0}
.adv-item{position:relative;border-top:1px solid #DDD8D1;padding-top:35px}
.adv-item::before{content:"";position:absolute;left:0;top:-1px;width:32px;height:3px;background:#C4505F}
.adv-num{display:block;font-family:"CaslonGraD",serif;font-size:36px;line-height:1;color:#1F2331;margin-bottom:24.5px;font-variant-numeric:lining-nums}
.adv-item p{font-size:19px;line-height:1.34;letter-spacing:-.01em;color:#1F1F1F;text-wrap:pretty}

/* closing band */
.closing{background:#F5F3EF;padding:112px 0}
.closing .container{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;align-items:stretch}
.closing .text{grid-column:1 / span 2;border-top:2px solid #171717;padding-top:26px}
.closing h2{font-family:"CaslonGraD",serif;font-weight:400;font-size:56px;line-height:1.06;color:#171717;margin-bottom:40px;text-wrap:balance}
.closing .art{grid-column:3 / span 2;position:relative}
.closing .art img{position:absolute;top:0;right:0;height:100%;width:auto}

/* footer */
.footer{background:#1F2331;color:#E6E3DE;padding:88px 0 40px}
.footer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;padding-bottom:64px;border-bottom:1px solid #3A3F52}
.footer-logo{display:inline-block}
.footer-logo img{width:92px;height:auto}
.footer-label{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:#8E93A6;margin-bottom:18px}
.footer-list{list-style:none;display:flex;flex-direction:column;gap:12px;font-size:18px;line-height:1.26;letter-spacing:-.01em}
.footer-list a{border-bottom:1px solid transparent;transition:border-color .2s}
.footer-list a:hover{border-bottom-color:currentColor}
.footer-list .ext{color:#E98A96}
.footer-bottom{display:flex;justify-content:space-between;gap:24px;padding-top:24px;font-size:15px;color:#8E93A6}

@media (prefers-reduced-motion:reduce){
  .feature,.feature.is-active{transition:none}
}

/* tablets */
@media (max-width:1100px){
  .container{padding:0 32px}
  .header-nav a:not(:last-child){margin-right:40px}
  .description-wrap{gap:48px}
  .description-title{font-size:52px}
  .description-text{font-size:22px}
  .description-image{flex-basis:300px;margin-top:0}
  .reviews,.closing{padding:88px 0}
  .reviews-head .page-title,.adv-lead .page-title{font-size:40px}
  .feature blockquote p{font-size:31px}
  .logo-row{gap:24px 16px}
  .adv-item p{font-size:17px}
  .closing h2{font-size:46px}
}
@media (max-width:900px){
  .header-nav a{font-size:18px}
  .header-nav a:not(:last-child){margin-right:28px}
  .description-title{font-size:44px}
  .description-text{font-size:20px}
  .description-image{flex-basis:230px}
  .logo-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 24px}
  .adv-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 30px}
  .adv-lead{grid-column:1 / -1}
  .closing .text{grid-column:1 / span 3}
  .closing .art{grid-column:4}
  .closing .art img{top:auto;bottom:0;max-width:100%;height:auto}
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:48px}
}

/* phones */
@media (max-width:760px){
  body{padding-top:0}
  .container{padding:0 20px}
  .section:not(:last-child){margin-bottom:72px}
  .header{position:relative;height:72px;margin-bottom:28px}
  .header-logo{width:112px}
  .header-burger{display:flex;flex-direction:column;justify-content:center;gap:6px;width:44px;height:44px;margin-right:-10px;padding:0 10px}
  .header-burger i{display:block;height:2px;background:#1F1F1F;border-radius:1px;transition:transform .2s,opacity .2s}
  .header-burger[aria-expanded="true"] i:nth-child(1){transform:translateY(8px) rotate(45deg)}
  .header-burger[aria-expanded="true"] i:nth-child(2){opacity:0}
  .header-burger[aria-expanded="true"] i:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
  .header-nav{flex-wrap:wrap;gap:4px 20px}
  .header-nav a{font-size:18px}
  .header-nav a:not(:last-child){margin-right:0}
  .js .header-nav{display:none;position:absolute;z-index:20;left:0;right:0;top:100%;flex-direction:column;gap:0;padding:4px 20px 20px;background:#fff;border-bottom:1px solid #E4E0DA;box-shadow:0 16px 24px rgba(31,35,49,.08)}
  .js .header-nav.is-open{display:flex}
  .js .header-nav a{font-size:22px;line-height:1.2;padding:14px 0;border-top:1px solid #EEE9E2}
  .js .header-nav a:first-child{border-top:0}
  .description-wrap{flex-direction:column;align-items:stretch;gap:36px}
  .description-title{font-size:40px;margin-bottom:20px}
  .description-text{font-size:20px}
  .description-text br{display:none}
  .hero-actions{margin-top:28px}
  .description-image{flex:none;width:210px;align-self:center;margin:0}
  .reviews,.closing{padding:64px 0}
  .reviews-head{margin-bottom:0}
  .reviews-head .page-title,.adv-lead .page-title{font-size:34px}
  .feature{grid-template-columns:minmax(0,1fr);gap:22px;margin-top:36px}
  .feature .who{display:grid;grid-template-columns:56px minmax(0,1fr);column-gap:14px;row-gap:2px;align-items:center;padding-top:0;margin-bottom:0}
  .feature .ph{grid-row:span 2;width:56px;height:56px;margin:0}
  .feature b{font-size:18px;align-self:end}
  .feature small{font-size:14px;align-self:start}
  .feature blockquote{grid-column:auto}
  .feature blockquote p{font-size:24px;line-height:1.3}
  .quote-foot{grid-template-columns:minmax(0,1fr);margin-top:28px}
  .quote-foot__inner{grid-column:auto;flex-wrap:wrap;gap:16px}
  .slider-nav{gap:8px}
  .swiper-prev,.swiper-next{width:48px}
  .slider-count{min-width:56px}
  .logo-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px;margin-top:48px;padding-top:36px}
  .reviews-col{height:40px}
  .reviews-col img{max-height:34px;width:auto}
  .adv-grid{grid-template-columns:minmax(0,1fr);gap:36px}
  .adv-lead{grid-column:auto}
  .adv-item{padding-top:24px}
  .adv-num{font-size:30px;margin-bottom:14px}
  .adv-item p{font-size:18px}
  .closing .container{grid-template-columns:minmax(0,1fr);gap:40px}
  .closing .text,.closing .art{grid-column:auto}
  .closing h2{font-size:34px;margin-bottom:28px}
  .closing .art{height:200px}
  .closing .art img{position:static;height:100%;margin-left:auto}
  .review-dialog{padding:40px 22px 28px}
  .review-dialog__text{font-size:18px}
  .footer{padding:64px 0 32px}
  .footer-grid{grid-template-columns:minmax(0,1fr);gap:36px;padding-bottom:40px}
  .footer-bottom{flex-direction:column;gap:6px}
}
@media (max-width:420px){
  .description-title{font-size:34px}
  .feature blockquote p{font-size:22px}
  .logo-row{grid-template-columns:repeat(2,minmax(0,1fr))}
}
