@font-face{font-family:'Fraunces Fallback';src:local('Georgia'),local('Times New Roman');size-adjust:100%;ascent-override:95%;descent-override:25%;line-gap-override:0%;}
@font-face{font-family:'Jakarta Fallback';src:local('Segoe UI'),local('Helvetica Neue'),local('Arial');size-adjust:100%;ascent-override:95%;descent-override:22%;line-gap-override:0%;}
:root{--ocean:#006FA6;--ocean-dk:#004F7A;--sky:#38B6D8;--sky-lt:#A8E1F0;--coral:#E8623A;--coral-lt:#F5936E;--sand:#F0E4C8;--sand-dk:#D9C9A0;--white:#FFFFFF;--off-w:#F7F4EF;--slate:#1A2E3B;--slate-md:#2E4A5C;--mid:#5A7A8A;--light:#EBF5F9;}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}html{scroll-behavior:smooth;}body{background:var(--white);color:var(--slate);font-family:'Plus Jakarta Sans','Jakarta Fallback',sans-serif;font-weight:300;overflow-x:hidden;}
.blog-article h2,.blog-article h3,.section-h2,h1{font-family:'Fraunces','Fraunces Fallback',serif;}
img{max-width:100%;height:auto;}
nav{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:0 60px;height:76px;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);box-shadow:0 1px 0 rgba(0,111,166,.1);}
.nav-logo{display:flex;align-items:center;gap:14px;text-decoration:none;}
.nav-links{display:flex;gap:28px;list-style:none;align-items:center;}.nav-links a{font-size:13px;font-weight:500;color:var(--slate-md);text-decoration:none;transition:color .25s;}.nav-links a:hover,.nav-links a.active{color:var(--ocean);}.nav-cta{background:var(--coral)!important;color:white!important;padding:10px 22px!important;border-radius:6px;font-weight:700!important;}.nav-cta:hover{background:var(--coral-lt)!important;color:white!important;}
section{padding:100px 60px;}.container{max-width:1300px;margin:0 auto;}
.label-tag{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--ocean);margin-bottom:16px;}.label-tag::before{content:'';width:24px;height:2px;background:var(--coral);border-radius:2px;}
.section-h2{font-family:'Fraunces',serif;font-size:clamp(30px,3.8vw,54px);font-weight:900;line-height:1.08;color:var(--slate);}.section-h2 em{font-style:italic;color:var(--ocean);}
.section-sub{font-size:15px;line-height:1.8;color:var(--mid);}
.btn-primary{background:var(--coral);color:white;border:none;padding:15px 32px;font-family:'Plus Jakarta Sans',sans-serif;font-size:14px;font-weight:700;border-radius:8px;cursor:pointer;text-decoration:none;transition:all .3s;display:inline-block;}.btn-primary:hover{background:var(--coral-lt);transform:translateY(-2px);}
.btn-ocean{display:inline-block;background:var(--ocean);color:white;text-decoration:none;padding:14px 28px;border-radius:8px;font-size:14px;font-weight:700;transition:background .25s;}.btn-ocean:hover{background:var(--ocean-dk);}
.btn-white{background:white;color:var(--ocean);border:none;padding:14px 30px;border-radius:8px;font-size:14px;font-weight:700;text-decoration:none;display:inline-block;transition:all .25s;}.btn-white:hover{background:var(--off-w);}
.btn-outline-white{background:transparent;color:white;border:1.5px solid rgba(255,255,255,.5);padding:13px 30px;border-radius:8px;font-size:14px;font-weight:600;text-decoration:none;display:inline-block;transition:all .25s;}.btn-outline-white:hover{border-color:white;background:rgba(255,255,255,.1);}
footer{background:#0D1B2A;padding:62px 60px 34px;border-top:1px solid rgba(56,182,216,.1);}.footer-top{display:grid;grid-template-columns:1.8fr 1fr 1fr 1fr;gap:60px;margin-bottom:50px;}.fb-logo{display:flex;align-items:center;gap:12px;margin-bottom:14px;}.fb-mark{width:36px;height:36px;background:var(--ocean);border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}.fb-brand{font-size:13px;font-weight:700;color:white;line-height:1.2;}.fb-sub{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--sky-lt);}.footer-brand p{font-size:12.5px;line-height:1.8;color:rgba(255,255,255,.38);max-width:260px;margin-bottom:20px;}.powered-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);border-radius:7px;padding:8px 13px;font-size:11px;color:rgba(255,255,255,.45);}.powered-badge strong{color:var(--sky-lt);}.footer-col h5{font-size:10px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--sky-lt);margin-bottom:18px;}.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:9px;}.footer-col ul li a{font-size:13px;color:rgba(255,255,255,.42);text-decoration:none;transition:color .25s;}.footer-col ul li a:hover{color:var(--sky-lt);}.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:22px;border-top:1px solid rgba(255,255,255,.06);font-size:11px;color:rgba(255,255,255,.22);}
.page-hero{padding:160px 60px 90px;background:linear-gradient(160deg, #0D1B2A 0%, var(--ocean-dk) 35%, var(--ocean) 65%, var(--sky) 100%);position:relative;overflow:hidden;}.page-hero::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:repeating-linear-gradient(45deg,transparent,transparent 60px,rgba(255,255,255,.02) 60px,rgba(255,255,255,.02) 120px);}.page-hero::after{content:'';position:absolute;bottom:-80px;right:-80px;width:450px;height:450px;border-radius:50%;background:radial-gradient(circle,rgba(56,182,216,.2) 0%,transparent 70%);}.page-hero .label-tag{color:#A8E1F0;}.page-hero .label-tag::before{background:var(--coral);}.page-hero h1{font-family:'Fraunces',serif;font-size:clamp(36px,5vw,70px);font-weight:900;color:white;line-height:1.04;margin-bottom:20px;position:relative;z-index:1;}.page-hero h1 em{font-style:italic;color:#A8E1F0;}.page-hero p{font-size:16px;line-height:1.8;color:rgba(255,255,255,.82);max-width:560px;position:relative;z-index:1;}.page-hero-btns{display:flex;gap:14px;margin-top:32px;flex-wrap:wrap;position:relative;z-index:1;}
::-webkit-scrollbar{width:4px;}::-webkit-scrollbar-track{background:var(--off-w);}::-webkit-scrollbar-thumb{background:var(--sky);border-radius:2px;}
@media(max-width:960px){nav{padding:0 20px;}.nav-links{display:none;}section{padding:64px 22px;}.page-hero{padding:120px 22px 64px;}.footer-top{grid-template-columns:1fr 1fr;}}
.about-intro{background:var(--off-w);}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;}
.about-imgs{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:220px 220px;gap:12px;}
.about-img-main{grid-column:1/-1;border-radius:18px;object-fit:cover;width:100%;height:100%;display:block;}
.about-img-sm{border-radius:14px;object-fit:cover;width:100%;height:100%;display:block;}
.about-text p{font-size:15px;line-height:1.85;color:var(--mid);margin-bottom:20px;}
.about-text h3{font-family:'Fraunces',serif;font-size:22px;font-weight:700;color:var(--slate);margin-bottom:14px;margin-top:8px;}
.values-section{background:white;}
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:56px;}
.val-card{background:var(--off-w);border-radius:18px;padding:36px 28px;border:1.5px solid transparent;transition:all .3s;}
.val-card:hover{border-color:rgba(0,111,166,.15);transform:translateY(-3px);box-shadow:0 16px 40px rgba(0,111,166,.08);}
.val-icon{width:48px;height:48px;background:var(--light);border-radius:13px;display:flex;align-items:center;justify-content:center;margin-bottom:20px;}
.val-icon svg{width:22px;height:22px;stroke:var(--ocean);fill:none;stroke-width:1.8;}
.val-card h3{font-family:'Fraunces',serif;font-size:20px;font-weight:700;color:var(--slate);margin-bottom:10px;}
.val-card p{font-size:13.5px;line-height:1.75;color:var(--mid);}
.markets-section{background:white;}
.markets-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;}
.market-list{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:32px;}
.mkt-item{background:var(--off-w);border-radius:12px;padding:18px 20px;border:1.5px solid transparent;transition:all .25s;}
.mkt-item:hover{border-color:rgba(0,111,166,.15);background:var(--light);}
.mkt-item h4{font-size:14px;font-weight:700;color:var(--slate);margin-bottom:4px;}
.mkt-item p{font-size:12px;color:var(--mid);line-height:1.5;}
@media(max-width:960px){.about-grid,.markets-grid{grid-template-columns:1fr;gap:44px;}.values-grid{grid-template-columns:1fr;}.about-imgs{grid-template-rows:170px 170px;}.market-list{grid-template-columns:1fr;}}

nav{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:0 60px;height:76px;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);box-shadow:0 1px 0 rgba(0,111,166,.1);}
.nav-logo{display:flex;align-items:center;text-decoration:none;flex-shrink:0;}
.nav-right{display:flex;align-items:center;gap:6px;}
.nav-links{display:flex;gap:2px;list-style:none;align-items:center;margin:0;padding:0;}
.nav-links a{font-size:13px;font-weight:500;color:var(--slate-md);text-decoration:none;transition:color .2s,background .2s;padding:8px 11px;border-radius:6px;}
.nav-links a:hover,.nav-links a.active{color:var(--ocean);background:var(--light);}
.nav-divider{width:1px;height:28px;background:rgba(0,111,166,.12);margin:0 6px;flex-shrink:0;}
.nav-cta{background:var(--coral)!important;color:white!important;padding:10px 18px!important;border-radius:6px;font-weight:700!important;font-size:13px;text-decoration:none;display:inline-block;transition:background .2s!important;white-space:nowrap;}
.nav-cta:hover{background:var(--coral-lt)!important;}
.signin-wrap{position:relative;}
.signin-btn{display:flex;align-items:center;gap:6px;background:var(--light);border:1.5px solid rgba(0,111,166,.15);color:var(--ocean);padding:9px 14px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap;font-family:'Plus Jakarta Sans',sans-serif;}
.signin-btn:hover{background:rgba(0,111,166,.1);border-color:var(--ocean);}
.signin-btn .chev{width:13px;height:13px;stroke:var(--ocean);fill:none;stroke-width:2.5;transition:transform .2s;flex-shrink:0;}
.signin-btn .uicon{width:14px;height:14px;stroke:var(--ocean);fill:none;stroke-width:2;flex-shrink:0;}
.signin-wrap:hover .chev{transform:rotate(180deg);}
.signin-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:white;border:1.5px solid rgba(0,111,166,.12);border-radius:14px;box-shadow:0 16px 48px rgba(0,111,166,.15);min-width:210px;opacity:0;visibility:hidden;transform:translateY(-8px);transition:all .22s;z-index:300;padding:6px;}
.signin-wrap:hover .signin-dropdown{opacity:1;visibility:visible;transform:translateY(0);}
.signin-dropdown.touch-open{opacity:1!important;visibility:visible!important;transform:translateY(0)!important;}
.sd-item{display:flex;align-items:center;gap:12px;padding:11px 13px;text-decoration:none;border-radius:9px;transition:background .18s;}
.sd-item:hover{background:var(--off-w);}
.sd-icon{width:33px;height:33px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.sd-icon svg{width:15px;height:15px;fill:none;stroke-width:1.8;}
.sd-label{font-size:13px;font-weight:600;color:var(--slate);line-height:1.25;}
.sd-sub{font-size:11px;color:var(--mid);}
.sd-div{height:1px;background:rgba(0,111,166,.07);margin:3px 0;}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px;border-radius:6px;background:transparent;border:none;margin-left:6px;}
.hamburger:hover{background:var(--light);}
.hamburger span{width:22px;height:2px;background:var(--slate);border-radius:2px;transition:all .3s;display:block;}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0);}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.mobile-menu{display:none;position:fixed;top:76px;left:0;right:0;background:white;z-index:190;box-shadow:0 8px 32px rgba(0,0,0,.1);padding:12px 0 28px;border-top:1px solid rgba(0,111,166,.08);max-height:calc(100vh - 76px);overflow-y:auto;}
.mobile-menu.open{display:block;}
.mm-link{display:block;padding:13px 24px;font-size:15px;font-weight:500;color:var(--slate-md);text-decoration:none;transition:background .18s;}
.mm-link:hover,.mm-link.active{color:var(--ocean);background:var(--light);}
.mm-div{height:1px;background:rgba(0,111,166,.08);margin:10px 20px;}
.mm-label{padding:10px 24px 6px;font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--mid);}
.mm-portal{display:flex;align-items:center;gap:12px;padding:11px 24px;text-decoration:none;transition:background .18s;}
.mm-portal:hover{background:var(--light);}
.mm-portal-icon{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.mm-portal-icon svg{width:16px;height:16px;fill:none;stroke-width:1.8;}
.mm-portal-label{font-size:14px;font-weight:600;color:var(--slate);}
.mm-portal-sub{font-size:11px;color:var(--mid);}
.mm-cta{margin:16px 20px 0;display:block;text-align:center;background:var(--coral);color:white;padding:15px;border-radius:10px;font-size:15px;font-weight:700;text-decoration:none;transition:background .2s;}
.mm-cta:hover{background:var(--coral-lt);}
@media(max-width:960px){
  nav{padding:0 20px;}
  .nav-links,.nav-divider,.signin-wrap,.nav-cta{display:none!important;}
  .hamburger{display:flex;}
}

/* ── Global mobile fixes ── */
@media(max-width:768px){
  section{padding:60px 20px!important;}
  .container{padding:0!important;}
  .page-hero{padding:110px 20px 60px!important;}
  .page-hero h1{font-size:clamp(32px,8vw,50px)!important;}
  .page-hero p{font-size:14px!important;}
  .page-hero-btns{flex-direction:column!important;}
  .page-hero-btns a{text-align:center!important;width:100%!important;}
  footer{padding:44px 20px 28px!important;}
  .footer-top{grid-template-columns:1fr!important;gap:36px!important;}
  .footer-bottom{flex-direction:column!important;gap:8px!important;text-align:center!important;}
  /* grids -> single column */
  .tech-grid,.srv-hdr,.mkt-grid,.why-grid,.about-grid,.markets-grid,.contact-grid,.lo-grid,.cost-grid,.pet-grid,.fees-grid{grid-template-columns:1fr!important;gap:32px!important;}
  .srv-grid,.types-panels,.proc-steps,.values-grid,.team-grid,.testi-grid,.plans-grid,.addon-grid,.faq-grid,.why-grid{grid-template-columns:1fr!important;}
  /* hero card */
  .hero-content{grid-template-columns:1fr!important;padding:110px 20px 60px!important;}
  .hero-stat-row{grid-template-columns:1fr 1fr!important;}
  /* scroll band */
  .scroll-band{padding:14px 20px!important;gap:24px!important;overflow-x:auto!important;flex-wrap:nowrap!important;}
  /* tech */
  .tech-feats{grid-template-columns:1fr!important;}
  .tech-img{height:240px!important;}
  /* types panels */
  .tp-img{height:200px!important;}
  /* market images */
  .mkt-imgs{grid-template-rows:160px 160px!important;}
  /* process */
  .proc-steps{grid-template-columns:1fr 1fr!important;}
  /* gallery */
  .gal-grid{grid-template-columns:1fr 1fr!important;grid-template-rows:auto!important;}
  .gg-main{grid-column:1/-1!important;height:200px!important;}
  .gg-sm{height:140px!important;}
  /* why float card */
  .why-float{position:static!important;margin-top:16px!important;border-radius:12px!important;}
  .why-img{height:320px!important;}
  /* pricing */
  .plan{padding:28px 20px!important;}
  .plan-pct{font-size:38px!important;}
  /* forms */
  .form-row{grid-template-columns:1fr!important;}
  .form-box{padding:28px 22px!important;}
  /* stats bar */
  .stats-bar{gap:20px!important;padding:18px 20px!important;}
  /* about imgs */
  .about-imgs{grid-template-rows:150px 150px!important;}
  /* compare band */
  .compare-band{padding:18px 20px!important;}
  /* cta band */
  div[style*="E8623A"]{padding:56px 20px!important;}
  div[style*="E8623A"] div[style*="flex"]{flex-direction:column!important;align-items:stretch!important;}
  div[style*="E8623A"] a{text-align:center!important;}
  /* contact */
  .cl-list{gap:14px!important;}
  /* buildium iframe */
  .buildium-wrap iframe{height:600px!important;}
  /* why grid (why-section) */
  .why-items{gap:20px!important;}
  /* market list */
  .market-list{grid-template-columns:1fr!important;}
}
@media(max-width:480px){
  .proc-steps{grid-template-columns:1fr!important;}
  .hero-stat-row{grid-template-columns:1fr 1fr!important;}
  .wf-row{gap:12px!important;}
  .wf-num{font-size:20px!important;}
}

/* ── Enhanced mobile UX ── */
@media(max-width:960px){
  .mobile-menu{animation:slideDown .25s ease;}
  @keyframes slideDown{from{opacity:0;transform:translateY(-10px);}to{opacity:1;transform:translateY(0);}}
  .mm-link{min-height:48px;display:flex;align-items:center;}
  .mm-portal{min-height:48px;}
  .mm-cta{min-height:48px;display:flex;align-items:center;justify-content:center;}
}
@media(max-width:480px){
  nav{height:64px;padding:0 16px!important;}
  .mobile-menu{top:64px!important;}
  .nav-logo img{height:32px!important;}
}


.blog-article{max-width:780px;margin:0 auto;padding:40px 0 80px;}
.blog-article h2{font-family:'Fraunces',serif;font-size:clamp(22px,3vw,32px);font-weight:700;color:var(--slate);margin:48px 0 16px;line-height:1.2;}
.blog-article h3{font-family:'Fraunces',serif;font-size:clamp(18px,2.5vw,24px);font-weight:700;color:var(--slate);margin:36px 0 12px;line-height:1.3;}
.blog-article p{font-size:16px;line-height:1.85;color:var(--slate-md);margin-bottom:20px;}
.blog-article ul,.blog-article ol{margin:0 0 24px 24px;font-size:16px;line-height:1.85;color:var(--slate-md);}
.blog-article li{margin-bottom:8px;}
.blog-article strong{color:var(--slate);font-weight:600;}
.blog-meta{display:flex;align-items:center;gap:16px;font-size:13px;color:var(--mid);margin-bottom:32px;}
.blog-meta time{font-weight:600;color:var(--ocean);}
.blog-cta-box{background:var(--light);border:1.5px solid rgba(0,111,166,.12);border-radius:16px;padding:36px 32px;margin:48px 0;text-align:center;}
.blog-cta-box h3{margin:0 0 8px;font-size:22px;}
.blog-cta-box p{margin-bottom:20px;color:var(--mid);}
.blog-back{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--ocean);text-decoration:none;margin-bottom:24px;transition:color .2s;}
.blog-back:hover{color:var(--ocean-dk);}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:48px;}
.blog-card{background:white;border-radius:16px;border:1.5px solid rgba(0,111,166,.08);overflow:hidden;transition:all .3s;text-decoration:none;display:block;}
.blog-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(0,111,166,.1);border-color:rgba(0,111,166,.15);}
.blog-card-body{padding:24px 22px;}
.blog-card-tag{font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--ocean);margin-bottom:10px;}
.blog-card-title{font-family:'Fraunces',serif;font-size:19px;font-weight:700;color:var(--slate);line-height:1.3;margin-bottom:10px;}
.blog-card-desc{font-size:13.5px;line-height:1.65;color:var(--mid);margin-bottom:14px;}
.blog-card-date{font-size:11px;font-weight:600;color:var(--ocean);}
@media(max-width:960px){.blog-grid{grid-template-columns:1fr;}.blog-article{padding:24px 0 60px;}}

