/*
Theme Name: Mosaic Mortgage
Theme URI: https://example.com/
Author: Mosaic Mortgage
Description: A fully editable block-based WordPress theme for Mosaic Mortgage.
Version: 2.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: mosaic-mortgage
*/

:root{--navy:#1b3664;--sage:#8c987c;--gold:#d5af30;--cream:#f5f4dc;--ink:#17243c;--shadow:0 25px 70px rgba(27,54,100,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:16px/1.65 "DM Sans",Arial,sans-serif}a{color:inherit;text-decoration:none}.wrap{width:min(1180px,calc(100% - 40px));margin:auto}.eyebrow{margin:0;color:var(--gold);font-size:.75rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}h1,h2{margin:0;color:var(--navy);font-family:"Playfair Display",Georgia,serif;line-height:1.08;letter-spacing:-.04em}h1{max-width:850px;font-size:clamp(3.2rem,7vw,6.7rem)}h2{font-size:clamp(2.4rem,4.5vw,4.2rem)}p{margin:0}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border:1px solid transparent;border-radius:3px;font-weight:700;transition:.25s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--gold);color:var(--navy);box-shadow:0 10px 30px rgba(213,175,48,.22)}.btn-ghost{border-color:rgba(255,255,255,.4);color:#fff}.btn-ghost:hover{background:#fff;color:var(--navy)}
.site-header{position:absolute;z-index:5;width:100%;padding:18px 0;color:#fff}.nav{display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;color:#fff;font:600 1.5rem "Playfair Display",Georgia,serif}.brand-mark{display:grid;place-items:center;width:58px;height:58px;background:var(--gold);color:var(--navy);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);font:700 1.5rem "DM Sans",sans-serif}.links{display:flex;align-items:center;gap:28px;font-size:.9rem;font-weight:600}.menu{display:none;color:#fff;background:none;border:0;font-size:1.5rem}
.hero{position:relative;min-height:850px;padding:200px 0 120px;color:#fff;overflow:hidden;background:linear-gradient(115deg,rgba(13,34,71,.97),rgba(27,54,100,.89) 52%,rgba(55,77,75,.62)),url("https://images.unsplash.com/photo-1560185007-c5ca9d2c014d?auto=format&fit=crop&w=1800&q=85") center/cover}.hero:after{content:"";position:absolute;right:-180px;bottom:-330px;width:700px;height:700px;border:1px solid rgba(255,255,255,.17);transform:rotate(45deg);box-shadow:0 0 0 100px rgba(255,255,255,.025),0 0 0 200px rgba(255,255,255,.018)}.hero .wrap{position:relative;z-index:1}.hero h1{margin:22px 0;color:#fff}.hero-copy{max-width:580px;color:rgba(255,255,255,.77);font-size:1.13rem}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.stats{position:absolute;z-index:2;bottom:0;width:100%;background:rgba(9,29,61,.62);border-top:1px solid rgba(255,255,255,.14);backdrop-filter:blur(12px)}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr)}.stat{padding:22px 30px;border-right:1px solid rgba(255,255,255,.14)}.stat:first-child{padding-left:0}.stat strong{display:block;color:var(--cream);font-size:1.15rem}.stat span{color:rgba(255,255,255,.6);font-size:.82rem}
section{padding:110px 0}.intro,.contact{background:var(--cream)}.intro-grid,.about-grid,.contact-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:85px}.mosaic{position:relative;min-height:490px}.tile{position:absolute;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}.one{left:0;top:55px;width:360px;height:360px;background:url("https://images.unsplash.com/photo-1600566753190-17f0baa2a6c3?auto=format&fit=crop&w=900&q=85") center/cover}.two{right:10px;top:0;width:205px;height:205px;background:var(--gold)}.three{right:10px;bottom:0;width:205px;height:205px;background:var(--sage)}.four{left:280px;bottom:22px;width:128px;height:128px;background:var(--navy)}.intro h2,.contact h2{margin:15px 0 24px}.intro-text,.section-copy,.contact-copy{color:#657083}.checks{display:grid;gap:12px;margin:28px 0}.check{display:flex;gap:12px;color:var(--navy);font-weight:600}.check b{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--gold);font-size:.75rem}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:45px}.section-head p{max-width:440px;color:#657083}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{position:relative;min-height:390px;padding:35px;background:#f8f8f2;border:1px solid #ecebdc;transition:.3s}.card:hover{transform:translateY(-7px);border-color:transparent;box-shadow:var(--shadow)}.number{color:rgba(27,54,100,.08);font:4.8rem/1 "Playfair Display"}.card h3{margin:34px 0 12px;color:var(--navy);font-size:1.45rem}.card p{color:#6a7480}.card a{position:absolute;bottom:32px;color:var(--navy);font-weight:700}.card a span{color:var(--gold)}
.process{background:var(--navy);color:#fff}.process h2{max-width:700px;margin:15px 0 58px;color:#fff}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}.step{position:relative;padding-top:27px;border-top:1px solid rgba(255,255,255,.2)}.step:before{content:"";position:absolute;top:-6px;width:11px;height:11px;background:var(--gold);transform:rotate(45deg)}.step small{color:var(--gold);font-weight:700}.step h3{margin:22px 0 8px}.step p{color:rgba(255,255,255,.6);font-size:.9rem}
.photo{position:relative;min-height:560px;background:url("https://images.unsplash.com/photo-1560518883-ce09059eeffa?auto=format&fit=crop&w=1000&q=85") center/cover}.photo:after{content:"";position:absolute;right:-28px;bottom:-28px;z-index:-1;width:150px;height:150px;background:var(--gold)}.quote{margin:18px 0 24px;color:var(--navy);font:clamp(1.7rem,3vw,2.6rem)/1.3 "Playfair Display"}.form{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:38px;background:#fff;box-shadow:var(--shadow)}.field{display:grid;gap:6px}.full{grid-column:1/-1}label{color:var(--navy);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}input,select,textarea{width:100%;padding:13px;border:1px solid #dfe1dd;font:inherit;outline:none}textarea{min-height:100px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--gold)}button.btn{grid-column:1/-1;border:0;font:inherit;font-weight:700;cursor:pointer}.note{grid-column:1/-1;color:#89909a;font-size:.7rem;text-align:center}
.site-footer{padding:45px 0 24px;background:#10284e;color:rgba(255,255,255,.65)}.footer-top,.legal{display:flex;align-items:center;justify-content:space-between;gap:25px}.footer-top{padding-bottom:32px;border-bottom:1px solid rgba(255,255,255,.12)}.footer-links{display:flex;gap:24px;font-size:.85rem}.legal{padding-top:22px;font-size:.7rem}
.standard-page{min-height:75vh;padding:170px 0 90px}.standard-page h1{margin-bottom:35px}.standard-page .wp-block-image img,.standard-page img{max-width:100%;height:auto}
.mosaic-section{padding:110px 20px}.mosaic-hero .wp-block-cover__inner-container{width:100%}.mosaic-hero h1{margin:22px 0;max-width:850px}.mosaic-hero .hero-copy{max-width:580px}.mosaic-section h2{margin:15px 0 28px}.mosaic-section .wp-block-image img{width:100%;min-height:420px;object-fit:cover}.mosaic-checks{padding:0;list-style:none}.mosaic-checks li{margin:12px 0;color:var(--navy);font-weight:600}.mosaic-checks li:before{content:"✓";display:inline-grid;place-items:center;width:25px;height:25px;margin-right:12px;border-radius:50%;background:var(--gold)}.mosaic-card{height:100%;min-height:280px;padding:35px;background:#f8f8f2;border:1px solid #ecebdc}.mosaic-card:hover{box-shadow:var(--shadow)}.mosaic-card a{color:var(--navy);font-weight:700}.mosaic-steps .wp-block-column{padding-top:20px;border-top:1px solid rgba(255,255,255,.25)}.mosaic-steps p{color:rgba(255,255,255,.7)}.wp-block-quote{border-left:4px solid var(--gold);padding-left:24px;color:var(--navy);font:clamp(1.5rem,3vw,2.4rem)/1.3 "Playfair Display"}
@media(max-width:900px){.links{display:none}.menu{display:block}.intro-grid,.about-grid,.contact-grid{grid-template-columns:1fr;gap:55px}.cards{grid-template-columns:1fr}.card{min-height:295px}.steps{grid-template-columns:1fr 1fr}.section-head{display:block}.section-head p{margin-top:18px}}
@media(max-width:600px){.wrap{width:calc(100% - 28px)}section{padding:75px 0}.hero{min-height:840px;padding-top:150px}.stats-grid{grid-template-columns:1fr}.stat{padding:7px 0!important;border:0}.stat span{display:none}.mosaic{min-height:350px}.one{width:270px;height:270px}.two,.three{width:140px;height:140px}.four{left:210px;width:95px;height:95px}.steps,.form{grid-template-columns:1fr}.field{grid-column:1/-1}.footer-top,.legal{display:block}.footer-links{margin-top:20px;flex-wrap:wrap}.legal span{display:block;margin-top:8px}}
