/*
Theme Name: Yrityslaina Editorial
Description: Finnish business-finance editorial theme using the existing Pikavippi comparison and review plugins.
Version: 1.1.0
Text Domain: yrityslaina
*/
:root{
--pine:#143c32;
--ink:#17372f;
--muted:#58665e;
--paper:#f7f7f0;
--line:#d7ddd4;
--lime:#d3ed76;
--white:#fff;
--serif:Georgia,'Times New Roman',serif;
--sans:Arial,Helvetica,sans-serif}
*{
box-sizing:border-box}
html{
scroll-behavior:smooth;
scroll-padding-top:34px}
body{
margin:0;
background:var(--paper);
color:var(--ink);
font:18px/1.7 var(--sans);
-webkit-font-smoothing:antialiased}
a{
color:inherit;
text-underline-offset:4px}
a:hover{
color:#376543}
button,input,select{
font:inherit}
button,a,input,select,summary{
-webkit-tap-highlight-color:transparent}
button,a,summary{
touch-action:manipulation}
button{
cursor:pointer}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{
outline:3px solid #729f27;
outline-offset:4px}
img{
max-width:100%;
height:auto;
display:block}
h1,h2,h3,p{
margin-top:0}
h1,h2,h3{
font-weight:500;
line-height:1.1;
letter-spacing:-.045em}
h1{
font-size:clamp(3rem,6.5vw,6rem)}
h2{
font-size:clamp(2rem,3.4vw,3rem)}
h3{
font-size:1.5rem}
p{
margin-bottom:1.2em}
.wrap{
width:min(1240px,calc(100% - 80px));
margin-inline:auto}
.site-header{
background:var(--paper);
border-bottom:1px solid var(--line)}
.header-inner{
min-height:98px;
display:flex;
align-items:center;
justify-content:space-between;
gap:28px}
.wordmark{
text-decoration:none;
display:inline-flex;
align-items:center;
gap:12px;
font-size:25px;
font-weight:700;
letter-spacing:-1.1px;
white-space:nowrap}
.brand-mark{
font-family:var(--serif);
font-weight:700;
letter-spacing:-3px;
background:var(--pine);
color:var(--lime);
width:37px;
height:37px;
display:inline-flex;
justify-content:center;
align-items:center;
padding-right:5px;
font-size:32px;
line-height:1}
.brand-domain{
font-weight:400;
color:var(--muted)}
#primary-nav{
display:flex;
align-items:center;
gap:30px}
#primary-nav a{
text-decoration:none;
font-size:16px;
font-weight:500}
#primary-nav a:hover{
text-decoration:underline}
.nav-method{
border:1px solid var(--line);
padding:11px 17px}
.nav-toggle{
display:none}
.skip-link{
position:absolute;
left:15px;
top:-100px;
background:white;
padding:12px;
z-index:100}
.skip-link:focus{
top:10px}
.eyebrow{
font:600 14px/1.5 var(--sans);
letter-spacing:.14em;
text-transform:uppercase;
margin-bottom:23px}
.status-dot{
display:inline-block;
width:7px;
height:7px;
background:#528549;
border-radius:50%;
margin-right:8px}
.hero{
display:grid;
grid-template-columns:1fr 1fr;
gap:60px;
padding-top:54px;
padding-bottom:60px;
align-items:center}
.hero-copy h1{
margin-bottom:26px;
line-height:1.02;
letter-spacing:-.06em}
.hero-lead{
font-size:18px;
line-height:1.7;
max-width:460px;
color:var(--muted)}
.hero-actions{
display:flex;
align-items:center;
gap:27px;
margin-top:32px;
flex-wrap:wrap}
.button{
border:0;
background:var(--pine);
color:white;
display:inline-flex;
align-items:center;
justify-content:space-between;
gap:22px;
padding:17px 23px;
font-size:16px;
font-weight:600;
text-decoration:none;
line-height:1.4;
min-height:50px}
.button:hover{
background:#295c48;
color:white}
.button span{
font-size:20px}
.text-link{
font-size:16px;
font-weight:600;
text-decoration:none;
border-bottom:1px solid var(--ink);
padding-bottom:4px}
.text-link span{
margin-left:9px}
.hero-note{
font-size:16px;
color:var(--muted);
margin-top:22px;
margin-bottom:0}
.hero-image{
position:relative;
margin:0;
padding-bottom:24px}
.hero-image>img{
aspect-ratio:1.12;
object-fit:cover;
width:100%;
border-radius:2px}
.hero-image figcaption{
position:absolute;
bottom:0;
left:24px;
right:24px;
background:var(--lime);
padding:17px 20px;
font-size:16px;
line-height:1.5;
box-shadow:0 5px 16px #143c3210}
.hero-image figcaption>span{
margin-right:15px}
.hero-image small{
display:block;
font-size:16px;
margin-left:29px;
opacity:.72}
.principles{
border-block:1px solid var(--line)}
.principles-inner{
display:flex;
justify-content:space-between;
gap:25px;
padding-block:20px;
font-size:16px}
.principles i{
font-style:normal;
font-size:16px;
color:var(--muted);
margin-right:12px}
.section{
padding-block:80px}
.section-heading{
display:flex;
justify-content:space-between;
align-items:flex-end;
gap:65px;
margin-bottom:34px}
.section-heading h2{
margin-bottom:0}
.section-heading>p{
font-size:16px;
max-width:365px;
color:var(--muted);
margin-bottom:3px}
.editorial-notice{
border:1px solid var(--line);
background:#eeefe7;
display:flex;
align-items:flex-start;
gap:22px;
padding:20px 23px;
font-size:16px;
margin-bottom:30px}
.notice-label{
white-space:nowrap;
font-weight:700;
letter-spacing:.02em}
.editorial-notice p{
margin:0;
flex:1;
line-height:1.7;
color:var(--muted)}
.editorial-notice>a{
font-size:16px;
white-space:nowrap}
.finance-path{
background:var(--pine);
color:#f7f7ef}
.path-inner{
display:grid;
grid-template-columns:1fr 1fr;
gap:90px;
padding-block:75px}
.path-inner>div>p:not(.eyebrow){
color:#bfcfc5;
font-size:16px;
max-width:390px}
.path-list article{
display:flex;
gap:24px;
padding:23px 0;
border-top:1px solid #ffffff35}
.path-list article:first-child{
padding-top:0;
border:0}
.path-list article>span{
color:var(--lime);
font-size:16px;
padding-top:2px}
.path-list h3{
font-size:20px;
letter-spacing:-.03em;
margin-bottom:9px}
.path-list p{
font-size:16px;
color:#c9d6ce;
line-height:1.8;
margin:0}
.guide-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
border:1px solid var(--line)}
.guide-card{
position:relative;
text-decoration:none;
min-height:270px;
padding:30px 25px;
border-right:1px solid var(--line);
transition:background .18s ease}
.guide-card:last-child{
border-right:0}
.guide-card:hover{
background:#ebeedf;
color:var(--pine)}
.guide-card .eyebrow{
font-size:16px;
display:block;
margin-bottom:25px;
color:var(--muted)}
.guide-card h3{
font-size:22px;
line-height:1.2}
.guide-card p{
font-size:16px;
line-height:1.8;
color:var(--muted);
max-width:220px}
.guide-arrow{
position:absolute;
bottom:22px;
right:25px;
font-size:20px}
.cost-section{
padding-top:20px;
display:grid;
grid-template-columns:1fr 1fr;
gap:90px}
.cost-copy{
font-size:16px;
color:var(--muted);
padding-top:4px}
.cost-copy .text-link{
color:var(--ink)}
.faq-section{
border-top:1px solid var(--line)}
.faq-list{
margin-top:36px;
border-top:1px solid var(--line)}
details{
border-bottom:1px solid var(--line)}
summary{
font-size:16px;
font-weight:500;
padding:22px 0;
cursor:pointer;
list-style:none;
display:flex;
justify-content:space-between;
gap:24px}
summary::-webkit-details-marker{
display:none}
summary:after{
content:'+';
font-size:24px;
line-height:1}
details[open]>summary:after{
content:'−'}
details>p{
max-width:790px;
color:var(--muted);
font-size:16px;
padding-right:30px}
.source-line{
font-size:16px;
color:var(--muted);
margin:35px 0 0}
.site-footer{
border-top:1px solid var(--line);
background:#edeee5}
.footer-top{
display:flex;
justify-content:space-between;
gap:35px;
padding-block:45px}
.footer-top p{
font-size:16px;
color:var(--muted);
margin-top:18px}
.footer-top nav{
display:flex;
gap:30px;
align-items:center;
font-size:16px;
flex-wrap:wrap}
.footer-bottom{
display:flex;
justify-content:space-between;
gap:80px;
border-top:1px solid #d0d7cb;
padding-block:25px;
color:var(--muted);
font-size:16px}
.footer-bottom p{
max-width:800px;
margin-bottom:0}
.footer-bottom>span{
white-space:nowrap}
.article-main{
padding-top:35px;
padding-bottom:90px}
.breadcrumbs{
display:flex;
gap:12px;
font-size:16px;
color:var(--muted);
margin-bottom:50px;
flex-wrap:wrap}
.article-shell{
max-width:1000px;
margin-inline:auto}
.article-header{
max-width:850px;
margin-bottom:48px}
.article-header h1{
font-size:clamp(2.6rem,4.8vw,4.6rem);
line-height:1.08}
.article-meta{
font-size:16px;
color:var(--muted);
margin-top:23px}
.article-content{
max-width:1000px;
font-size:16px;
line-height:1.9}
.article-content>p,.article-content>h2,.article-content>h3,.article-content>ul,.article-content>ol,.article-content>.content-note,.article-content>.source-box{
max-width:780px}
.article-content h2{
font-size:31px;
margin-top:48px;
margin-bottom:22px}
.article-content h3{
font-size:23px;
margin-top:30px;
margin-bottom:15px}
.article-content li{
margin-bottom:10px}
.article-content .lead{
font-size:21px;
line-height:1.7;
color:var(--muted)}
.content-note{
border-left:3px solid var(--pine);
padding:22px 26px;
background:#ebeee2;
margin:30px 0;
font-size:16px}
.content-note p:last-child{
margin:0}
.source-box{
font-size:16px;
background:#eff1e8;
padding:25px;
margin-top:45px}
.source-box h2{
font-size:18px;
margin:0 0 15px}
.source-box li{
margin-bottom:8px}
.error-page{
padding:70px 0;
min-height:50vh}
.calculator{
display:grid;
grid-template-columns:1.1fr 1fr;
border:1px solid var(--line);
margin:35px 0}
.calc-inputs{
background:white;
padding:36px}
.calc-inputs h2{
margin-top:0;
font-size:29px}
.calc-intro{
font-size:16px;
color:var(--muted);
line-height:1.7}
.calc-field{
display:flex;
flex-direction:column;
margin:0 0 17px;
gap:7px}
.calc-field label{
font-weight:600;
font-size:16px;
line-height:1.6}
.calc-field input,.calc-field select{
width:100%;
padding:13px 12px;
border:1px solid #bbc7ba;
background:#fff;
color:var(--ink);
border-radius:0;
min-height:48px}
.calc-field small{
font-size:16px;
line-height:1.6;
color:var(--muted)}
.calc-row{
display:grid;
grid-template-columns:1fr 1fr;
gap:16px}
.calc-results{
padding:36px;
background:var(--pine);
color:white;
line-height:1.7}
.calc-results .eyebrow{
color:var(--lime);
margin-bottom:40px}
.calc-result-label{
font-size:16px;
margin:0 0 4px;
color:#ccdbcf}
.calc-primary{
display:block;
font-size:40px;
font-weight:500;
letter-spacing:-.04em;
line-height:1.3;
overflow-wrap:anywhere}
.calc-totals{
margin-top:35px}
.calc-totals>div{
padding:17px 0;
border-top:1px solid #ffffff30;
display:flex;
justify-content:space-between;
align-items:center;
gap:24px;
font-size:16px}
.calc-totals output{
white-space:nowrap;
font-size:16px}
.calc-totals span{
max-width:210px;
color:#ccdbcf}
.calc-assumption{
font-size:16px;
line-height:1.8;
margin-top:25px;
color:#d2dfd5}
.calc-disclaimer{
font-size:16px;
line-height:1.8;
color:#c0d1c6}
.calc-results>a{
font-size:16px;
color:var(--lime)}
.calc-error{
color:#a22314;
font-size:16px;
margin-top:15px}
.calc-form .button{
width:100%;
margin-top:10px}
.yr-business{
margin-top:26px}
.yr-business [hidden],.calculator [hidden]{
display:none!important}
.yr-business label{
font-size:16px;
font-weight:500}
.yr-business input,.yr-business select{
padding:11px 12px;
background:white;
border:1px solid #bbc7ba;
color:var(--ink);
min-width:0;
max-width:100%;
min-height:44px}
.yr-filters,.yr-business-filters{
display:grid;
grid-template-columns:repeat(4,minmax(0,1fr));
gap:17px;
background:#eeefe7;
border:1px solid var(--line);
padding:25px;
margin-bottom:24px}
.yr-filters label,.yr-business-filters label{
display:flex;
flex-direction:column;
gap:7px}
.yr-business button{
font-size:16px;
border:1px solid var(--pine);
padding:10px 17px;
color:white;
background:var(--pine)}
.yr-business-count,.yr-result-count{
font-size:16px;
color:var(--muted);
margin-block:18px}
.yr-offer{
background:white;
border:1px solid var(--line);
padding:28px;
margin-top:18px}
.yr-offer h3{
font-size:26px}
.yr-offer p{
font-size:16px;
color:var(--muted)}
.yr-offer dl{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:15px 30px;
margin:25px 0}
.yr-offer dt{
font-size:16px;
text-transform:uppercase;
letter-spacing:.06em;
color:var(--muted)}
.yr-offer dd{
margin:5px 0 0;
font-size:16px;
line-height:1.5}
.yr-offer a{
font-size:16px}
.yr-offer summary{
font-size:16px;
padding:18px 0}
.yr-offer details p{
font-size:16px}
.yr-offer-header,.yr-offer__header{
display:flex;
justify-content:space-between;
align-items:flex-start;
gap:25px}
.yr-offer-actions,.yr-offer__actions{
display:flex;
align-items:center;
gap:25px;
flex-wrap:wrap;
margin-top:22px}
.yr-offer-checked{
font-size:16px;
color:var(--muted)}
.yr-empty,.yr-business-empty{
padding:30px;
border:1px solid var(--line);
background:white;
font-size:16px}
.yr-review{
max-width:1000px;
margin:40px auto 80px;
padding:0 35px}
.yr-review h1{
font-size:clamp(2.8rem,5vw,4.5rem)}
.yr-review dl{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:20px;
padding:30px;
background:white;
border:1px solid var(--line)}
.yr-review dt{
font-size:16px;
color:var(--muted)}
.yr-review dd{
margin:4px 0 0}
.yr-review-content{
font-size:16px;
line-height:1.9}
.yr-review h2{
font-size:30px;
margin-top:40px}
.yr-review h3{
font-size:23px}
.yr-review>p{
max-width:800px}
.yr-review a{
overflow-wrap:anywhere}
.yr-review [role=note]{
background:#ebeee2;
padding:20px;
font-size:16px}

@media(min-width:1440px){
.hero{
gap:100px}
.hero-image>img{
aspect-ratio:1.16}
}
@media(max-width:1100px){
.wrap{
width:calc(100% - 56px)}
.hero{
gap:35px}
.hero-actions{
gap:20px}
.hero-lead{
font-size:16px}
#primary-nav{
gap:20px}
.wordmark{
font-size:22px}
.guide-grid{
grid-template-columns:repeat(2,1fr)}
.guide-card:nth-child(2){
border-right:0}
.guide-card:nth-child(-n+2){
border-bottom:1px solid var(--line)}
.guide-card{
min-height:230px}
.path-inner,.cost-section{
gap:45px}
.footer-top nav{
max-width:400px;
gap:16px 25px}
.yr-filters,.yr-business-filters{
grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:840px){
.header-inner{
min-height:80px}
.nav-toggle{
display:flex;
gap:18px;
align-items:center;
background:none;
border:1px solid var(--line);
color:var(--ink);
font-size:16px;
padding:11px 14px}
#primary-nav{
display:none;
position:absolute;
top:80px;
left:0;
right:0;
background:var(--paper);
z-index:20;
flex-direction:column;
align-items:stretch;
padding:16px 28px 24px;
border-bottom:1px solid var(--line);
gap:0}
#primary-nav.is-open{
display:flex}
#primary-nav>a{
padding:14px 0}
.nav-method{
border:0}
.hero{
padding-block:40px;
grid-template-columns:1fr 1fr;
gap:25px}
.hero-copy h1{
font-size:52px}
.hero .eyebrow{
font-size:16px;
letter-spacing:.1em}
.hero-image>img{
aspect-ratio:.75}
.hero-image figcaption{
left:12px;
right:12px;
font-size:16px;
padding:12px}
.hero-image small{
margin-left:0}
.hero-image figcaption>span{
margin-right:4px}
.hero-actions{
margin-top:20px;
gap:17px}
.hero-actions .button{
padding:13px 15px;
font-size:16px}
.hero-actions .text-link{
font-size:16px}
.principles-inner{
gap:15px;
font-size:16px}
.principles i{
margin-right:4px}
.section{
padding-block:55px}
.section-heading{
gap:30px}
.section-heading>p{
font-size:16px;
max-width:280px}
.section-heading h2{
font-size:31px}
.editorial-notice{
gap:12px;
flex-wrap:wrap}
.editorial-notice>p{
min-width:70%}
.editorial-notice>a{
margin-left:auto}
.path-inner{
grid-template-columns:1fr;
gap:30px;
padding-block:55px}
.path-inner>div>p:not(.eyebrow){
max-width:590px}
.path-list{
max-width:650px}
.cost-section{
grid-template-columns:1fr;
gap:10px;
padding-top:5px}
.footer-top{
flex-direction:column;
gap:15px}
.footer-top nav{
max-width:none}
.footer-bottom{
gap:30px}
.calculator{
grid-template-columns:1fr}
.calc-primary{
font-size:43px}
.calc-results .eyebrow{
margin-bottom:25px}
.yr-offer dl{
grid-template-columns:repeat(2,minmax(0,1fr))}
.yr-filters,.yr-business-filters{
grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
.wrap{
width:calc(100% - 36px)}
.header-inner{
min-height:74px;
gap:12px}
.wordmark{
font-size:22px;
gap:8px}
.brand-mark{
width:30px;
height:30px;
font-size:27px}
.nav-toggle{
padding:9px 11px;
gap:10px;
font-size:16px}
#primary-nav{
top:74px;
padding-inline:18px}
.hero{
grid-template-columns:1fr;
padding-top:32px;
padding-bottom:35px;
gap:30px}
.hero-copy h1{
font-size:63px;
margin-bottom:22px}
.hero-lead{
font-size:16px;
max-width:420px}
.hero .eyebrow{
font-size:16px;
margin-bottom:22px}
.hero-actions{
gap:22px}
.hero-actions .button{
padding:16px 20px;
font-size:16px}
.hero-note{
font-size:16px;
margin-top:17px}
.hero-image>img{
aspect-ratio:1.5;
object-position:center}
.hero-image{
padding-bottom:20px}
.hero-image figcaption{
left:15px;
right:15px;
padding:11px 15px;
font-size:16px}
.hero-image small{
margin-left:20px;
font-size:16px}
.hero-image figcaption>span{
margin-right:10px}
.principles-inner{
gap:10px;
padding-block:15px;
font-size:16px;
line-height:1.5}
.principles-inner>span{
max-width:110px}
.principles i{
display:block;
margin-bottom:3px}
.section{
padding-block:46px}
.section-heading{
display:block;
margin-bottom:25px}
.section-heading>p{
margin-top:20px;
max-width:100%;
font-size:16px}
.section-heading h2{
font-size:34px}
.eyebrow{
font-size:16px;
margin-bottom:18px}
.editorial-notice{
padding:17px;
font-size:16px;
gap:8px}
.editorial-notice p{
min-width:100%}
.editorial-notice>a{
margin-left:0;
margin-top:6px}
.guide-grid{
grid-template-columns:1fr 1fr}
.guide-card{
padding:22px 17px;
min-height:265px}
.guide-card .eyebrow{
font-size:16px;
margin-bottom:20px}
.guide-card h3{
font-size:22px}
.guide-card p{
font-size:16px}
.guide-arrow{
bottom:15px;
right:17px}
.path-inner{
padding-block:45px}
.path-inner h2{
font-size:32px}
.path-list article{
gap:20px}
.path-list p{
font-size:16px}
.cost-section{
padding-top:0}
.cost-section h2{
font-size:31px}
.cost-copy{
font-size:16px}
.faq-section h2{
font-size:32px}
summary{
font-size:16px;
line-height:1.5;
gap:20px;
padding-block:20px}
.source-line{
font-size:16px}
.footer-top{
padding-block:32px}
.footer-top nav{
display:flex;
flex-direction:column;
align-items:flex-start;
gap:13px;
font-size:16px}
.footer-bottom{
display:block;
padding-block:22px;
font-size:16px}
.footer-bottom>span{
display:block;
margin-top:18px}
.article-main{
padding-top:23px;
padding-bottom:55px}
.breadcrumbs{
font-size:16px;
margin-bottom:35px}
.article-header h1{
font-size:40px;
overflow-wrap:anywhere}
.article-header{
margin-bottom:30px}
.article-content{
font-size:16px;
line-height:1.9}
.article-content .lead{
font-size:18px}
.article-content h2{
font-size:28px;
margin-top:35px}
.article-content h3{
font-size:21px}
.article-meta{
font-size:16px}
.calc-inputs,.calc-results{
padding:24px 20px}
.calc-inputs h2{
font-size:26px}
.calc-row{
gap:12px}
.calc-primary{
font-size:39px}
.calc-field label{
font-size:16px}
.calc-field input,.calc-field select{
padding:11px 9px;
font-size:16px}
.calc-field select{
font-size:16px}
.calc-totals>div{
gap:20px}
.calc-totals output{
font-size:16px}
.yr-filters,.yr-business-filters{
padding:18px;
gap:15px 12px}
.yr-business input,.yr-business select{
width:100%;
font-size:16px}
.yr-offer{
padding:21px 18px}
.yr-offer h3{
font-size:24px}
.yr-offer dl{
gap:18px 15px}
.yr-offer dd{
font-size:16px}
.yr-review{
margin:30px auto 50px;
padding-inline:18px}
.yr-review h1{
font-size:42px}
.yr-review dl{
padding:22px;
grid-template-columns:1fr}
.yr-review-content{
font-size:16px}
.yr-review h2{
font-size:28px}
}
@media(prefers-reduced-motion:reduce){
html{
scroll-behavior:auto}
*,*:before,*:after{
transition:none!important;
animation:none!important}
}


/* The comparison and review surfaces below are rendered by the reused plugins. */
.yr-business{
color:var(--ink)}
.yr-business__header{
display:none}
.yr-filter{
border:1px solid var(--line);
border-radius:0;
background:#eeefe7;
padding:25px;
margin:0 0 22px}
.yr-filter legend{
font-size:16px;
font-weight:600;
letter-spacing:.05em}
.yr-filter__grid{
grid-template-columns:repeat(4,minmax(0,1fr));
gap:20px 18px;
margin-top:17px}
.yr-filter label{
font-size:16px;
font-weight:500;
align-content:start;
min-width:0}
.yr-filter input,.yr-filter select{
font-size:16px}
.yr-filter input[type=range]{
padding:0;
background:transparent;
border:0;
accent-color:var(--pine);
min-height:35px}
.yr-filter output{
font-size:16px;
color:var(--ink);
font-weight:600}
.yr-filter__reset{
border:0;
border-radius:0;
background:transparent;
color:var(--ink);
font-size:16px!important;
width:auto!important;
padding:3px 0!important;
min-height:30px!important;
text-decoration:underline;
text-underline-offset:4px}
.yr-business__count{
font-size:16px;
font-weight:400;
color:var(--muted);
margin-bottom:22px}
.yr-offers{
gap:20px}
.yr-offer{
padding:29px;
border:1px solid var(--line);
border-radius:0;
box-shadow:none;
margin:0}
.yr-offer__header h3{
font-size:27px;
font-weight:500;
letter-spacing:-.04em;
line-height:1.2}
.yr-offer__header{
margin-bottom:25px}
.yr-offer__type{
font-size:16px!important;
margin-top:8px;
max-width:510px}
.yr-offer__checked{
font-size:16px!important;
color:var(--muted);
white-space:nowrap}
.yr-offer__facts{
grid-template-columns:repeat(3,minmax(0,1fr))!important;
gap:22px 30px!important;
margin:0!important}
.yr-offer__facts dt{
font-size:16px!important;
font-weight:400;
letter-spacing:.06em;
color:var(--muted)}
.yr-offer__facts dd{
font-size:16px;
font-weight:500;
margin-top:6px}
.yr-offer__pricing,.yr-offer__eligibility{
border-color:var(--line);
font-size:16px;
color:var(--muted);
padding-top:18px;
margin-top:20px}
.yr-offer__pricing strong,.yr-offer__eligibility strong{
color:var(--ink);
font-size:16px}
.yr-offer__pricing p{
font-size:16px;
line-height:1.8;
margin-top:8px}
.yr-offer__eligibility{
line-height:1.8}
.yr-offer__details{
margin-top:19px;
border-top:1px solid var(--line)}
.yr-offer__details summary{
font-size:16px}
.yr-offer__details p{
font-size:16px}
.yr-offer__actions{
margin-top:20px}
.yr-offer__official,.yr-offer__apply{
border-radius:0!important;
font-size:16px!important;
padding:13px 18px!important}
.yr-offer__official{
border-color:var(--pine)}
.yr-offer__commercial-note{
max-width:550px;
font-size:16px}
.yr-review__breadcrumbs-list{
display:flex;
gap:12px;
list-style:none;
padding:0;
margin-bottom:45px;
font-size:16px;
flex-wrap:wrap;
color:var(--muted)}
.yr-review__eyebrow{
font-size:16px;
letter-spacing:.1em;
text-transform:uppercase;
margin-top:25px}
.yr-review__checked{
font-size:16px;
color:var(--muted);
margin-bottom:35px}
.yr-review__layout{
display:grid;
grid-template-columns:minmax(0,1fr) 250px;
gap:45px}
.yr-review__facts h2{
font-size:28px;
margin-top:0}
.yr-review__fact-list{
padding:24px!important;
gap:20px!important}
.yr-review__fact-list dd{
font-size:16px;
line-height:1.7;
overflow-wrap:anywhere}
.yr-review__pricing-note{
font-size:16px;
color:var(--muted);
padding:20px;
background:#e9eedf}
.yr-review__prose{
font-size:16px;
line-height:1.9}
.yr-review__prose .lead{
font-size:18px;
color:var(--muted)}
.yr-review__source-list{
font-size:16px;
padding-left:18px}
.yr-review__source-checked{
font-size:16px;
color:var(--muted)}
.yr-review__aside{
padding-top:0}
.yr-review__summary{
background:#e8eddd;
border:1px solid var(--line);
padding:24px}
.yr-review__summary h2{
font-size:23px;
margin:0 0 23px}
.yr-review__summary p{
font-size:16px}
.yr-review__summary a{
font-size:16px}
.yr-review__commercial-cta{
font-size:16px;
border-top:1px solid var(--line);
padding-top:15px}
.yr-review__cta{
background:var(--pine);
color:white;
padding:13px;
display:block;
text-decoration:none}
.yr-review__informational-link{
margin-top:25px}
.yr-review__sources{
border-top:1px solid var(--line);
margin-top:35px}
.yr-review__archive-list{
list-style:none;
padding:0;
display:grid;
gap:20px}
.yr-review__archive-item{
background:white;
border:1px solid var(--line);
padding:25px}
.yr-review__archive-item h2{
margin-top:0;
font-size:26px}

@media(max-width:1000px){
.yr-review__layout{
grid-template-columns:minmax(0,1fr) 220px;
gap:25px}
.yr-filter__grid{
grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:700px){
.yr-filter__grid{
grid-template-columns:repeat(2,minmax(0,1fr));
gap:17px 14px}
.yr-filter{
padding:20px}
.yr-review__layout{
display:block}
.yr-review__aside{
margin-top:35px}
.yr-review__summary{
max-width:550px}
}
@media(max-width:600px){
.yr-offer{
padding:22px 18px}
.yr-offer__header{
display:block}
.yr-offer__header h3{
font-size:26px}
.yr-offer__checked{
font-size:16px!important;
margin-top:14px}
.yr-offer__facts{
grid-template-columns:repeat(2,minmax(0,1fr))!important;
gap:19px 15px!important}
.yr-offer__facts dd{
font-size:16px}
.yr-offer__official{
line-height:1.6!important;
white-space:normal}
.yr-filter input,.yr-filter select{
font-size:16px;
padding-inline:7px}
.yr-filter legend{
font-size:16px}
.yr-filter label{
font-size:16px}
.yr-review__fact-list{
grid-template-columns:1fr!important}
.yr-review__breadcrumbs-list{
font-size:16px;
margin-bottom:30px}
}


.yr-filter small{
font-size:16px;
font-weight:400;
color:var(--muted);
line-height:1.5}
.yr-reviews-archive{
width:min(1000px,calc(100% - 70px));
margin:35px auto 80px}
.yr-reviews-archive__breadcrumbs ol{
display:flex;
list-style:none;
padding:0;
gap:20px;
font-size:16px;
color:var(--muted);
margin-bottom:45px}
.yr-reviews-archive__header h1{
font-size:clamp(2.7rem,5vw,4rem)}
.yr-reviews-archive__header>p{
font-size:16px;
max-width:650px;
color:var(--muted);
margin-bottom:40px}
.yr-reviews-archive__list{
display:grid;
gap:25px}
.yr-reviews-archive__card{
padding:30px;
border:1px solid var(--line);
background:white}
.yr-reviews-archive__body h2{
font-size:27px;
margin-bottom:20px}
.yr-reviews-archive__body p{
font-size:16px;
color:var(--muted)}
.yr-reviews-archive__facts{
display:flex;
gap:60px;
margin-block:25px}
.yr-reviews-archive__facts dt{
font-size:16px;
color:var(--muted)}
.yr-reviews-archive__facts dd{
margin:5px 0 0;
font-size:16px}
.yr-reviews-archive__actions a{
font-size:16px;
font-weight:600}
@media(max-width:600px){
.yr-reviews-archive{
width:calc(100% - 36px)}
.yr-reviews-archive__card{
padding:22px}
.yr-reviews-archive__facts{
gap:25px}
}


/* Release 1.1: readable text hierarchy and genuine reflow, not hidden overflow. */
:root {
 --body-size:18px;
 --secondary-size:16px;
 --meta-size:14px;
 }

body {
 font-size:var(--body-size);
 line-height:1.7;
 }

.hero-copy,.hero-image,.section-heading>div,.path-inner>div,.cost-section>div,.guide-card,.yr-review__main,.yr-review__aside {
 min-width:0;
 }

.hero-copy h1 {
 font-size:clamp(42px,5.2vw,76px);
 line-height:1.07;
 overflow-wrap:break-word;
 letter-spacing:-.045em;
 }

.hero-lead {
 font-size:20px;
 max-width:530px;
 }

.hero-note,.hero-image small {
 font-size:14px;
 }

.hero-image figcaption {
 font-size:16px;
 }

.hero-image small {
 opacity:1;
 }

.eyebrow,.hero .eyebrow,.guide-card .eyebrow,.yr-review__eyebrow {
 font-size:14px;
 letter-spacing:.08em;
 }

#primary-nav a,.button,.hero-actions .button,.text-link,.hero-actions .text-link,.nav-toggle {
 font-size:16px;
 }

.section-heading>p,.path-inner>div>p:not(.eyebrow),.cost-copy,.article-content,.yr-review__prose,.yr-reviews-archive__body p {
 font-size:18px;
 line-height:1.8;
 }

.path-list p,.guide-card p,.faq-list details>p,details>p,.editorial-notice p,.yr-offer p,.yr-review__pricing-note,.yr-review__summary p {
 font-size:16px;
 line-height:1.75;
 }

.editorial-notice,.editorial-notice>a,.notice-label {
 font-size:16px;
 }

.editorial-notice {
 display:grid;
 grid-template-columns:auto minmax(0,1fr);
 }

.editorial-notice>a {
 grid-column:2;
 white-space:normal;
 margin-left:0;
 }

summary,.yr-offer__details summary {
 font-size:18px;
 line-height:1.5;
 }

.guide-grid {
 grid-template-columns:repeat(4,minmax(0,1fr));
 }

.guide-card {
 padding-bottom:60px;
 min-height:310px;
 }

.guide-card h3 {
 overflow-wrap:break-word;
 }

.guide-card p {
 max-width:none;
 }

.principles-inner {
 font-size:16px;
 }

.principles i,.breadcrumbs,.article-meta,.yr-review__breadcrumbs-list,.yr-review__checked,.yr-review__source-checked,.source-line,.footer-bottom {
 font-size:14px;
 }

.footer-top p,.footer-top nav,.source-box,.content-note {
 font-size:16px;
 }

.source-box h2 {
 font-size:22px;
 }

.yr-business .yr-filter {
 min-width:0;
 }

.yr-filter fieldset {
 min-width:0;
 }

.yr-filter legend,.yr-filter label,.yr-filter input,.yr-filter select,.yr-filter output {
 font-size:16px;
 }

.yr-filter__grid {
 grid-template-columns:repeat(3,minmax(0,1fr));
 gap:22px;
 }

.yr-filter__basic {
 grid-template-columns:repeat(2,minmax(0,1fr));
 }

.yr-filter label {
 display:flex;
 flex-direction:column;
 min-width:0;
 gap:9px;
 }

.yr-filter input,.yr-filter select {
 width:100%;
 max-width:100%;
 min-width:0;
 }

.yr-filter input[type=range] {
 min-height:44px;
 }

.yr-filter__advanced {
 margin-top:18px;
 border-top:1px solid var(--line);
 }

.yr-filter__advanced>summary {
 font-size:16px;
 }

.yr-filter__help,.yr-filter small,.yr-filter__static {
 font-size:14px;
 line-height:1.65;
 margin:0 0 20px;
 max-width:none;
 }

.yr-filter__static {
 align-self:center;
 }

.yr-filter label.yr-filter__unknown {
 flex-direction:row;
 align-items:flex-start;
 margin:22px 0 14px;
 font-size:16px;
 }

.yr-filter__unknown input {
 width:20px;
 min-height:20px;
 height:20px;
 flex:none;
 margin-top:5px;
 accent-color:var(--pine);
 }

.yr-business .yr-filter__reset {
 font-size:16px!important;
 min-height:44px!important;
 padding:8px 12px!important;
 color:var(--pine);
 background:transparent;
 }

.yr-business__count {
 font-size:16px;
 }

.yr-business__no-results h3 {
 font-size:24px;
 letter-spacing:-.02em;
 }

.yr-business__no-results p,.yr-business__no-results button {
 font-size:16px;
 }

.yr-business__no-results button {
 min-height:48px;
 white-space:normal;
 text-align:left;
 }

.yr-business__no-results p:last-child {
 margin:20px 0 0;
 }

.yr-offer__header h3 {
 font-size:30px;
 }

.yr-offer__type {
 font-size:16px!important;
 line-height:1.6;
 }

.yr-offer__checked {
 font-size:14px!important;
 white-space:normal;
 }

.yr-offer__facts dt {
 font-size:14px!important;
 letter-spacing:0;
 text-transform:none;
 }

.yr-offer__facts dd {
 font-size:18px;
 font-weight:500;
 line-height:1.6;
 }

.yr-offer__pricing,.yr-offer__eligibility,.yr-offer__pricing strong,.yr-offer__eligibility strong {
 font-size:16px;
 }

.yr-offer__details p,.yr-offer__pricing p {
 font-size:16px;
 }

.yr-offer__review {
 display:inline-flex;
 align-items:center;
 min-height:48px;
 font-size:16px!important;
 font-weight:600;
 }

.yr-offer__official,.yr-offer__apply {
 font-size:16px!important;
 }

.yr-offer__actions {
 display:flex;
 gap:14px 25px;
 justify-content:space-between;
 align-items:center;
 }

.yr-offer__commercial-note {
 font-size:14px;
 flex-basis:100%;
 }

.yr-review__fact-list dd {
 font-size:16px;
 line-height:1.75;
 }

.yr-review dt {
 font-size:14px;
 }

.yr-review__summary a,.yr-review__source-list {
 font-size:16px;
 }

.yr-review__prose .lead,.article-content .lead {
 font-size:21px;
 }

.yr-review__layout {
 grid-template-columns:minmax(0,1fr) 275px;
 gap:40px;
 }

.yr-reviews-archive__facts {
 flex-wrap:wrap;
 }

.yr-reviews-archive__facts dt {
 font-size:14px;
 }

.yr-reviews-archive__facts dd,.yr-reviews-archive__actions a {
 font-size:16px;
 }

.calc-inputs,.calc-results {
 min-width:0;
 }

.calc-row {
 grid-template-columns:repeat(2,minmax(0,1fr));
 }

.calc-intro,.calc-field label,.calc-field input,.calc-field select,.calc-result-label,.calc-totals>div,.calc-results>a {
 font-size:16px;
 }

.calc-field small,.calc-assumption,.calc-disclaimer,.calc-error {
 font-size:14px;
 line-height:1.7;
 }

.calc-totals output {
 font-size:18px;
 }

.calc-totals>div {
 align-items:flex-start;
 flex-wrap:wrap;
 gap:8px 20px;
 }

.calc-totals span {
 max-width:260px;
 }

.calc-primary {
 font-size:clamp(32px,4vw,46px);
 }

.calculator input[aria-invalid=true] {
 border-color:#a22314;
 box-shadow:0 0 0 1px #a22314;
 }

.path-action {
 display:inline-block;
 margin-top:15px;
 color:var(--lime);
 font-size:16px;
 text-underline-offset:5px;
 }

.offer-checklist-link {
 margin-top:22px;
 font-size:16px;
 }

@media(max-width:1100px) {

  .guide-grid {
 grid-template-columns:repeat(2,minmax(0,1fr));
 }

  .yr-review__layout {
 display:block;
 }

  .yr-review__summary {
 max-width:620px;
 }

}

@media(max-width:840px) {

  .hero-lead {
 font-size:18px;
 }

  .yr-filter__grid {
 grid-template-columns:repeat(2,minmax(0,1fr));
 }

}

@media(max-width:600px) {

  .hero-copy h1 {
 font-size:clamp(38px,10vw,55px);
 }

  .hero .eyebrow,.eyebrow,.guide-card .eyebrow {
 font-size:14px;
 }

  .hero-actions {
 gap:16px;
 }

  .hero-actions .button,.hero-actions .text-link,.nav-toggle {
 font-size:16px;
 }

  .hero-image figcaption {
 position:relative;
 left:auto;
 right:auto;
 bottom:auto;
 margin:-12px 12px 0;
 }

  .hero-image {
 padding-bottom:0;
 }

  .hero-image small {
 margin-left:0;
 font-size:14px;
 }

  .principles-inner {
 flex-direction:column;
 gap:9px;
 font-size:16px;
 }

  .principles-inner>span {
 max-width:none;
 }

  .principles i {
 display:inline;
 font-size:14px;
 margin-right:10px;
 }

  .editorial-notice {
 display:block;
 }

  .editorial-notice p {
 margin-top:9px;
 min-width:0;
 }

  .editorial-notice>a {
 display:inline-block;
 margin-top:12px;
 }

  .guide-grid {
 grid-template-columns:minmax(0,1fr);
 }

  .guide-card {
 min-height:0;
 padding:26px 24px 50px;
 border-right:0;
 border-bottom:1px solid var(--line);
 }

  .guide-card:last-child {
 border-bottom:0;
 }

  .article-content,.yr-review__prose,.section-heading>p,.cost-copy {
 font-size:18px;
 }

  .hero-note,.source-line,.article-meta,.footer-bottom {
 font-size:14px;
 }

  .yr-offer__facts {
 grid-template-columns:repeat(2,minmax(0,1fr))!important;
 }

  .yr-offer__facts dd {
 font-size:18px;
 }

  .yr-offer__facts dt {
 font-size:14px!important;
 }

  .yr-filter__advanced>.yr-filter__grid {
 grid-template-columns:minmax(0,1fr);
 }

  .yr-filter input,.yr-filter select {
 font-size:16px;
 }

  .yr-offer__checked {
 font-size:14px!important;
 }

  .yr-offer__actions {
 align-items:flex-start;
 flex-direction:column;
 }

  .yr-offer__official {
 width:100%;
 }

  .footer-top nav {
 font-size:16px;
 }

  .calc-field select {
 font-size:16px;
 }

  .calc-row {
 grid-template-columns:minmax(0,1fr);
 }

  .calc-totals output {
 white-space:normal;
 overflow-wrap:anywhere;
 }

}

@media(max-width:360px) {

  .wordmark {
 font-size:20px;
 gap:7px;
 }

  .nav-toggle {
 padding:9px 10px;
 font-size:14px;
 }

  .nav-toggle>span {
 display:none;
 }

  .header-inner {
 gap:8px;
 }

  .hero-copy h1 {
 font-size:38px;
 }

  .hero-copy .eyebrow {
 font-size:14px;
 letter-spacing:.04em;
 }

  .yr-filter__basic {
 grid-template-columns:minmax(0,1fr);
 }

  .yr-offer__facts {
 grid-template-columns:minmax(0,1fr)!important;
 }

  .article-header h1,.yr-review h1 {
 font-size:36px;
 }

  .yr-reviews-archive__header h1 {
 font-size:36px;
 overflow-wrap:break-word;
 }

}

@media print {

  .site-header,.site-footer,.print-checklist,.hero-image {
 display:none;
 }

  body {
 background:white;
 color:#111;
 font-size:12pt;
 }

  .wrap,.article-shell {
 width:100%;
 max-width:none;
 }

  .article-main {
 padding:0;
 }

  a {
 color:inherit;
 }

  details {
 break-inside:avoid;
 }

}


.operator-credit {font-size:16px;padding-bottom:20px;margin-bottom:0;}
/* Long Finnish compound words must wrap, including prominent lead paragraphs. */
.article-content,.yr-review__prose { overflow-wrap:anywhere; hyphens:auto; }
.yr-reviews-archive { overflow-wrap:anywhere; hyphens:auto; }
.yr-reviews-archive__list { grid-template-columns:minmax(0,1fr); }
.yr-reviews-archive__card,.yr-reviews-archive__body,.yr-reviews-archive__facts>div { min-width:0; }
.yr-reviews-archive__facts>div { flex:1 1 140px; }

.yr-intermediaries { margin-top:55px; border-top:1px solid var(--line); padding-top:40px; }
.yr-intermediaries>h2 { font-size:32px; line-height:1.2; }
.yr-intermediaries>p { max-width:850px; font-size:18px; }
.yr-intermediaries__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:30px; }
.yr-intermediary { border:1px solid var(--line); padding:28px; background:white; min-width:0; overflow-wrap:anywhere; }
.yr-intermediary>h3 { font-size:28px; line-height:1.25; }
.yr-intermediary>p,.yr-intermediary a { font-size:16px; line-height:1.75; }
.yr-intermediary .eyebrow,.yr-intermediary__checked { font-size:14px; }
@media(max-width:700px) { .yr-intermediaries__grid { grid-template-columns:minmax(0,1fr); } .yr-intermediary { padding:24px; } }
