﻿/* Study RealEstate â€” Tricolour Broadsheet preset */
@import url('https://fonts.googleapis.com/css2?family=Baloo+2:wght@700&family=Mulish:wght@400;600&family=IBM+Plex+Mono:wght@500&display=swap');

:root{
  --page:#F5EFE3;
  --ink:#14293D;
  --gold:#E8B430;
  --cobalt:#1F6FB2;
  --green:#2E8B57;
  --action:#C4202B;
  --panel:#FFFFFF;
  --border:#E4DCC8;
  --max:1180px;
  --font-display:'Baloo 2',Verdana,sans-serif;
  --font-body:'Mulish',Arial,Helvetica,sans-serif;
  --font-mono:'IBM Plex Mono','Courier New',monospace;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--page);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.6;}
img{max-width:100%;display:block;}
a{color:inherit;}
.container{max-width:var(--max);margin-inline:auto;padding-inline:1.25rem;}
h1,h2,h3,h4{font-family:var(--font-display);color:var(--ink);line-height:1.15;margin:0 0 0.6em;}
h1{font-size:clamp(1.9rem,4vw,3rem);}
h2{font-size:clamp(1.5rem,3vw,2.15rem);margin-top:0;}
h3{font-size:1.15rem;}
p{margin:0 0 1em;}

.stripe-band{height:8px;display:flex;}
.stripe-band span{flex:1;}
.stripe-band .s1{background:var(--gold);}
.stripe-band .s2{background:var(--cobalt);}
.stripe-band .s3{background:var(--green);}

/* header */
.site-header{background:var(--ink);position:sticky;top:0;z-index:50;}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding-block:0.9rem;}
.brand{display:flex;align-items:center;gap:0.5rem;font-family:var(--font-display);font-size:1.4rem;color:#fff;text-decoration:none;}
.brand .b2{color:var(--gold);}
.nav-toggle{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.nav-btn{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:0.5rem;}
.bars,.bars::before,.bars::after{content:"";display:block;width:24px;height:2px;background:#fff;}
.bars::before{margin-top:6px;}
.bars::after{margin-top:6px;}
.menu-txt,.close-txt{display:none;}
.site-nav ul{display:flex;gap:1.6rem;list-style:none;margin:0;padding:0;}
.site-nav a{color:#fff;text-decoration:none;font-size:0.95rem;padding:0.6rem 0;display:inline-block;}
.site-nav a:hover{color:var(--gold);}
.nav-toggle:focus-visible + .nav-btn{outline:2px solid var(--gold);outline-offset:2px;}

@media (max-width:900px){
  .nav-btn{display:flex;}
  .site-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--ink);}
  .nav-toggle:checked ~ .site-nav{display:block;}
  .site-nav ul{flex-direction:column;gap:0;padding:0.5rem 1.25rem 1rem;}
  .site-nav a{min-height:44px;display:flex;align-items:center;}
}

/* hero */
.hero{padding-top:1.6rem;padding-bottom:0;}
.hero-grid{display:grid;grid-template-columns:1fr;gap:1.6rem;padding-bottom:1.3rem;}
.hero-copy{text-align:left;}
.hero-copy p{max-width:60ch;}
.hero-more summary{cursor:pointer;color:var(--action);font-weight:600;margin-bottom:0.6em;}
.byline-box{display:flex;align-items:center;gap:0.75rem;border:1px solid var(--border);background:var(--panel);padding:0.6rem 0.8rem;margin-top:0.9rem;border-radius:8px;}
.byline-box img{width:44px;height:44px;border-radius:50%;object-fit:cover;flex:0 0 auto;}
.byline-name{font-weight:700;color:var(--ink);white-space:nowrap;}
.byline-role-short{display:none;}
.byline-stats{margin-left:auto;padding-left:0.9rem;border-left:1px solid var(--border);font-family:var(--font-mono);font-size:0.78rem;text-align:right;}

@media (min-width:901px){.hero-grid{grid-template-columns:1fr 22rem;align-items:start;}}
@media (max-width:700px){
  .byline-role-long{display:none;}
  .byline-role-short{display:inline;}
}
@media (max-width:360px){
  .byline-box{gap:0.5rem;padding:0.5rem 0.6rem;}
  .byline-box img{width:36px;height:36px;}
  .byline-stats{font-size:0.7rem;padding-left:0.6rem;}
}

.hero-widget{display:none;}
@media (min-width:901px){
  .hero-widget{display:block;background:var(--ink);color:#fff;padding:1.1rem;border-radius:8px;}
  .hw-title{font-family:var(--font-mono);text-transform:uppercase;font-size:0.8rem;letter-spacing:0.1em;color:var(--gold);margin-bottom:0.6rem;}
  .hw-ladder{list-style:none;margin:0 0 0.9rem;padding:0;font-family:var(--font-mono);font-size:0.8rem;}
  .hw-ladder li{display:flex;justify-content:space-between;gap:0.5rem;padding:0.3rem 0;border-bottom:1px solid rgba(255,255,255,0.15);}
  .hw-ladder li.win{color:var(--gold);font-weight:700;}
  .hw-op{display:flex;align-items:center;gap:0.6rem;margin-bottom:0.5rem;}
  .hw-op img{width:36px;height:36px;background:#fff;padding:2px;border-radius:4px;}
  .hw-op-name{font-weight:700;}
  .hw-offer{background:rgba(232,180,48,0.14);border-left:3px solid var(--gold);padding:0.5rem 0.7rem;font-weight:700;margin-bottom:0.6rem;border-radius:4px;}
  .hw-cta{display:block;text-align:center;background:var(--action);color:#fff;padding:0.7rem;text-decoration:none;font-weight:700;text-transform:uppercase;border-radius:2px;}
  .hw-fine{font-size:0.7rem;opacity:0.75;margin-top:0.5rem;}
}

/* ranked list â€” cards */
.ranked-section{padding-block:1.1rem 1.6rem;}
.ranked-section > p{max-width:62ch;}
.ranked-list{display:flex;flex-direction:column;gap:0.9rem;margin-top:1rem;}
.op-card{display:grid;grid-template-columns:64px 15rem minmax(0,1fr) 11rem;align-items:center;gap:1rem;background:var(--panel);border:1px solid var(--border);border-left:6px solid var(--gold);padding:0.9rem 1.1rem;border-radius:6px;position:relative;}
.rank-num,.op-rating,.op-tagline,.op-info-row,.op-cta-arrow{display:none;}
.op-card .op-logo-box{width:56px;height:56px;display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
.op-card .op-logo-box img{max-width:100%;max-height:100%;object-fit:contain;}
.op-brand{display:flex;align-items:center;gap:0.8rem;min-width:0;}
.op-brand-text{min-width:0;}
.op-name{font-weight:700;color:var(--ink);display:block;font-family:var(--font-display);}
.top-pick-badge{display:inline-block;margin-top:0.25rem;background:var(--cobalt);color:#fff;font-family:var(--font-mono);font-size:0.68rem;text-transform:uppercase;letter-spacing:0.06em;padding:0.2rem 0.5rem;border-radius:3px;}
.op-metric{font-family:var(--font-mono);font-size:0.85rem;}
.op-offer{background:rgba(232,180,48,0.14);border-left:3px solid var(--action);padding:0.5rem 0.8rem;font-size:0.92rem;border-radius:4px;}
.op-offer strong{color:var(--action);}
.op-cta{width:100%;text-align:center;background:var(--action);color:#fff;text-decoration:none;padding:0.75rem 0.5rem;font-weight:700;text-transform:uppercase;border-radius:2px;}

.op-card.top-pick{background:var(--panel);border:3px solid var(--cobalt);border-left:6px solid var(--cobalt);}
.op-card.top-pick .top-pick-badge{background:var(--gold);color:var(--ink);}

.compliance-line{font-size:0.82rem;margin-top:1rem;max-width:70ch;}

@media (max-width:980px){
  .op-card{grid-template-columns:1fr;grid-template-areas:"brand" "info" "cta";row-gap:0.9rem;border-radius:14px;box-shadow:0 2px 10px rgba(20,41,61,0.12);padding:1.2rem 1rem 1rem;border-left-width:6px;}
  .op-card.top-pick{border-radius:14px;}
  .op-metric,.op-offer{display:none;}
  .op-logo-box{width:40px;height:40px;}
  .op-brand{grid-area:brand;gap:0.7rem;}
  .op-tagline{display:block;font-size:0.78rem;color:var(--ink);opacity:0.65;margin-top:0.1rem;text-transform:none;letter-spacing:normal;font-family:var(--font-body);}
  .top-pick-badge{margin-top:0.3rem;}

  .rank-num{display:flex;align-items:center;justify-content:center;position:absolute;top:-0.6rem;left:-0.6rem;width:2rem;height:2rem;border-radius:50%;background:var(--ink);color:#fff;border:2px solid var(--page);font-family:var(--font-mono);font-weight:700;font-size:0.8rem;}
  .op-card.top-pick .rank-num{background:var(--cobalt);}

  .op-rating{display:flex;flex-direction:column;align-items:center;justify-content:center;position:absolute;top:0.7rem;right:0.8rem;border:1px solid var(--border);border-radius:8px;padding:0.25rem 0.5rem;line-height:1.15;}
  .op-rating b{font-size:0.85rem;color:var(--ink);}
  .op-rating i{font-style:normal;font-size:0.55rem;text-transform:uppercase;letter-spacing:0.05em;opacity:0.6;}

  .op-info-row{display:flex;grid-area:info;gap:0.6rem;}
  .op-info-box{flex:1;min-width:0;background:rgba(232,180,48,0.1);border-radius:8px;padding:0.5rem 0.6rem;display:flex;flex-direction:column;gap:0.15rem;}
  .op-info-box.op-info-offer{border:1px solid var(--action);background:rgba(196,32,43,0.06);}
  .op-info-label{font-family:var(--font-mono);font-size:0.62rem;text-transform:uppercase;letter-spacing:0.04em;opacity:0.65;}
  .op-info-value{font-weight:700;color:var(--ink);font-size:0.9rem;}
  .op-info-value strong{color:var(--action);}

  .op-cta{grid-area:cta;width:100%;border-radius:999px;padding:0.8rem 0.5rem;display:flex;align-items:center;justify-content:center;gap:0.4rem;}
  .op-cta-arrow{display:inline;}
}

/* compare table */
.compare-section{padding-block:1.6rem;}
.compare-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:6px;}
table.compare{width:100%;border-collapse:collapse;font-size:0.9rem;min-width:760px;}
table.compare th,table.compare td{padding:0.7rem 0.8rem;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;}
table.compare thead th{background:var(--ink);color:#fff;font-family:var(--font-mono);text-transform:uppercase;font-size:0.75rem;letter-spacing:0.05em;}
table.compare tbody tr:nth-child(even){background:rgba(232,180,48,0.08);}

/* method */
.method-section{padding-block:1.6rem;}
.method-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:1rem;}
.method-card{background:var(--panel);border:1px solid var(--border);padding:1rem;text-align:center;border-radius:6px;}
.method-card h3{font-size:1rem;}
.method-card p{font-size:0.9rem;margin:0;}
.method-link{text-align:center;margin-top:1rem;}
.method-link a{color:var(--action);font-weight:700;text-decoration:none;}
@media (max-width:980px) and (min-width:561px){.method-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.method-grid{grid-template-columns:1fr;}}

/* article */
.article-section{padding-block:1.8rem;}
.article-grid{display:grid;grid-template-columns:1fr;gap:2rem;}
.article-head{margin-inline:0;max-width:68ch;}
.byline-line{font-family:var(--font-mono);font-size:0.85rem;}
.article-body{max-width:68ch;}
.article-body h3{margin-top:1.6em;border-bottom:2px solid var(--border);padding-bottom:0.3em;}
.toc{align-self:start;border:1px solid var(--border);background:var(--panel);padding:1rem 1.2rem;border-radius:6px;}
.toc ol{counter-reset:toc;list-style:none;margin:0;padding:0;}
.toc li{counter-increment:toc;margin-bottom:0.5em;font-size:0.9rem;}
.toc li::before{content:counter(toc)". ";font-family:var(--font-mono);color:var(--cobalt);font-weight:700;}
.toc a{text-decoration:none;}
.toc a:hover{color:var(--action);}
@media (min-width:1100px){
  .article-grid{grid-template-columns:minmax(0,1fr) 18rem;}
  .toc{position:sticky;top:6rem;}
}

/* reviews */
.reviews-section{padding-block:1.8rem;}
.review-card{background:var(--panel);border:1px solid var(--border);padding:1.2rem 1.3rem;margin-bottom:1.2rem;border-radius:6px;}
.review-head{display:flex;align-items:center;gap:0.8rem;margin-bottom:0.8rem;}
.review-head img{width:44px;height:44px;object-fit:contain;flex:0 0 auto;}
.rh-name{flex:1;min-width:0;}
.rh-name h3{margin:0;}
.review-tagline{font-size:0.85rem;color:var(--action);font-weight:600;}
.rh-score{font-family:var(--font-mono);font-weight:700;color:var(--ink);}
.review-callout{background:rgba(31,111,178,0.08);border-left:3px solid var(--cobalt);padding:0.6rem 0.9rem;font-style:italic;margin-bottom:0.8rem;border-radius:4px;}
.stat-strip{display:flex;flex-wrap:wrap;gap:0.6rem;margin-bottom:0.9rem;}
.stat{font-family:var(--font-mono);font-size:0.78rem;border:1px solid var(--ink);padding:0.35rem 0.6rem;text-transform:uppercase;border-radius:3px;}
.stat b{display:block;font-size:0.95rem;color:var(--ink);text-transform:none;font-family:var(--font-body);font-weight:700;}
.pros-cons{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:0.9rem 0;}
.pros-cons h4{margin:0 0 0.4em;font-size:0.95rem;}
.pros-cons ul{margin:0;padding-left:1.1rem;font-size:0.9rem;}
.review-cta{display:inline-block;background:var(--action);color:#fff;text-decoration:none;padding:0.65rem 1.2rem;font-weight:700;text-transform:uppercase;border-radius:2px;}
@media (max-width:560px){.pros-cons{grid-template-columns:1fr;}}

/* faq */
.faq-section{padding-block:1.8rem;}
.faq-item{background:var(--panel);border:1px solid var(--border);padding:0.9rem 1.1rem;margin-bottom:0.7rem;border-radius:6px;}
.faq-item summary{cursor:pointer;font-weight:700;color:var(--ink);}
.faq-item p{margin:0.6em 0 0;}

.page-hero{padding-block:2rem 1rem;}
.content-page{padding-block:1rem 2.5rem;max-width:72ch;}
.content-page h2{margin-top:1.4em;}

/* footer */
.site-footer{background:var(--ink);color:var(--gold);margin-top:2rem;}
.footer-grid{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding-block:1.6rem;}
.footer-nav ul{list-style:none;display:flex;flex-wrap:wrap;gap:1rem 1.4rem;margin:0;padding:0;}
.footer-nav a{color:var(--gold);text-decoration:none;font-size:0.9rem;}
.footer-legal{padding-bottom:1.6rem;font-size:0.8rem;opacity:0.9;color:#fff;}
.footer-legal a{color:var(--gold);}
.footer-bottom{margin-top:0.6rem;}

/* back to top */
.to-top{position:fixed;right:16px;bottom:16px;width:42px;height:42px;border:none;background:var(--action);cursor:pointer;opacity:0;visibility:hidden;border-radius:6px;}
.to-top::before{content:"";display:block;width:10px;height:10px;border-left:2px solid #fff;border-top:2px solid #fff;transform:rotate(45deg);margin:14px auto 0;}
@supports (animation-timeline: scroll()){
  .to-top{animation:reveal-top linear both;animation-timeline:scroll(root);animation-range:200px 500px;}
}
@keyframes reveal-top{to{opacity:1;visibility:visible;}}
.to-top.js-visible{opacity:1;visibility:visible;}

/* cookie notice */
.cookie-toggle{position:fixed;top:0;left:0;width:1px;height:1px;overflow:hidden;}
.cookie-note{position:fixed;left:0;right:0;bottom:0;background:var(--ink);color:#fff;display:flex;align-items:center;gap:1rem;flex-wrap:wrap;padding:0.8rem 1.25rem;font-size:0.85rem;z-index:60;opacity:0;visibility:hidden;animation:cookie-in 0.35s ease-out 2s forwards;}
@keyframes cookie-in{from{opacity:0;visibility:visible;}to{opacity:1;visibility:visible;}}
.cookie-note a{color:var(--gold);}
.cookie-dismiss{margin-left:auto;background:var(--action);color:#fff;border:none;padding:0.55rem 1rem;font-weight:700;text-transform:uppercase;cursor:pointer;min-height:44px;border-radius:2px;}
.cookie-toggle:checked ~ .cookie-note{display:none;}
.cookie-toggle:not(:checked) ~ .to-top{bottom:6.5rem;}
@media (max-width:560px){
  .cookie-note{flex-wrap:nowrap;font-size:0.76rem;}
  .cookie-toggle:not(:checked) ~ .to-top{bottom:7.5rem;}
}
@media (prefers-reduced-motion:reduce){.cookie-note{animation-duration:0.01s;}}
