/* A readable type scale and compact section rhythm, 03.11.2026. */
:root{--muted:#655c53;--gold-dark:#785b36;--copy-size:17px;--support-size:14px}
body{font-size:var(--copy-size);line-height:1.65}
.button-primary{background:#80633d}
.button-primary:hover{background:#6b512f}
.button-light{color:#594c42}
.eyebrow,.hero-copy .eyebrow,.package-top{font-size:14px;line-height:1.6;letter-spacing:.09em}
.eyebrow{margin-bottom:18px}
.button,.hero-actions .button,.package-card>.button,.quiz-banner .button,.lead-form>.button,.quiz-final .lead-form>.button,.quiz-nav .button,.detail-title .button,.detail-cta .button{font-size:16px;line-height:1.5;min-height:54px;gap:16px}
.text-link,.case-bottom .text-link,.venue-bottom .text-link,.portfolio-bottom .text-link,.review-read .text-link{font-size:15px;line-height:1.5;min-height:44px;gap:12px}
.desktop-nav,.mobile-nav{font-size:15px;line-height:1.6}
.header-cta{font-size:14px;line-height:1.45;min-height:48px}
.hero-description,.section-intro,.heading-description,.heading-aside>p,.included-list p,.reason p,.process-grid p,.faq-list details p,.final-section .col-lg-6>p:not(.eyebrow),.quiz-banner .col-lg-7>p:not(.eyebrow){font-size:var(--copy-size);line-height:1.7}
.hero-description,.section-intro{max-width:46ch}
.heading-description,.heading-aside>p{max-width:34ch}
.hero-price p,.price-note{font-size:14px;line-height:1.65}
.price-note{color:var(--muted);max-width:48ch;margin-top:16px}
.hero-price{flex-wrap:wrap;gap:12px 20px}
.hero-actions{gap:14px 24px}
.hero-actions .text-link{font-size:15px}
.hero-visual{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center}
.hero-photo{grid-column:1/-1}
.hero-photo .photo-caption{font-size:22px;line-height:1.4}
.hero-photo-small{grid-column:1;grid-row:2;width:min(100%,206px);margin:0 0 0 6px}
.hero-photo-small span{font-size:14px;line-height:1.55;padding:10px 3px 3px}
.hero-stamp{position:relative;grid-column:2;grid-row:2;top:auto;right:auto;bottom:auto;width:156px;height:156px;margin:0 8px}
.hero-stamp span{font-size:14px;line-height:1.3;letter-spacing:.025em;padding:0 8px}
.hero-stamp b{font-size:39px;line-height:1.15}
.hero-facts{margin-top:36px;padding:25px 0;gap:20px}
.hero-facts>div>span{font-size:15px;line-height:1.5;text-align:center;padding:0 10px}
.section{padding:72px 0}
.section-heading{margin-bottom:30px;gap:30px}
h2,.section-heading h2{line-height:1.08}
.quiz-banner,.process-section,.final-section{padding-top:64px;padding-bottom:64px}
.included-list h3,.reason h3{font-size:18px;line-height:1.45;font-weight:600}
.included-list>div{padding:19px 0 16px}
.reason{padding-top:24px;padding-bottom:24px}
.case-info{padding-top:18px}
.case-info>p,.venue-location{font-size:15px;line-height:1.6;min-height:0}
.case-bottom{font-size:14px;line-height:1.6;flex-wrap:wrap;gap:8px 16px}
.case-tag,.case-image .case-tag,.venue-capacity{font-size:14px;line-height:1.5}
.case-tag,.case-image .case-tag{top:7px}
.portfolio-bottom{font-size:15px;line-height:1.65;gap:16px 30px;flex-wrap:wrap}
.portfolio-bottom>span{max-width:42ch}
.case-carousel-status,.slider-controls>span{font-size:14px;line-height:1.5}
.package-sub,.package-inherit,.package-condition{font-size:15px;line-height:1.65}
.package-card ul{font-size:16px;line-height:1.65}
.package-card li{margin-bottom:11px;padding-left:23px}
.package-card{padding:28px}
.package-condition{margin-bottom:21px;padding-bottom:18px}
.packages-note{font-size:14px;line-height:1.7;max-width:76ch;margin-top:24px}
.gift-card p{font-size:16px;line-height:1.6}
.gift-card>small,.gift-card>span:not(.gift-star,.gift-line){font-size:14px;line-height:1.6;letter-spacing:.04em}
.quiz-banner .eyebrow{color:#e0ceaf}
.gift-card>small{color:#e5d7c3}
.filter{font-size:15px;line-height:1.5;min-height:46px;padding:10px 18px}
.venue-body{padding:24px}
.venue-chips{gap:8px}
.venue-chips span,.venue-bottom small{font-size:14px;line-height:1.5}
.venue-chips span{padding:6px 9px}
.venue-bottom{flex-wrap:wrap;gap:8px 16px}
.moment-track{padding-top:22px;padding-bottom:24px}
.process-grid p{max-width:38ch}
.process-grid h3{line-height:1.2}
.yandex-label span{font-size:16px;line-height:1.5}
.yandex-label small{font-size:14px;line-height:1.6}
.review-person>span,.review-card-summary .review-context{font-size:14px;line-height:1.6}
.review-card-summary{padding-bottom:18px}
.review-track{align-items:flex-start}
.review-card>.review-excerpt{font-size:16px;line-height:1.7}
.review-rating{font-size:15px;line-height:1.5}
.review-photo-label,.review-photos-more{font-size:14px;line-height:1.5}
.review-photos-more{min-height:44px}
.review-header{gap:12px}
#review-panel-context{font-size:14px;line-height:1.5}
.review-zoom-toggle,.review-read-toggle{font-size:14px;line-height:1.5;min-height:44px}
#review-transcript{font-size:17px;line-height:1.75;margin-bottom:0}
#review-counter,#lightbox-counter{font-size:14px;line-height:1.5}
.faq-list summary{font-size:18px;line-height:1.55;padding:22px 0;align-items:center}
.faq-list summary span{display:grid;place-items:center;width:24px;height:24px;flex:0 0 24px;line-height:1}
.faq-list details p{max-width:65ch}
.contact-card>p,.contact-dialog .contact-intro{font-size:16px;line-height:1.65}
.lead-form label.field-label,.lead-form legend{font-size:15px;line-height:1.55}
.lead-form input:not([type=checkbox],[type=radio]),.lead-form textarea{font-size:16px;line-height:1.5;min-height:48px}
.contact-option span{font-size:14px;line-height:1.5;min-height:46px;padding:11px 7px}
.consent-label{font-size:14px;line-height:1.65}
.consent-label input{width:18px;height:18px;flex-shrink:0;margin-top:3px}
.form-error,.form-status{font-size:14px;line-height:1.6}
.footer-top p,.footer-bottom,.adsflow-credit,.back-top{font-size:14px;line-height:1.65}
.footer-top p{max-width:42ch}
.footer-bottom{gap:14px 28px}
.adsflow-credit{margin-top:20px}
.detail-meta,.detail-fact small,.detail-chips span,.detail-photo-count,.detail-scroll-cue{font-size:14px;line-height:1.55}
.detail-description,.detail-condition,.detail-main ul,.detail-cta p{font-size:16px;line-height:1.7}
.detail-description{max-width:68ch}
.detail-main ul li{margin-bottom:8px}
.detail-cta{gap:20px}
.quiz-progress-label,.quiz-nav .back{font-size:14px;line-height:1.55}
.quiz-choice{font-size:16px;line-height:1.55;min-height:74px;padding:16px}
.quiz-main>.quiz-note,.quiz-final .quiz-note,.quiz-aside p,.quiz-aside>div:last-child p{font-size:15px;line-height:1.65}
.hfw-consultant-trigger strong{font-size:15px;line-height:1.4}
.hfw-consultant-trigger small,.hfw-consultant-trigger>span small{font-size:14px;line-height:1.4}
.hfw-welcome-open strong,.hfw-welcome-open>span,.hfw-welcome-open .hfw-welcome-link{font-size:15px;line-height:1.65}
.hfw-consultant-welcome{max-width:330px}
.hfw-consultant-header{padding-right:58px;gap:12px}
.hfw-consultant-header p,.hfw-consultant-header p>span{font-size:14px;line-height:1.55}
.hfw-consultant-header h2{line-height:1.1}
.hfw-consultant-message{font-size:16px;line-height:1.7}
.hfw-consultant-eyebrow,.hfw-consultant-back,.hfw-consultant-selection,.hfw-consultant-fineprint,.hfw-consultant-reset{font-size:14px;line-height:1.65}
.hfw-consultant-benefits li{font-size:15px;line-height:1.65}
.hfw-consultant-option,.hfw-consultant-action,.hfw-consultant .lead-form>.button{font-size:15px;line-height:1.55;min-height:48px}
.hfw-consultant-action,.hfw-consultant .lead-form>.button{font-size:16px}
.hfw-consultant .lead-form label.field-label,.hfw-consultant .lead-form legend{font-size:15px;line-height:1.55}
.hfw-consultant .lead-form .contact-option span,.hfw-consultant .lead-form .consent-label,.hfw-consultant .lead-form .form-error{font-size:14px;line-height:1.65}
.hfw-consultant .lead-form textarea{font-size:16px;line-height:1.6}
.hfw-consultant .contact-options{grid-template-columns:repeat(2,minmax(0,1fr))}
.legal-page p,.legal-page li{font-size:17px;line-height:1.75}
.legal-date,.legal-links,.legal-footer .adsflow-credit,.legal-header a:last-child{font-size:14px;line-height:1.6}
@media(max-width:991px){
  :root{--copy-size:16px}
  .hero-copy{padding-right:12px}
  .section{padding:60px 0}
  .hero-facts>div>span{font-size:14px;padding:0 8px}
  .desktop-nav{gap:20px}
}
@media(max-width:767px){
  .contact-options{grid-template-columns:repeat(2,minmax(0,1fr))}
  .detail-title .button{margin-top:12px}
  .detail-scroll-cue{font-size:14px;gap:8px}
  .detail-photo-count{font-size:14px}
  .review-header{flex-wrap:wrap}
  .review-header>div{flex-basis:calc(100% - 60px);order:0}
  .review-header .dialog-close{order:1}
  .review-zoom-toggle,.review-read-toggle{order:2}
}
@media(max-width:575px){
  .eyebrow,.hero-copy .eyebrow{font-size:14px;letter-spacing:.07em}
  .header-cta{font-size:14px;padding:8px 10px;min-height:50px}
  .header-cta>span{display:none}
  .header-inner{min-height:80px}
  .hero{padding-top:30px}
  .hero-row{min-height:0;row-gap:28px}
  .hero-price>p{font-size:14px;line-height:1.6;flex-basis:100%}
  .hero-price .price-rule{display:none}
  .hero-price>p br{display:none}
  .hero-description{font-size:16px;line-height:1.7}
  .hero-actions{align-items:stretch}
  .hero-actions .button{width:100%;font-size:16px;padding:15px 18px}
  .hero-actions .text-link{font-size:15px}
  .price-note{font-size:14px;line-height:1.65;max-width:none}
  .hero-photo .photo-caption{font-size:20px;line-height:1.4}
  .hero-visual{gap:18px;grid-template-columns:minmax(0,1fr) auto}
  .hero-photo-small{width:min(100%,180px);margin-left:0}
  .hero-photo-small img{height:auto}
  .hero-photo-small span{font-size:14px;line-height:1.5}
  .hero-stamp{width:132px;height:132px;right:auto;bottom:auto;margin:0 4px}
  .hero-stamp span{font-size:14px;letter-spacing:0;padding:0 4px}
  .hero-stamp b{font-size:30px}
  .hero-facts{gap:24px 12px;margin-top:28px;padding:24px 0}
  .hero-facts>div>span{font-size:14px;line-height:1.5;padding:0 5px}
  .section{padding:48px 0}
  .section-heading{margin-bottom:24px;gap:20px}
  .heading-aside,.heading-description{margin-top:16px;max-width:none}
  .quiz-banner,.process-section,.final-section{padding-top:48px;padding-bottom:48px}
  .portfolio-bottom{align-items:flex-start;margin-top:18px;font-size:15px}
  .portfolio-bottom>span{max-width:none;flex-basis:100%}
  .portfolio-bottom .text-link{font-size:15px;white-space:normal}
  .case-info>p{font-size:15px;min-height:0}
  .case-bottom,.case-bottom .text-link{font-size:14px}
  .included-list h3,.reason h3{font-size:18px}
  .package-card{padding:25px 22px}
  .package-top{font-size:14px;letter-spacing:.06em}
  .package-sub,.package-condition,.package-inherit{font-size:15px}
  .package-card ul{font-size:16px}
  .package-card>.button{font-size:16px}
  .gift-card p{font-size:16px}
  .gift-card>small{font-size:14px;line-height:1.6}
  .filter-bar{gap:8px}
  .filter{font-size:15px;padding:10px 14px}
  .venue-body{padding:22px}
  .venue-bottom small{font-size:14px}
  .review-card-summary{padding:18px 118px 18px 16px}
  .review-card-summary .review-button{right:14px}
  .review-card>.review-excerpt{font-size:16px;line-height:1.7}
  .review-person h3{font-size:25px;line-height:1.15}
  #review-transcript{font-size:16px;line-height:1.75}
  .faq-list summary{font-size:18px;line-height:1.5;padding:20px 0}
  .consent-label{font-size:14px}
  .footer-top p{max-width:none;font-size:14px}
  .footer-bottom,.adsflow-credit{font-size:14px}
  .detail-meta,.detail-condition,.detail-main ul,.detail-description,.detail-cta p{font-size:16px}
  .detail-fact small,.detail-chips span{font-size:14px}
  .quiz-main{padding:30px 22px 24px}
  .quiz-main h2{line-height:1.1}
  .quiz-progress-label{font-size:14px;padding-right:40px}
  .quiz-choice,.quiz-final .quiz-note{font-size:16px}
  .quiz-options{grid-template-columns:1fr}
  .quiz-choice{min-height:58px}
  .quiz-nav{padding-top:24px}
  .quiz-nav .button,.quiz-final .lead-form>.button{font-size:16px}
  .hfw-consultant-trigger{max-width:calc(100vw - 24px);gap:9px;padding-right:12px}
  .hfw-consultant-trigger>span{max-width:205px}
  .hfw-consultant-header{padding-left:15px;padding-right:56px;align-items:flex-start}
  .hfw-consultant-header>img{width:52px;height:52px}
  .hfw-consultant-header h2{font-size:29px}
  .hfw-consultant-header p{font-size:14px}
  .hfw-consultant-title{line-height:1.15}
  .hfw-consultant-footer{gap:10px;padding:11px 15px}
  .hfw-consultant-footer>span{font-size:18px}
  .hfw-consultant-reset{font-size:14px;white-space:normal;text-align:right}
  .legal-page p,.legal-page li{font-size:16px;line-height:1.75}
}
@media(max-width:359px){
  .header-cta{width:100px;flex-basis:100px}
  .hero-visual{gap:14px;grid-template-columns:minmax(0,1fr) 132px}
  .hero-stamp{width:128px;height:128px;margin:0 2px}
  .hero-stamp span{font-size:14px;letter-spacing:0}
  .hero-stamp b{font-size:28px}
  .hero-photo-small{transform:none}
  .hfw-consultant-trigger>span{max-width:170px}
}

/* Reviews are mounted on white paper, with a clear margin on every side. */
.review-track{padding:12px 6px 20px;scroll-padding-left:6px}
.card-track{overflow-y:hidden;overscroll-behavior:contain auto}
.case-track{padding-bottom:24px}
.review-card{padding:22px;background:#fff;border:1px solid #ded4c6;border-radius:12px;box-shadow:0 7px 18px #594c420d}
.review-card-summary{min-height:140px;padding:0 106px 16px 0;margin-bottom:16px;border-bottom:1px solid #eee7dc}
.review-card-summary .review-button{top:0;right:0;background:#fff;border-color:#e3dace;border-radius:5px;box-shadow:0 3px 9px #594c420a}
.review-card-summary .review-button>.photo-area{inset:9px 8px 29px}
.review-card-summary .review-zoom{background:#f7f3ed}
.review-card>.review-excerpt{padding:0 0 16px;margin:0}
.review-photos-preview{padding:0;gap:8px;margin-bottom:10px}
.review-photos-preview .review-photo{padding:8px;background:#fcfaf7;border-color:#e8e0d5;border-radius:5px}
.review-photos-preview .review-photo>.photo-area{inset:8px}
.review-photos-more{margin:0 0 12px;padding:7px 0;color:var(--gold-dark)}
.review-info{padding:14px 0 0;gap:0;border-color:#eee7dc}
.review-photo-label{background:#f8f4ed;border-color:#e7dccd}
@media(max-width:575px){
  .review-card{padding:18px;border-radius:10px}
  .review-card-summary{padding:0 104px 16px 0}
  .review-card-summary .review-button{right:0}
  .review-card>.review-excerpt{padding:0 0 16px}
  .review-info{padding:12px 0 0}
}
