/* Silen Finance v2 — scoped layout, compatible with block themes */
.sf-home{--sf-ink:#34363a;--sf-orange:#dc7b2a;--sf-cream:#faf7f3;--sf-line:#eee3da;color:var(--sf-ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65;max-width:none!important;width:100%!important;margin:0!important;overflow:hidden}
.sf-home *{box-sizing:border-box}.sf-home .sf-wrap{width:min(1240px,calc(100% - 64px));max-width:1240px;margin-inline:auto}.sf-home h1,.sf-home h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.045em;line-height:1.12;margin:0}.sf-home h1{font-size:clamp(43px,4.4vw,71px)}.sf-home h2{font-size:clamp(34px,3vw,48px)}.sf-home h3{font-size:19px;line-height:1.35;margin:0 0 9px;font-weight:650}.sf-home p{margin:0}.sf-home em{color:var(--sf-orange);font-weight:400}.sf-home a{text-decoration:none}.sf-home .sf-kicker,.sf-home .sf-eyebrow{font-size:12px;letter-spacing:.23em;color:#c46822;font-weight:700;display:block;margin-bottom:15px}.sf-home .sf-hero{background:linear-gradient(120deg,#faf7f3,#fffaf6);padding:42px 0 40px}.sf-home .sf-hero-grid{display:grid;grid-template-columns:1fr 1.03fr;align-items:center;gap:42px;min-height:425px}.sf-home .sf-hero-copy{padding:35px 0}.sf-home .sf-hero-copy>p{max-width:540px;font-size:17px;margin-top:20px;color:#5e5d5b}.sf-home .sf-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#e98a39;vertical-align:middle;margin-right:8px}.sf-home .sf-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin-top:25px}.sf-home .sf-btn{display:inline-flex;align-items:center;gap:14px;border-radius:30px;padding:13px 25px;font-weight:650;font-size:15px}.sf-home .sf-btn-primary{background:#e78330;color:#fff!important}.sf-home .sf-btn-primary:hover{background:#bd641f}.sf-home .sf-textlink{font-size:15px;color:#393a3c!important;text-decoration:underline;text-underline-offset:5px;font-weight:600}.sf-home .sf-hero-note{margin-top:30px;font-size:13px;color:#7d7874}.sf-home .sf-note-mark{color:var(--sf-orange);margin-right:7px}.sf-home .sf-hero-art{width:100%;min-height:405px;border-radius:180px 14px 14px 180px;background-image:url('hero-desk.webp');background-size:cover;background-position:52% center;box-shadow:0 15px 45px rgba(85,63,49,.08)}
.sf-home .sf-section{padding:74px 0}.sf-home .sf-section-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:26px}.sf-home .sf-section-heading>p{max-width:360px;color:#656260;font-size:15px}.sf-home .sf-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}.sf-home .sf-service-card{background:#fff;border:1px solid #f1eae4;border-radius:17px;padding:25px 22px;box-shadow:0 12px 32px rgba(83,64,50,.045);position:relative}.sf-home .sf-card-icon{display:grid;place-items:center;width:49px;height:49px;border:1px solid #efac76;border-radius:50%;color:#df7d2e;font-size:25px;margin-bottom:21px}.sf-home .sf-card-no{position:absolute;right:20px;top:27px;font-size:12px;color:#c7bdb5}.sf-home .sf-service-card p{font-size:14px;color:#696460}.sf-home .sf-smallprint{font-size:12px;color:#88817c;margin-top:18px}.sf-home .sf-about{background:#fbf4ef}.sf-home .sf-about-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:center}.sf-home .sf-about-visual{min-height:340px;border-radius:190px 190px 18px 18px;background:linear-gradient(145deg,#f0ddd0,#faf8f5 65%,#e7c9b3);display:flex;flex-direction:column;align-items:center;justify-content:center}.sf-home .sf-about-initials{font:italic 116px Georgia,serif;color:#a96e4c;line-height:1}.sf-home .sf-about-label{font-size:12px;letter-spacing:.13em;color:#926c56}.sf-home .sf-about-label span{color:#e28a42}.sf-home .sf-about-copy>p{margin:20px 0 25px;color:#656260}.sf-home .sf-feature{display:flex;align-items:start;gap:15px;margin:15px 0}.sf-home .sf-feature>span{color:#d7803b;font-size:19px}.sf-home .sf-feature strong{display:block}.sf-home .sf-feature small{display:block;color:#736d69;font-size:14px}.sf-home .sf-about-copy>.sf-textlink{display:inline-block;margin-top:20px}.sf-home .sf-center{text-align:center;margin-bottom:40px}.sf-home .sf-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.sf-home .sf-steps>div{border-top:1px solid #e9d6c9;padding-top:20px}.sf-home .sf-steps span{color:#d67b34;font:italic 32px Georgia,serif}.sf-home .sf-steps h3{margin-top:15px}.sf-home .sf-steps p{color:#6e6864;font-size:15px}.sf-home .sf-contact{background:#34363a;color:white}.sf-home .sf-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.sf-home .sf-contact h2{color:white}.sf-home .sf-contact p{color:#ded8d4;margin-top:20px}.sf-home .sf-contact-panel{padding:30px;background:#fff;color:#34363a;border-radius:18px}.sf-home .sf-contact-panel p{color:#686360}.sf-home .sf-contact-decoration{color:#df8b50;font-size:75px;line-height:1.2;margin-top:25px}.sf-home .sf-form-help code{font-size:13px;overflow-wrap:anywhere}.sf-home .wpforms-container input,.sf-home .wpforms-container textarea{border-radius:8px!important}.sf-home .wpforms-submit{background:#df7d2e!important;color:white!important;border-radius:25px!important;padding:12px 25px!important}
/* Break out of Gutenberg constrained content without touching header/footer */
body .entry-content:has(.sf-home),body .wp-block-post-content:has(.sf-home){max-width:none!important;width:100%!important;padding-left:0!important;padding-right:0!important}body .entry-content .sf-home,body .wp-block-post-content .sf-home{max-width:none!important;width:100%!important}body .wp-site-blocks .sf-home{max-width:none!important}body .wp-block-post-content>.wp-block-shortcode:has(.sf-home){max-width:none!important;width:100%!important;margin-left:0!important;margin-right:0!important}
@media(min-width:900px){body .wp-block-post-content .wp-block-shortcode:has(.sf-home){width:100vw!important;max-width:100vw!important;position:relative;left:50%;margin-left:-50vw!important}}
@media(max-width:900px){.sf-home .sf-hero-grid{grid-template-columns:1fr 1fr;gap:22px}.sf-home .sf-cards{grid-template-columns:repeat(2,1fr)}.sf-home .sf-about-grid{gap:30px}.sf-home .sf-hero-art{min-height:350px}}
@media(max-width:650px){.sf-home .sf-wrap{width:calc(100% - 36px)}.sf-home .sf-hero{padding:18px 0 35px}.sf-home .sf-hero-grid,.sf-home .sf-about-grid,.sf-home .sf-contact-grid{grid-template-columns:1fr}.sf-home .sf-hero-copy{padding:20px 0 0}.sf-home .sf-hero-art{min-height:250px;border-radius:100px 12px 12px 100px}.sf-home .sf-hero-note{margin-top:20px}.sf-home .sf-section{padding:52px 0}.sf-home .sf-section-heading{display:block}.sf-home .sf-section-heading>p{margin-top:14px}.sf-home .sf-cards{grid-template-columns:1fr}.sf-home .sf-steps{grid-template-columns:1fr;gap:20px}.sf-home .sf-about-visual{min-height:230px}.sf-home .sf-about-initials{font-size:85px}.sf-home .sf-actions{gap:18px}.sf-home h1{font-size:clamp(40px,11vw,58px)}}
/* v2.1: theme header and footer, only on pages with Silen Finance shortcode */
body:has(.sf-home) .wp-site-blocks > header,body:has(.sf-home) header.wp-block-template-part{background:#fff!important;border-bottom:1px solid #f2ebe6;box-shadow:0 3px 20px rgba(63,48,40,.025)}
body:has(.sf-home) .wp-site-blocks > header > .wp-block-group,body:has(.sf-home) header.wp-block-template-part > .wp-block-group{max-width:1360px!important;width:calc(100% - 64px)!important;margin-inline:auto!important;padding-block:12px!important;min-height:100px;gap:26px}
body:has(.sf-home) header .wp-block-site-logo img{width:auto!important;height:auto!important;max-width:220px!important;max-height:105px!important;object-fit:contain!important}
body:has(.sf-home) header .wp-block-site-logo{flex-shrink:0}
body:has(.sf-home) header .wp-block-navigation{gap:clamp(16px,2.2vw,35px)!important}
body:has(.sf-home) header .wp-block-navigation-item__content{font-size:15px!important;font-weight:500!important;color:#37383b!important;text-decoration:none!important;transition:color .2s}
body:has(.sf-home) header .wp-block-navigation-item__content:hover,body:has(.sf-home) header .current-menu-item>.wp-block-navigation-item__content{color:#d87828!important}
body:has(.sf-home) header .current-menu-item>.wp-block-navigation-item__content{text-decoration:underline!important;text-decoration-color:#e88b43!important;text-underline-offset:8px!important}
body:has(.sf-home) header .sf-header-cta{display:inline-flex!important;align-items:center;justify-content:center;white-space:nowrap;background:#e78330;color:#fff!important;border-radius:999px;padding:12px 22px!important;text-decoration:none!important;font-size:14px!important;font-weight:650!important;box-shadow:0 4px 14px rgba(217,116,40,.12);transition:background .2s}
body:has(.sf-home) header .sf-header-cta:hover{background:#bc641e}
body:has(.sf-home) footer.wp-block-template-part,body:has(.sf-home) .wp-site-blocks>footer{background:#faf7f3!important;border-top:1px solid #f0e6dd;color:#55504c}
body:has(.sf-home) footer.wp-block-template-part a{color:#b66a31}
@media(max-width:850px){body:has(.sf-home) .wp-site-blocks > header > .wp-block-group,body:has(.sf-home) header.wp-block-template-part > .wp-block-group{width:calc(100% - 36px)!important;min-height:82px}body:has(.sf-home) header .wp-block-site-logo img{max-width:170px!important;max-height:82px!important}body:has(.sf-home) header .sf-header-cta{padding:10px 14px!important;font-size:12px!important}}
@media(max-width:600px){body:has(.sf-home) header .sf-header-cta{display:none!important}body:has(.sf-home) header .wp-block-site-logo img{max-width:150px!important;max-height:74px!important}}

/* v2.2: three services, concise page, softer arrows */
.sf-home .sf-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
.sf-home .sf-service-card{padding:30px 27px;min-height:250px}
.sf-home .sf-cute-arrow{font-family:Georgia,serif;font-size:26px;font-weight:400;line-height:.6;display:inline-block;transform:translateY(1px)}
.sf-home .sf-about{padding-top:65px;padding-bottom:65px}
@media(max-width:900px){.sf-home .sf-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.sf-home .sf-cards{grid-template-columns:1fr}.sf-home .sf-service-card{min-height:0}}

/* v2.3: remove theme separator and excess spacing before hero */
body:has(.sf-home) .wp-site-blocks > header,
body:has(.sf-home) header.wp-block-template-part {border-bottom:0!important;box-shadow:none!important;margin-bottom:0!important;}
body:has(.sf-home) .wp-site-blocks > header + *,
body:has(.sf-home) .wp-block-post-content:has(.sf-home),
body:has(.sf-home) .wp-block-post-content > .wp-block-shortcode:has(.sf-home) {margin-top:0!important;}
body:has(.sf-home) .sf-home .sf-hero {margin-top:0!important;}

/* v3.9: one coherent header rule set, replacing conflicting v3.5–v3.8 overrides.
   Do not fix header height: preserve the logo's natural aspect ratio. */
body:has(.sf-home) header.wp-block-template-part,
body:has(.sf-home) .wp-site-blocks > header {
  margin:0!important; padding:0!important; min-height:0!important;
}
body:has(.sf-home) header.wp-block-template-part .wp-block-group,
body:has(.sf-home) .wp-site-blocks > header .wp-block-group {
  margin-block:0!important; padding-block:0!important; min-height:0!important;
}
body:has(.sf-home) header.wp-block-template-part > .wp-block-group,
body:has(.sf-home) .wp-site-blocks > header > .wp-block-group {
  width:calc(100% - 64px)!important; max-width:1500px!important;
  margin-inline:auto!important; padding:7px 0!important;
  height:auto!important; min-height:0!important;
}
body:has(.sf-home) header .wp-block-site-logo,
body:has(.sf-home) header .wp-block-site-logo a {
  width:190px!important; max-width:190px!important;
  margin:0!important; padding:0!important; line-height:0!important;
  flex-shrink:0!important;
}
body:has(.sf-home) header .wp-block-site-logo img {
  display:block!important; width:190px!important; max-width:190px!important;
  height:auto!important; max-height:none!important; object-fit:contain!important;
  margin:0!important; padding:0!important;
}
body:has(.sf-home) header .wp-block-navigation {gap:clamp(16px,2vw,30px)!important;}
body:has(.sf-home) header .wp-block-navigation-item:has(> a[href*="/blog"]) {display:none!important;}
body:has(.sf-home) .sf-home .sf-hero {padding-top:18px!important;}
body:has(.sf-home) .sf-home .sf-hero-copy {padding-top:12px!important;padding-bottom:12px!important;}
@media(max-width:850px){
  body:has(.sf-home) header.wp-block-template-part > .wp-block-group,
  body:has(.sf-home) .wp-site-blocks > header > .wp-block-group {
    width:calc(100% - 32px)!important; padding:8px 0!important;
  }
  body:has(.sf-home) header .wp-block-site-logo,
  body:has(.sf-home) header .wp-block-site-logo a,
  body:has(.sf-home) header .wp-block-site-logo img {
    width:120px!important;max-width:120px!important;
  }
  body:has(.sf-home) .sf-home .sf-hero {padding-top:8px!important;}
  body:has(.sf-home) .sf-home .sf-hero-copy {padding-top:8px!important;}
}
@media(max-width:600px){
  body:has(.sf-home) header .wp-block-site-logo,
  body:has(.sf-home) header .wp-block-site-logo a,
  body:has(.sf-home) header .wp-block-site-logo img {
    width:112px!important;max-width:112px!important;
  }
  body:has(.sf-home) header .sf-header-cta {display:none!important;}
  body:has(.sf-home) .sf-home .sf-hero {padding-top:4px!important;}
  body:has(.sf-home) .sf-home .sf-hero-copy {padding-top:6px!important;}
  body:has(.sf-home) .sf-home .sf-kicker {margin-bottom:10px;}
}

/* v4.0: Remove WordPress flow-layout block gap between template header and page content.
   The gap is applied as margin-block-start (logical property), not just margin-top. */
body:has(.sf-home) .wp-site-blocks > header.wp-block-template-part + .entry-content,
body:has(.sf-home) .wp-site-blocks > header + .entry-content,
body:has(.sf-home) .wp-site-blocks > .entry-content.wp-block-post-content,
body:has(.sf-home) .wp-site-blocks > header + .wp-block-post-content {
  margin-block-start: 0 !important;
  margin-top: 0 !important;
}

/* v4.1: WordPress entry content has 24px padding even after margin was reset. */
body:has(.sf-home) .wp-site-blocks > .entry-content.wp-block-post-content,
body:has(.sf-home) .wp-site-blocks > .wp-block-post-content,
body:has(.sf-home) .entry-content:has(> .wp-block-shortcode .sf-home) {
  padding-block-start:0!important; padding-top:0!important;
  padding-block-end:0!important; padding-bottom:0!important;
}
/* Branded accounting illustration, using the actual Silen Finance logo. */
.sf-home .sf-brand-illustration{position:relative;overflow:hidden;min-height:350px;border-radius:22px;background:#fff9f4;display:block;}
.sf-home .sf-brand-illustration .sf-illustration-desk{display:block;width:100%;height:100%;min-height:350px;object-fit:contain;}
.sf-home .sf-brand-illustration .sf-illustration-logo{position:absolute;width:30%;height:31%;object-fit:contain;left:36.5%;top:33%;mix-blend-mode:multiply;}
@media(max-width:650px){.sf-home .sf-brand-illustration{min-height:250px}.sf-home .sf-brand-illustration .sf-illustration-desk{min-height:250px}}
