/* Reviewed content, pricing and FAQ; shares the selected theme's tokens. */
.service-area{display:inline-block;margin-top:7px;color:var(--muted);font-size:12px;letter-spacing:.02em;text-transform:none}
.hero-direct{font-size:13px;line-height:1.8;font-weight:600;color:var(--green);margin-top:20px;max-width:none}
.hero-subtitle{font-size:19px;line-height:1.55;font-weight:600;color:var(--green);max-width:480px;margin-bottom:15px}
.hero-actions{gap:14px}
.hero-actions .text-link{min-height:44px;font-size:13px;white-space:nowrap}
.hero .hero-actions .button{font-size:13px;padding-inline:18px;gap:14px;max-width:100%}
.theme-a .service h3,.theme-c .service h3{min-height:2.8em}
.services-note{font-size:13px;max-width:none}
.service-link{font-size:13px;line-height:1.6;min-height:48px}
.service-meta{line-height:1.6;align-items:flex-start}
.service-meta>span:last-child{text-align:right}
.site-header nav{gap:22px}
.pricing{background:var(--surface)}
.pricing .section-intro{max-width:400px;font-size:14px}
.pricing-service-notice{font-size:14px;line-height:1.8;color:var(--green);border:1px solid #bfc8b9;border-left:3px solid var(--gold);padding:18px 22px;margin-bottom:25px;max-width:none}
.pricing-service-notice a{text-decoration:underline;text-underline-offset:4px;display:inline-block;min-height:32px}
.pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}
.tariff-card{display:flex;flex-direction:column;min-width:0;min-height:420px;background:var(--paper);border:1px solid var(--line);border-radius:5px;padding:28px}
.tariff-card h3{font:600 21px/1.4 var(--sans);color:var(--green);letter-spacing:-.02em;min-height:60px;margin-bottom:15px}
.tariff-subtitle{font-size:13px;line-height:1.65;color:var(--muted);min-height:44px}
.tariff-price{display:flex;align-items:baseline;gap:8px;margin:22px 0 16px;white-space:nowrap;font-size:14px;color:var(--green)}
.tariff-price strong{font:600 40px/1.15 var(--serif);letter-spacing:-.025em}
.price-period{font-size:13px}
.tariff-description{font-size:14px;line-height:1.8;color:var(--muted);margin-bottom:24px}
.pricing-subheading{font:500 36px/1.2 var(--serif);color:var(--green);margin:0 0 25px}
.pricing-supplement{margin-top:28px}
.pricing-one-time{margin-top:48px;padding-top:35px;border-top:1px solid #bfc8b9}
.pricing-secondary .tariff-card{min-height:0;display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);column-gap:48px;padding:30px}
.pricing-supplement .tariff-card{background:transparent;border-color:#bfc8b9}
.pricing-secondary .tariff-card h3{grid-column:1;grid-row:1;min-height:0;margin-bottom:10px}
.pricing-secondary .tariff-subtitle{grid-column:1;grid-row:2;min-height:0}
.pricing-secondary .tariff-price{grid-column:2;grid-row:1/4;align-self:center;justify-self:start;flex-wrap:wrap;white-space:normal;gap:4px 8px;margin:0 0 18px}
.pricing-secondary .price-period{flex-basis:100%;line-height:1.6}
.pricing-secondary .tariff-description{grid-column:1;grid-row:3;margin:14px 0 22px}
.pricing-secondary .tariff-details{grid-column:1/-1;min-width:0}
.tariff-details{border-top:1px solid var(--line);margin-top:auto}
.tariff-details summary,.faq-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:15px;min-height:56px;color:var(--green)}
.tariff-details summary::-webkit-details-marker,.faq-item summary::-webkit-details-marker{display:none}
.tariff-details summary{font-size:13px;font-weight:600;padding-top:7px}
summary:focus-visible{outline:3px solid var(--green);outline-offset:5px;border-radius:2px}
.disclosure-icon{flex:none;display:flex;align-items:center;justify-content:center;width:26px;height:26px;margin-left:auto;font-size:0}
.disclosure-icon::before{content:"+";font:400 25px/1 var(--sans)}
details[open]>summary .disclosure-icon::before{content:"×"}
.details-open{display:none}
.tariff-details[open] .details-open{display:inline}
.tariff-details[open] .details-closed{display:none}
.tariff-detail-body{padding-top:16px;font-size:14px;line-height:1.85;color:var(--ink)}
.tariff-detail-body ul{padding-left:19px;margin:0 0 18px}
.tariff-detail-body li{padding-left:3px;margin-bottom:12px}
.tariff-detail-body li::marker{color:var(--green)}
.tariff-detail-body p{font-size:14px;line-height:1.8;margin-bottom:16px}
.tariff-detail-section{margin-top:23px}
.tariff-detail-section h4{font-size:14px;line-height:1.6;margin:0 0 13px;color:var(--green)}
.tariff-condition{padding-top:17px;border-top:1px solid var(--line);color:var(--muted);font-size:13px!important}
.pricing-notes{display:grid;grid-template-columns:1fr 2fr;gap:40px;margin-top:35px;padding-top:27px;border-top:1px solid #bfc8b9}
.pricing-notes h3{font-size:17px;line-height:1.6;color:var(--green)}
.pricing-notes ul{margin:0;padding-left:18px;font-size:13px;line-height:1.85;color:var(--muted)}
.pricing-notes li{margin-bottom:7px;padding-left:3px}
.pricing-notes li:last-child{color:var(--green);font-weight:600}
.faq{display:grid;grid-template-columns:1fr 2fr;gap:80px}
.faq h2{font-size:42px}
.faq-item{border-top:1px solid var(--line)}
.faq-item:last-child{border-bottom:1px solid var(--line)}
.faq-item summary{padding:25px 0;font-size:17px;line-height:1.7;align-items:flex-start}
.faq-number{flex:none;font-size:11px;color:var(--muted);margin-top:6px;width:25px}
.faq-question{flex:1;font-weight:600}
.faq-item .disclosure-icon{margin-top:3px}
.faq-answer{padding:0 34px 28px 40px;color:var(--muted)}
.faq-answer p{font-size:16px;line-height:1.9;margin-bottom:18px}
.faq-answer p:last-child{margin-bottom:0}
.faq-answer h3{font-size:17px;font-weight:600;line-height:1.65;color:var(--green);margin:25px 0 13px}
.contact{border-top:1px solid var(--line);align-items:start}
.contact-copy>.large-copy{max-width:490px;font-size:17px;line-height:1.85}
.contact-action{margin-top:32px}
.contact-panel{background:var(--surface);border-radius:5px;padding:34px;min-width:0}
.contact-panel>.contact-label{margin-bottom:18px}
.contact-panel .contact-links{margin:0}
.contact-panel .contact-links>a{font-size:19px;min-height:52px}
.office-hours{font:14px/1.9 var(--sans);color:var(--muted);margin-top:14px}
.office-map{margin-top:0}
.about-experience{grid-column:1/-1;display:grid;grid-template-columns:1fr 1.6fr;gap:25px 70px;border-top:1px solid var(--line);padding-top:32px;margin-top:8px}
.about-experience h3{font:500 31px/1.2 var(--serif);color:var(--green);max-width:340px;margin-bottom:18px}
.experience-dates{font-size:15px;line-height:1.9;color:var(--green);max-width:360px;font-weight:600}
.about-experience-copy p{font-size:15px;line-height:1.9;color:var(--muted);margin-bottom:14px}
.about-experience-copy p:last-child{margin-bottom:0}
.experience .section-intro{max-width:465px;font-size:15px;line-height:1.85}
.experience-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px;align-items:start}
.experience-card{grid-column:span 2;min-width:0;border:1px solid var(--line);border-radius:5px;padding:26px;background:var(--paper)}
.experience-card-featured{grid-column:span 3;background:var(--surface);border-color:#c9cbbd;box-shadow:inset 0 3px 0 var(--gold)}
.experience-heading{min-height:122px;margin-bottom:18px}
.experience-card h3{font:600 19px/1.45 var(--sans);color:var(--green);letter-spacing:-.015em}
.experience-card-featured h3{font-size:23px;max-width:480px}
.experience-card-featured .experience-heading{min-height:112px}
.experience-badge{display:inline-block;max-width:100%;font-size:11px;line-height:1.6;font-weight:600;color:var(--green);border:1px solid #c3c6b6;border-radius:3px;padding:5px 9px;margin-top:14px}
.experience-details{border-top:1px solid var(--line)}
.experience-details summary{display:flex;align-items:center;gap:15px;list-style:none;cursor:pointer;min-height:54px;padding-top:7px;color:var(--green);font-size:13px;font-weight:600}
.experience-details summary::-webkit-details-marker{display:none}
.experience-details[open] .details-closed{display:none}
.experience-details[open] .details-open{display:inline}
.experience-details[open]>summary .disclosure-icon::before{content:"−"}
.experience-body{padding-top:15px;color:var(--muted)}
.experience-body p{font-size:15px;line-height:1.85;margin-bottom:17px}
.experience-body p:last-child{margin-bottom:0}
.experience-body .experience-note{border-left:2px solid var(--gold);padding:5px 0 5px 15px;color:var(--green)}
@media(max-width:1150px){
 .site-header nav{gap:16px;font-size:12px}
 .tariff-card{padding:24px}
 .tariff-card h3{font-size:19px;min-height:80px}
 .tariff-price strong{font-size:36px}
 .faq{gap:45px}
}
@media(max-width:1100px){
 .site-header .header-inner{min-height:78px;flex-wrap:wrap;padding-block:17px;gap:0 20px}
 .header-cta{display:none}
 .menu-toggle{margin-left:auto}
 .js-enabled .menu-toggle{display:block}
 .site-header nav{width:100%;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:12px;margin-top:17px;font-size:13px}
 .site-header nav a{min-height:44px}
 .js-enabled .site-header nav{display:none}
 .js-enabled .site-header nav.is-open{display:flex}
}
@media(max-width:1000px){
 .about-experience{gap:25px 40px}
 .experience-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .experience-card,.experience-card-featured{grid-column:span 1}
 .experience-card:last-child{grid-column:1/-1}
 .experience-card-featured h3{font-size:21px}
 .experience-card-featured .experience-heading{min-height:136px}
 .experience-card:last-child .experience-heading{min-height:0}
 .pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .pricing-grid>.tariff-card:last-child{grid-column:1/-1}
 .tariff-card h3{min-height:60px}
 .pricing-grid>.tariff-card:last-child h3{min-height:0}
 .pricing-grid>.tariff-card:last-child .tariff-subtitle{min-height:0}
 .faq{grid-template-columns:1fr;gap:35px}
 .faq h2{font-size:39px;max-width:600px}
 .faq .section-label{margin-bottom:20px}
}
@media(min-width:741px) and (max-width:950px){
 .theme-c .service h3{font-size:24px}
}
@media(max-width:740px){
 .about-experience{display:block;padding-top:27px;margin-top:0}
 .about-experience h3{font-size:29px;max-width:380px}
 .experience-dates{font-size:15px;max-width:none;margin-bottom:22px}
 .about-experience-copy p{font-size:15px}
 .experience .section-intro{font-size:15px}
 .experience-grid{grid-template-columns:1fr}
 .experience-card,.experience-card-featured{grid-column:1/-1;padding:25px}
 .experience-heading,.experience-card-featured .experience-heading{min-height:0;margin-bottom:20px}
 .experience-card h3,.experience-card-featured h3{font-size:21px}
 .experience-details summary{font-size:14px}
 .experience-body p{font-size:16px}
 .hero .eyebrow{line-height:1.7}
 .hero-subtitle{font-size:18px;line-height:1.55;margin-bottom:14px}
 .hero-actions{gap:10px 22px}
 .hero .hero-actions .button{flex-basis:100%;justify-content:space-between}
 .hero-actions .text-link{font-size:12px}
 .theme-a .service h3,.theme-c .service h3{min-height:0}
 .service-area{font-size:11px;margin-top:5px}
 .hero-direct{font-size:13px;margin-top:18px}
 .hero-bottom a{grid-column:1/-1;justify-self:end}
 .services-note{font-size:12px;line-height:1.9}
 .service-link{font-size:14px}
 .pricing .section-intro{font-size:14px}
 .pricing-grid{display:grid;grid-template-columns:1fr}
 .tariff-card,.pricing-secondary .tariff-card{min-height:0;padding:25px}
 .pricing-secondary .tariff-card{display:flex;gap:0}
 .pricing-secondary .tariff-price{order:0;align-self:auto;margin:20px 0 14px}
 .pricing-secondary .tariff-description{margin:0 0 24px}
 .pricing-secondary .price-period{flex-basis:auto;max-width:180px}
 .pricing-one-time{margin-top:35px;padding-top:30px}
 .tariff-card h3{font-size:21px;min-height:0;margin-bottom:13px}
 .tariff-subtitle{min-height:0;font-size:13px}
 .tariff-price{margin-block:20px 14px}
 .tariff-price strong{font-size:38px}
 .tariff-description{font-size:15px;margin-bottom:24px}
 .tariff-detail-body,.tariff-detail-body p{font-size:15px}
 .pricing-subheading{font-size:29px;margin-top:32px}
 .pricing-notes{display:block;margin-top:28px}
 .pricing-notes h3{margin-bottom:15px}
 .pricing-notes ul{font-size:13px;line-height:1.9}
 .faq{gap:25px}
 .faq h2{font-size:36px}
 .faq-item summary{font-size:16px;padding:22px 0;gap:12px}
 .faq-number{width:18px}
 .faq-answer{padding:0 0 24px 30px}
 .faq-answer p{font-size:16px;line-height:1.85}
 .faq-answer h3{font-size:16px}
 .contact-panel{padding:25px;margin-top:35px}
 .contact-copy>.large-copy{font-size:16px}
 .contact-panel .contact-links>a{font-size:18px}
 .contact-action .button{font-size:15px}
 .office-map{margin-top:40px}
}
@media(max-width:380px){
 .experience-card,.experience-card-featured{padding:22px}
 .experience-card h3,.experience-card-featured h3{font-size:20px}
 .site-header .header-inner{column-gap:10px}
 .tariff-card,.pricing-secondary .tariff-card{padding:22px}
 .hero-actions{flex-direction:row;align-items:center}
 .hero .hero-actions .button{flex-basis:100%}
 .hero-actions .text-link{font-size:11px;gap:8px}
 .tariff-card h3{font-size:20px}
 .tariff-price strong{font-size:34px}
 .tariff-price{gap:6px}
 .contact-panel{padding:22px}
 .contact-panel .contact-links>a{font-size:17px}
 .faq h2{font-size:32px}
}

/* V6 cases: two services, six compact stories and education. */
.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.experience-grid{align-items:stretch}
.experience-grid:has(.experience-details[open]){align-items:start}
.experience-card{grid-column:span 3;display:flex;flex-direction:column}
.experience-card .experience-heading{min-height:0}
.experience-summary{font-size:15px;line-height:1.85;color:var(--muted);margin-top:16px}
.experience-details{margin-top:auto}
.pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.pricing-grid>.tariff-card:last-child{grid-column:auto}
.about-education{grid-column:1/-1;width:100%;padding-top:28px;border-top:1px solid var(--line)}
.about-education>h3{font:500 31px/1.2 var(--serif);color:var(--green);margin-bottom:23px}
.education-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.education-list li{border-left:2px solid var(--gold);padding-left:22px;min-width:0}
.education-list p{font-size:14px;line-height:1.8;color:var(--muted);margin-bottom:7px}
.education-list .education-period{font-size:13px;font-weight:600;color:var(--green)}
.education-list h4{font-size:18px;line-height:1.5;color:var(--green);margin-bottom:10px}
.cooperation{grid-column:1/-1;display:grid;grid-template-columns:1fr 1.5fr;gap:35px;border-top:1px solid var(--line);padding-top:28px}
.cooperation h3{font:500 31px/1.2 var(--serif);color:var(--green)}
.cooperation p{font-size:15px;line-height:1.85;color:var(--muted);margin-bottom:10px}
.cooperation p:last-child{margin-bottom:0}
@media(max-width:1000px){
 .experience-card,.experience-card-featured,.experience-card:last-child{grid-column:span 1}
}
@media(max-width:740px){
 .services-grid{display:block}
 .experience-card,.experience-card-featured,.experience-card:last-child{grid-column:1/-1}
 .experience-summary{font-size:16px}
 .education-list{grid-template-columns:1fr;gap:25px}
 .education-list p{font-size:15px}
 .education-list .education-period{font-size:13px}
 .about-education>h3{font-size:29px}
 .pricing-grid{grid-template-columns:1fr}
 .cooperation{display:block;margin-top:30px;padding-top:25px}
 .cooperation h3{font-size:29px;margin-bottom:20px}
 .cooperation p{font-size:16px}
}

/* V8: approved JPG copy and compact payment footnote. */
:is(.theme-a,.theme-b,.theme-c) .hero h1{font-size:clamp(38px,3.8vw,54px);line-height:1.08;letter-spacing:-.035em;margin-bottom:22px}
.hero{padding-top:48px}
.hero-copy{padding-top:10px;padding-bottom:24px}
.hero .eyebrow{margin-bottom:20px}
.hero .hero-direct{font-size:14px;line-height:1.8;margin:0 0 20px}
.hero-inquiry{font-size:13px;line-height:1.8;color:var(--muted);max-width:490px;margin-top:18px}
.hero .hero-actions .button{font-size:14px;line-height:1.6;text-align:left}
.hero-bottom{margin-top:30px}
.about-agency{font-size:15px;line-height:1.85;font-weight:600;color:var(--green);margin-top:18px}
.process{row-gap:28px}
.payment-note{grid-column:1/-1;max-width:none;border-top:1px solid var(--line);padding-top:20px;font-size:13px;line-height:1.8;color:var(--muted)}
@media(max-width:1100px){:is(.theme-a,.theme-b,.theme-c) .hero h1{font-size:clamp(34px,4.4vw,48px)}}
@media(max-width:740px){
 :is(.theme-a,.theme-b,.theme-c) .hero h1{font-size:clamp(34px,7vw,46px);line-height:1.1}
 .hero .hero-direct{font-size:13px;margin-bottom:18px}
 .hero-inquiry{font-size:13px}
 .about-agency{font-size:15px}
 .payment-note{margin-top:28px;font-size:14px}
}
@media(max-width:380px){:is(.theme-a,.theme-b,.theme-c) .hero h1{font-size:32px}}

/* V9: reduce empty space while preserving content and typography. */
:is(.theme-a,.theme-b,.theme-c) .section{padding-block:64px}
.section-label{margin-bottom:20px}
.section-heading{margin-bottom:28px}
.section-heading .section-label{margin-bottom:16px}
.hero .hero-actions{margin-top:24px}
.hero-inquiry{margin-top:14px}
.hero-bottom{margin-top:24px;padding-block:16px}
:is(.theme-a,.theme-b,.theme-c) .about{row-gap:28px}
.about-main h2{margin-bottom:22px}
.about-agency{margin-top:14px}
.about-aside{padding-top:24px}
.about-experience{margin-top:0;padding-top:24px;row-gap:20px}
.about-education{padding-top:24px}
.about-education>h3{margin-bottom:18px}
.education-list{gap:20px}
.theme-a .service,.theme-c .service{padding:24px!important}
.theme-a .service-meta,.theme-c .service-meta{margin-bottom:20px}
.theme-a .service>p,.theme-c .service>p{margin-bottom:20px}
.services-note{margin-top:18px}
.experience-grid{gap:16px}
.experience-card{padding:22px}
.experience-card .experience-heading{margin-bottom:14px}
.experience-summary{margin-top:12px}
.experience-badge{margin-top:10px}
.pricing-service-notice{padding:14px 18px;margin-bottom:20px}
.pricing-grid{align-items:stretch}
.pricing-grid:has(.tariff-details[open]){align-items:start}
.tariff-card,.pricing-secondary .tariff-card{min-height:0;padding:24px}
.tariff-card h3{min-height:0;margin-bottom:12px}
.tariff-subtitle{min-height:0}
.tariff-price{margin:18px 0 12px}
.tariff-description{margin-bottom:18px}
.pricing-secondary .tariff-description{margin:12px 0 18px}
.pricing-secondary .tariff-price{margin:0 0 14px}
.pricing-supplement{margin-top:22px}
.pricing-one-time{margin-top:32px;padding-top:24px}
.pricing-subheading{margin-bottom:20px}
.pricing-notes{margin-top:26px;padding-top:22px;gap:28px}
:is(.theme-a,.theme-b,.theme-c) .process{row-gap:24px}
.process-heading h2{margin-bottom:20px}
.steps li{padding-block:20px}
.payment-note{padding-top:16px}
.faq-item summary{padding-block:18px}
.faq-answer{padding-bottom:22px}
.contact{row-gap:48px}
.contact h2{margin-bottom:22px}
.contact-action{margin-top:24px}
.contact-panel{padding:28px}
.map-heading{margin-bottom:18px}
@media(max-width:740px){
 :is(.theme-a,.theme-b,.theme-c) .section{padding-block:40px}
 .section-heading{margin-bottom:22px}
 .section-heading .section-label{margin-bottom:14px}
 .hero{padding-top:32px}
 :is(.theme-a,.theme-b,.theme-c) .about{row-gap:22px}
 .about-aside{padding-top:20px}
 .about-experience{padding-top:22px}
 .education-list{gap:20px}
 .theme-a .service,.theme-c .service{padding:22px!important}
 .theme-a .service-meta,.theme-c .service-meta{margin-bottom:18px}
 .theme-a .service>p,.theme-c .service>p{margin-bottom:16px}
 .experience-card,.experience-card-featured{padding:20px}
 .tariff-card,.pricing-secondary .tariff-card{padding:22px}
 .pricing-secondary .tariff-price{margin:16px 0 12px}
 .pricing-secondary .tariff-description{margin:0 0 18px}
 .pricing-one-time{margin-top:28px;padding-top:22px}
 .pricing-notes{margin-top:24px;padding-top:20px}
 .steps{margin-top:24px}
 .steps li{padding-block:18px}
 .payment-note{margin-top:20px}
 .contact-panel{padding:22px;margin-top:28px}
 .office-map{margin-top:28px}
}
