:root{--ink:#17231f;--green:#245c4b;--sage:#dce9e2;--cream:#f5f1e8;--line:#dfe6e1;--soft:#f7f9f7}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:var(--font-ui)}a{text-decoration:none;color:inherit}button,input{font:inherit}.wrap{width:min(1180px,calc(100% - 40px));margin:auto}header{height:82px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.96);position:sticky;top:0;z-index:20;backdrop-filter:blur(16px)}.nav{height:100%;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:10px;font-size:18px;white-space:nowrap}.brand b{display:block;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--green)}.brand-mark{width:38px;height:38px;border-radius:12px;background:var(--green);color:#fff;display:grid;place-items:center;font:700 22px var(--font-ui)}.nav-links{display:flex;gap:21px;margin-left:auto;font-size:14px;color:#41524b}.nav-actions{display:flex;align-items:center;gap:15px}.portal-link{font-size:14px;font-weight:700}.menu{display:none;margin-left:auto;border:0;background:none;font-size:25px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;padding:15px 22px;font-weight:700;cursor:pointer}.primary{background:var(--green);color:white}.secondary{background:white;border:1px solid #cbd8d1}.small{padding:11px 17px;font-size:14px}.hero{min-height:660px;display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:center;padding:88px 0;background:radial-gradient(circle at 80% 45%,#dcebe3 0,transparent 34%)}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.18em;font-weight:800;color:var(--green);margin:0 0 18px}.hero h1,.page-hero h1{font-family:var(--font-ui);font-weight:500;line-height:.98;letter-spacing:-.04em;margin:0}.hero h1{font-size:clamp(50px,6vw,78px)}.lead{font-size:20px;line-height:1.65;color:#52635c;max-width:700px}.actions{display:flex;gap:12px;margin-top:30px}.trust-row{display:flex;gap:22px;margin-top:35px;font-size:13px;color:#51645b}.trust-row span:before{content:'✓';color:var(--green);margin-right:7px}.hero-panel{background:rgba(255,255,255,.88);border:1px solid rgba(36,92,75,.15);border-radius:30px;padding:30px;box-shadow:0 30px 70px rgba(25,62,50,.12)}.journey-step{display:flex;gap:18px;padding:24px 0;border-top:1px solid var(--line)}.journey-step b{width:42px;height:42px;display:grid;place-items:center;background:var(--sage);border-radius:50%;color:var(--green)}.journey-step span{display:flex;flex-direction:column;gap:5px}.journey-step small{color:#697971}.section{padding:90px 0}.section-heading{max-width:650px;margin-bottom:40px}h2{font:500 clamp(32px,4vw,48px)/1.12 var(--font-ui);margin:0}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{border:1px solid var(--line);border-radius:22px;padding:30px;background:white}.card:hover{transform:translateY(-3px);box-shadow:0 18px 45px rgba(22,50,40,.08)}.card h3{font-size:22px;margin:20px 0 12px}.card p,.content p{line-height:1.7;color:#627169}.card .more{color:var(--green);font-weight:700;display:block;margin-top:28px}.cta{background:var(--green);color:white;border-radius:28px;padding:50px;display:flex;align-items:center;justify-content:space-between;margin-bottom:90px}.cta h2{max-width:650px}.white{background:white;color:var(--green)}.whatsapp{position:fixed;right:24px;bottom:24px;background:#20aa62;color:white;padding:14px 18px;border-radius:999px;box-shadow:0 12px 35px #0003;z-index:15;font-weight:700}.page-hero{padding:100px 0 72px;background:linear-gradient(110deg,#fff 50%,#eff6f1)}.page-hero h1{font-size:clamp(48px,6vw,74px);max-width:850px}.content{padding:65px 0}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px}.check-list{display:grid;gap:12px}.check-list span{padding:18px 22px;background:var(--soft);border-radius:14px;font-weight:700}.check-list span:before{content:'✓';color:var(--green);margin-right:12px}blockquote{margin:0;background:var(--cream);border-radius:24px;padding:42px;font:30px/1.4 var(--font-ui)}.placeholder{margin-top:45px;background:var(--soft);border:1px dashed #abc3b7;border-radius:24px;padding:40px;text-align:center}.calculator-stack{display:grid;gap:24px}.calculator{border:1px solid var(--line);border-radius:24px;padding:34px;display:grid;grid-template-columns:1fr 1.4fr .8fr;gap:28px;align-items:end}.calc-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.calculator label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:700;color:#53645c}.calculator input{border:1px solid #cdd8d2;border-radius:10px;padding:13px}.result{background:var(--sage);padding:22px;border-radius:16px;display:flex;flex-direction:column;gap:8px}.result strong{font-size:30px;color:var(--green)}.result small{color:#5c6e65}.dashboard-head{display:flex;justify-content:space-between;align-items:end;padding:64px 0 35px}.dashboard-head h1{font:54px var(--font-ui);margin:0}.status{background:var(--sage);color:var(--green);padding:8px 13px;border-radius:999px;font-size:12px;font-weight:800}.dashboard-grid{display:grid;grid-template-columns:1fr 300px;gap:24px;padding-bottom:90px}.panel{border:1px solid var(--line);padding:26px;border-radius:20px;background:white}.progress{height:8px;background:#e6ece8;border-radius:10px;margin:20px 0}.progress i{display:block;width:18%;height:100%;background:var(--green);border-radius:10px}.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px}.action-grid button{border:1px solid var(--line);background:white;border-radius:16px;padding:20px;text-align:left}.action-grid strong,.action-grid small{display:block}.action-grid small{color:#6c7b74;margin-top:5px}.admin-shell{min-height:100vh;background:var(--soft);display:grid;grid-template-columns:250px 1fr}.admin-nav{padding:28px;background:#173d32;color:white}.admin-nav nav{display:grid;gap:8px;margin-top:45px}.admin-nav nav a{padding:13px;border-radius:10px;color:#bbd0c7}.admin-nav nav a:first-child{background:#ffffff1f;color:white}.admin-content{padding:45px}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:35px 0}.metric-grid article{background:white;padding:24px;border:1px solid var(--line);border-radius:18px}.metric-grid strong{display:block;font-size:34px}.admin-panels{display:grid;grid-template-columns:1.2fr .8fr;gap:20px}.admin-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}.admin-actions button{border:1px solid var(--line);background:white;border-radius:16px;padding:20px;text-align:left}.admin-actions small{display:block;color:#6c7b74;margin-top:5px}footer{background:#142f27;color:#dce8e2;padding:65px 0 25px;margin-top:30px}.footer-grid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:50px}.footer-grid>div{display:flex;flex-direction:column;gap:10px}.footer-grid p{max-width:360px;line-height:1.6;color:#9fb4aa}.footer-grid h4{color:white;margin:0}.footer-grid a{font-size:14px;color:#b4c7be}.legal-strip{border-top:1px solid #ffffff1f;margin-top:45px;padding-top:24px;font-size:12px;color:#9fb4aa}.notice{background:#fff5d9;border:1px solid #edd99e;border-radius:14px;padding:18px;line-height:1.6;margin-top:25px}
@media(max-width:960px){.nav-links,.nav-actions{display:none}.menu{display:block}.nav.open{height:auto;flex-wrap:wrap;padding:15px 0}.nav.open .nav-links{display:grid;width:100%;order:3;padding:15px 0}.hero{grid-template-columns:1fr;min-height:auto}.card-grid,.footer-grid,.metric-grid{grid-template-columns:1fr 1fr}.calculator{grid-template-columns:1fr}.dashboard-grid,.admin-panels{grid-template-columns:1fr}.admin-shell{grid-template-columns:1fr}.admin-nav{display:none}}
@media(max-width:650px){.wrap{width:calc(100% - 28px)}header{height:70px}.hero{padding:58px 0;gap:38px}.hero h1{font-size:48px}.lead{font-size:17px}.actions,.trust-row{flex-direction:column}.button{width:100%}.card-grid,.footer-grid,.metric-grid,.action-grid,.admin-actions,.split,.calc-fields{grid-template-columns:1fr}.section{padding:60px 0}.cta{padding:32px;align-items:flex-start;flex-direction:column;gap:25px;margin-bottom:55px}.page-hero{padding:65px 0 45px}.page-hero h1{font-size:45px}.calculator{padding:24px}.dashboard-head{align-items:flex-start;flex-direction:column;gap:20px}.admin-content{padding:25px 16px}}

/* Premium Wilding Mortgages direction */
:root{--ink:#24231f;--green:#24231f;--sage:#e9e1d2;--cream:#f3efe7;--line:#d9d0c1;--soft:#f8f5ef;--gold:#a8874d;--gold-dark:#7f6539;--stone:#ebe5da}body{background:#fbfaf7;color:var(--ink);font-family:var(--font-ui);letter-spacing:.005em}header{height:92px;background:rgba(251,250,247,.94);border-bottom:1px solid rgba(127,101,57,.22)}.brand{gap:13px;font-family:var(--font-ui);font-size:21px;letter-spacing:.02em}.brand b{font-family:var(--font-ui);color:var(--gold-dark);font-size:10px;letter-spacing:.27em;margin-top:2px}.brand-mark{width:47px;height:57px;border-radius:50% 50% 47% 47%;background:transparent;color:var(--gold-dark);border:1px solid var(--gold);font-family:var(--font-ui);font-size:22px;box-shadow:inset 0 0 0 5px #f8f3e9}.nav-links{gap:27px;color:#5b574f}.nav-links a{position:relative;padding:36px 0}.nav-links a:after{content:"";position:absolute;left:0;right:100%;bottom:25px;height:1px;background:var(--gold);transition:.25s}.nav-links a:hover:after{right:0}.portal-link{color:var(--gold-dark)}.button{border-radius:3px;padding:16px 25px;text-transform:uppercase;letter-spacing:.13em;font-size:11px}.primary{background:#2d2c28;color:#fff;border:1px solid #2d2c28}.primary:hover{background:var(--gold-dark);border-color:var(--gold-dark)}.secondary{background:transparent;border:1px solid var(--gold);color:#4a443a}.hero{min-height:720px;padding:105px 0;background:linear-gradient(90deg,rgba(248,245,239,.98) 0%,rgba(248,245,239,.92) 51%,rgba(235,229,218,.65) 100%);position:relative;overflow:hidden}.hero:after{content:"";position:absolute;width:440px;height:440px;border:1px solid rgba(168,135,77,.22);border-radius:50%;right:-100px;top:80px;box-shadow:0 0 0 50px rgba(168,135,77,.035),0 0 0 110px rgba(168,135,77,.025)}.hero>div{position:relative;z-index:1}.eyebrow{color:var(--gold-dark);font-size:10px;letter-spacing:.3em;margin-bottom:24px}.hero h1,.page-hero h1,h2{font-family:var(--font-ui);color:#282722;font-weight:400}.hero h1{font-size:clamp(56px,6.4vw,86px);line-height:.96}.lead{color:#69635a;font-size:18px;line-height:1.8;max-width:620px}.actions{margin-top:38px}.trust-row{padding-top:28px;border-top:1px solid var(--line);max-width:660px;color:#686158}.trust-row span:before{color:var(--gold);font-size:11px}.hero-panel{background:rgba(251,250,247,.82);border:1px solid rgba(168,135,77,.32);border-radius:2px;padding:38px;box-shadow:20px 24px 0 rgba(168,135,77,.08),0 35px 85px rgba(54,48,38,.10)}.journey-step{border-color:rgba(168,135,77,.22);padding:27px 0}.journey-step b{background:transparent;border:1px solid var(--gold);color:var(--gold-dark);border-radius:50%;font:400 13px var(--font-ui)}.journey-step strong{font-family:var(--font-ui);font-size:18px;font-weight:400}.section{padding:110px 0}.section-heading{margin-bottom:55px}.section-heading:after{content:"";display:block;width:65px;height:1px;background:var(--gold);margin-top:28px}h2{font-size:clamp(34px,4vw,52px);letter-spacing:-.025em}.card-grid{gap:24px}.card{border:1px solid var(--line);border-radius:2px;padding:38px;background:#fdfcf9;box-shadow:none;transition:.3s}.card:hover{border-color:var(--gold);transform:translateY(-5px);box-shadow:0 25px 55px rgba(62,54,41,.08)}.card h3{font:400 24px var(--font-ui)}.card p,.content p{color:#6a645b}.card .more{color:var(--gold-dark);font-size:11px;text-transform:uppercase;letter-spacing:.14em}.cta{background:#302f2b;border-radius:2px;padding:62px;position:relative;overflow:hidden}.cta:after{content:"";position:absolute;width:250px;height:250px;border:1px solid rgba(207,180,126,.25);border-radius:50%;right:-50px;top:-85px}.cta h2{color:#fff}.white{background:#f6f1e7;color:#2b2924;position:relative;z-index:1}.whatsapp{background:#2d2c28;border:1px solid var(--gold);border-radius:3px;padding:13px 18px;font-size:11px;text-transform:uppercase;letter-spacing:.12em}.page-hero{padding:120px 0 88px;background:linear-gradient(105deg,#f8f5ef 0%,#eee8dc 100%);border-bottom:1px solid var(--line);position:relative;overflow:hidden}.page-hero:after{content:"";position:absolute;width:340px;height:340px;border:1px solid rgba(168,135,77,.18);border-radius:50%;right:8%;top:-180px}.page-hero h1{font-size:clamp(52px,6vw,80px);line-height:1.02}.content{padding:90px 0}.check-list span{background:#f3eee4;border-left:2px solid var(--gold);border-radius:0}.check-list span:before{color:var(--gold-dark)}blockquote{background:#ede5d7;border-radius:2px;border-left:3px solid var(--gold);color:#443e35}.placeholder{background:#f5f0e7;border:1px solid var(--line);border-radius:2px}.calculator{background:#fdfcf9;border-color:var(--line);border-radius:2px}.calculator input{background:#fbfaf7;border-radius:2px;border-color:#cfc5b4}.calculator input:focus{outline:1px solid var(--gold)}.result{background:#eee6d8;border-radius:2px;border-left:2px solid var(--gold)}.result strong{color:#3b372f}.dashboard-head h1,.admin-content h1{font-family:var(--font-ui);font-weight:400}.status{background:#eee6d8;color:var(--gold-dark);border-radius:2px;text-transform:uppercase;letter-spacing:.12em}.panel{border-radius:2px;background:#fdfcf9}.progress i{background:var(--gold)}.action-grid button,.admin-actions button{border-radius:2px;background:#fdfcf9}.admin-shell{background:#f5f1e9}.admin-nav{background:#2b2a26}.admin-nav .brand-mark{background:transparent;color:#d6bb83;border-color:#b79659;box-shadow:inset 0 0 0 5px #35342f}.admin-nav nav a{border-radius:2px}.metric-grid article,.admin-panels>section{border-radius:2px;background:#fdfcf9}.footer-grid h3{font:400 25px var(--font-ui)}footer{background:#292824;border-top:3px solid var(--gold);padding-top:72px}.notice{background:#f2eadb;border-color:#d7c39a;border-radius:2px}
@media(max-width:650px){header{height:76px}.hero{padding:72px 0}.hero h1{font-size:52px}.hero:after{width:270px;height:270px}.hero-panel{box-shadow:10px 12px 0 rgba(168,135,77,.08)}.section{padding:75px 0}.cta{padding:38px 28px}.page-hero{padding:78px 0 58px}.page-hero h1{font-size:48px}.brand-mark{width:40px;height:48px}}

/* Final brand palette: walnut, forest, antique gold and warm beige */
:root{--ink:#352d27;--green:#294534;--sage:#e1e7dc;--cream:#f3eee4;--line:#d8cdbd;--soft:#f8f4ec;--gold:#b18a4c;--gold-dark:#896a38;--stone:#e9dfd0;--brown:#4b362a;--brown-deep:#34261f}body{background:#fcfaf6;color:var(--ink)}header{background:rgba(252,250,246,.95);border-bottom-color:rgba(75,54,42,.18)}.brand{color:var(--brown-deep)}.brand b{color:var(--green)}.brand-mark{color:var(--gold-dark);border-color:var(--gold);box-shadow:inset 0 0 0 5px #f5efe4}.nav-links{color:#5d5148}.nav-links a:hover{color:var(--green)}.nav-links a:after{background:var(--gold)}.portal-link{color:var(--green)}.primary{background:var(--green);border-color:var(--green)}.primary:hover{background:var(--brown);border-color:var(--brown)}.secondary{border-color:var(--gold);color:var(--brown)}.hero{background:linear-gradient(90deg,#faf7f1 0%,#f5efe5 53%,#e4e8dc 100%)}.hero:after{border-color:rgba(41,69,52,.20);box-shadow:0 0 0 50px rgba(177,138,76,.04),0 0 0 110px rgba(41,69,52,.025)}.eyebrow{color:var(--green)}.hero h1,.page-hero h1,h2{color:var(--brown-deep)}.hero-panel{border-color:rgba(177,138,76,.42);box-shadow:20px 24px 0 rgba(41,69,52,.07),0 35px 85px rgba(64,47,36,.11)}.journey-step b{border-color:var(--gold);color:var(--green)}.trust-row span:before{color:var(--green)}.section-heading:after{background:var(--gold)}.card:hover{border-color:var(--gold);box-shadow:0 25px 55px rgba(75,54,42,.10)}.card .more{color:var(--green)}.cta{background:linear-gradient(115deg,var(--brown-deep),var(--brown) 58%,#294534)}.cta:after{border-color:rgba(214,187,132,.30)}.whatsapp{background:var(--green);border-color:var(--gold)}.page-hero{background:linear-gradient(105deg,#f8f3ea 0%,#e7e9df 100%)}.check-list span{background:#eee9dc;border-left-color:var(--green)}.check-list span:before{color:var(--green)}blockquote{background:#eee5d6;border-left-color:var(--gold);color:var(--brown)}.result{background:#e8e9dd;border-left-color:var(--gold)}.result strong{color:var(--green)}.progress i{background:var(--green)}.status{background:#e4e8dd;color:var(--green)}.admin-nav{background:var(--brown-deep);border-right:3px solid var(--gold)}.admin-nav .brand-mark{color:#d6bb83;border-color:#b79659;box-shadow:inset 0 0 0 5px #413127}.admin-nav nav a:first-child{background:rgba(41,69,52,.65)}footer{background:var(--brown-deep);border-top-color:var(--gold)}

/* Keep the admin workspace inside the viewport width while allowing normal vertical scrolling. */
.admin-shell{grid-template-columns:clamp(210px,18vw,250px) minmax(0,1fr);width:100%;max-width:100%;overflow-x:hidden}.admin-content{min-width:0;width:100%;max-width:100%;padding:clamp(24px,3vw,45px)}.admin-content>.panel,.admin-content>.metric-grid,.admin-content>.dashboard-head{min-width:0;max-width:100%}.dashboard-head>div{min-width:0}.dashboard-head p{overflow-wrap:anywhere}
@media(max-width:960px){.admin-shell{grid-template-columns:minmax(0,1fr)}}

/* Admin lead-to-client workspace */
.admin-page{overflow-x:hidden}.admin-page .admin-nav{min-height:100vh;position:sticky;top:0;align-self:start;display:flex;flex-direction:column}.admin-nav nav{gap:6px}.admin-tab,.admin-coming-soon{width:100%;border:0;background:transparent;color:#c9bfb4;padding:13px;text-align:left;font:600 13px/1.2 var(--font-ui);display:flex;align-items:center;justify-content:space-between}.admin-tab{cursor:pointer}.admin-tab:hover{background:#ffffff12;color:white}.admin-tab.active{background:rgba(41,69,52,.72);color:white;border-left:2px solid var(--gold)}.admin-tab b{min-width:24px;padding:4px 7px;background:#ffffff14;color:#d9c59d;text-align:center;font-size:10px}.admin-coming-soon{opacity:.5}.admin-coming-soon small{text-transform:uppercase;font-size:8px;letter-spacing:.12em}.admin-signout{margin-top:auto;border:1px solid #ffffff2b;background:transparent;color:#d9cfc5;padding:12px;cursor:pointer;text-align:left}.admin-view{min-width:0}.admin-view>.dashboard-head{padding-top:18px}.admin-action{border:1px solid var(--line);background:#fdfcf9;border-radius:2px;padding:20px;text-align:left;color:var(--ink);cursor:pointer;font:inherit}.admin-action strong,.admin-action small{display:block}.admin-action small{color:#6c6259;margin-top:5px;line-height:1.45}.admin-action:hover{border-color:var(--gold);background:#faf5eb}.delete-action{border-color:#b88a82;color:#7e2f27}.delete-action:hover{background:#fff5f2;border-color:#9d5146}.admin-action:disabled{opacity:.55;cursor:not-allowed}.client-detail{margin-top:24px}.portal-access-box{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,2fr) auto auto;gap:10px;align-items:center;background:#f0eadf;border:1px solid #dacbad;padding:18px;margin:24px 0}.portal-access-box>div{display:flex;flex-direction:column;gap:4px}.portal-access-box span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#766858}.portal-access-box strong{font-size:12px}.portal-access-box input{min-width:0;width:100%;padding:10px;border:1px solid #c9b99e;background:#fffdf9}.portal-access-box a{display:inline-flex;text-decoration:none}.client-status-badge{white-space:nowrap}
.return-action{border-color:#b7a47e;background:#f6f0e4}.return-action:hover{border-color:var(--gold);background:#eee3d1}
@media(min-width:1000px){.lead-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Connected client portal */
.portal-body{min-height:100vh;background:linear-gradient(115deg,#fbf8f2,#eef0e8)}.portal-state{padding:110px 0;max-width:760px}.portal-state h1{font:400 clamp(46px,6vw,72px)/1.04 var(--font-ui);margin:0 0 20px;color:var(--brown-deep)}.portal-state p:not(.eyebrow){color:#6d635a;line-height:1.7}.portal-error .button{margin-top:18px}.portal-heading{padding-top:72px}.portal-grid{align-items:start}.portal-main-column{min-width:0}.progress-panel{padding:34px}.portal-panel-heading{display:flex;align-items:start;justify-content:space-between;gap:20px}.portal-panel-heading h2{font-size:36px}.portal-panel-heading>span{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--green);border:1px solid var(--gold);padding:9px 11px}.progress-panel p:last-child{color:#6b6259;line-height:1.6}.portal-actions{margin-top:20px}.portal-action{display:block;border:1px solid var(--line);background:#fdfcf9;border-radius:2px;padding:22px;color:var(--ink)}.portal-action:hover{border-color:var(--gold);background:#faf6ed}.portal-action strong,.portal-action small{display:block}.portal-action small{color:#70675e;margin-top:6px;line-height:1.45}.request-card{cursor:default}.request-card.requested{background:#edf1e9;border-color:#819b83;box-shadow:inset 3px 0 var(--green)}.request-card.requested small{color:var(--green)}.portal-sidebar h3{font:400 30px var(--font-ui);margin:0 0 22px}.portal-facts{margin:0}.portal-facts>div{padding:14px 0;border-top:1px solid var(--line)}.portal-facts dt{font-size:9px;text-transform:uppercase;letter-spacing:.13em;color:#766b61}.portal-facts dd{margin:5px 0 0;font-weight:700}.portal-help{font-size:13px;line-height:1.6;color:#6d655c;margin:25px 0}.portal-sidebar .button{width:100%}
@media(max-width:1100px){.portal-access-box{grid-template-columns:1fr 1fr}.portal-access-box input{grid-column:1/-1}}
@media(max-width:960px){.admin-page .admin-nav{display:grid;grid-template-columns:1fr auto;position:sticky;top:0;z-index:30;min-height:0;padding:12px 16px;border-right:0;border-bottom:2px solid var(--gold)}.admin-page .admin-nav>.brand,.admin-page .admin-coming-soon{display:none}.admin-page .admin-nav nav{display:grid;grid-template-columns:1fr 1fr;margin:0;gap:6px}.admin-page .admin-signout{margin:0 0 0 10px}.portal-grid{grid-template-columns:1fr}.portal-sidebar{margin-top:0}}
@media(max-width:650px){.admin-page .admin-content{padding:20px 14px}.admin-page .admin-nav{grid-template-columns:1fr}.admin-page .admin-signout{display:none}.portal-panel-heading{flex-direction:column}.portal-panel-heading h2{font-size:30px}.portal-access-box{grid-template-columns:1fr}.portal-access-box input{grid-column:auto}.portal-access-box .detail-close{width:100%;justify-content:center}.portal-heading{padding-top:50px}}

/* Dedicated admin lead and client profile */
.admin-profile-page{background:#f5f1e9;min-height:100vh}.profile-topbar{position:sticky;top:0}.profile-topbar .profile-back{margin-left:auto;display:inline-flex;align-items:center}.profile-shell{padding:55px 0 90px}.profile-state{padding:70px 0}.profile-state h1,.profile-heading h1{font:400 clamp(44px,5vw,68px)/1.02 var(--font-ui);color:var(--brown-deep);margin:0}.profile-state>p:not(.eyebrow),.profile-heading>div>p:last-child{color:#6d6359;line-height:1.6}.profile-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:32px}.profile-status-control{display:flex;flex-direction:column;gap:8px;min-width:190px;color:#74685d;font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:800}.profile-status-control select{padding:12px;border:1px solid var(--gold);background:#fffdf9;color:var(--ink);font:600 13px var(--font-ui);text-transform:none;letter-spacing:0}.profile-details-panel{padding:32px}.profile-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.profile-detail-grid strong{overflow-wrap:anywhere}.profile-controls{margin-top:24px;padding:32px}.profile-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:24px}.profile-actions.three-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.profile-portal-box{margin-top:24px}.profile-controls .panel-heading h2{font-size:34px}
@media(max-width:850px){.profile-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-actions,.profile-actions.three-actions{grid-template-columns:1fr 1fr}.profile-heading{align-items:flex-start;flex-direction:column}.profile-status-control{width:100%}}
@media(max-width:600px){.profile-shell{padding:35px 0 60px}.profile-detail-grid,.profile-actions,.profile-actions.three-actions{grid-template-columns:1fr}.profile-details-panel,.profile-controls{padding:20px}.profile-topbar .brand span:last-child{display:none}.profile-topbar .profile-back{font-size:11px}}

/* Separate life-insurance admin and test questionnaire workflow */
.test-questionnaire-warning{display:flex;align-items:flex-start;gap:14px;background:#fff4dc;border:1px solid #d7b875;border-left:4px solid #9b6b23;color:#5d4626;padding:16px 18px;margin:0 0 24px;line-height:1.5}.test-questionnaire-warning strong{white-space:nowrap;font-size:12px;text-transform:uppercase;letter-spacing:.09em}.test-questionnaire-warning span{font-size:13px}.admin-test-warning{margin:0 0 26px}.profile-test-warning{margin:24px 0 0}.questionnaire-loading{text-align:center;background:#fffdf9;border:1px solid var(--line);padding:34px;margin-bottom:24px}.questionnaire-declaration{background:#f4efe6;border-left:3px solid var(--gold);padding:16px 18px;margin:0 0 22px;color:#5f574e;line-height:1.6}.insurance-questionnaire-page .lead-form{max-width:820px}.insurance-questionnaire-page .form-success .button{margin-top:18px}

.insurance-admin-content{min-width:0}.insurance-invite-panel,.invite-result,.insurance-clients-panel,.insurance-invitations-panel{margin-top:24px}.insurance-invite-form{display:grid;grid-template-columns:minmax(190px,1fr) minmax(160px,.7fr) minmax(160px,.7fr) auto;gap:14px;align-items:end}.insurance-invite-form label{font-size:12px;font-weight:700;color:#62574e}.insurance-invite-form input{display:block;width:100%;margin-top:8px;border:1px solid #cfc4b4;background:#fff;padding:13px}.insurance-invite-form .button{white-space:nowrap}.invite-result{display:grid;grid-template-columns:minmax(230px,.8fr) minmax(300px,1.2fr);gap:24px;align-items:center}.invite-result h2{font-size:30px}.invite-result p:last-child{color:#675f56;line-height:1.55}.invite-link-row,.profile-invite-result{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center}.invite-link-row input,.profile-invite-result input{min-width:0;width:100%;padding:11px;border:1px solid #c9b99e;background:#fffdf9}.invite-link-row a,.profile-invite-result a{display:inline-flex}.insurance-table{width:100%;border-collapse:collapse;table-layout:fixed}.insurance-table th{text-align:left;color:#746b62;font-size:10px;text-transform:uppercase;letter-spacing:.13em;padding:13px;border-bottom:1px solid var(--line)}.insurance-table td{padding:16px 13px;border-bottom:1px solid #e6dfd5;font-size:13px;vertical-align:top;overflow-wrap:anywhere}.insurance-table td small{display:block;color:#756d65;margin-top:5px}.insurance-table th:first-child,.insurance-table td:first-child{width:28%}.insurance-table th:last-child,.insurance-table td:last-child{width:10%}.insurance-status,.invitation-status,.delivery-sent,.delivery-failed{display:inline-flex;padding:6px 8px;background:#edf1e9;color:var(--green);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.delivery-failed{background:#f5ead9;color:#7d5821}.status-completed{background:#dce9e2}.status-opened{background:#eee8dc}.status-pending{background:#f5ead9}.insurance-answer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.insurance-answer-grid>div{min-height:105px}.insurance-answer-grid strong{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55}.profile-invite-result{margin-top:14px;background:#f0eadf;border:1px solid #dacbad;padding:16px}.profile-invite-result>div{grid-column:1/-1;display:flex;flex-direction:column;gap:5px}.profile-invite-result small{color:#6b6259;line-height:1.45}.admin-signout{display:block}

@media(max-width:1050px){.insurance-invite-form{grid-template-columns:1fr 1fr}.insurance-invite-form .button{width:100%}.invite-result{grid-template-columns:1fr}.insurance-table th:nth-child(3),.insurance-table td:nth-child(3){display:none}}
@media(max-width:960px){.admin-page .admin-nav nav{grid-template-columns:repeat(3,minmax(0,1fr))}.insurance-admin-content{padding-top:28px}}
@media(max-width:720px){.test-questionnaire-warning{flex-direction:column;gap:6px}.insurance-invite-form{grid-template-columns:1fr}.insurance-clients-panel .table-wrap,.insurance-invitations-panel .table-wrap{overflow:visible}.insurance-table,.insurance-table tbody,.insurance-table tr,.insurance-table td{display:block;width:100%}.insurance-table thead{display:none}.insurance-table tr{background:#fffdf9;border:1px solid #e3d9ca;margin-bottom:14px;padding:12px 14px}.insurance-table td,.insurance-table td:nth-child(3){display:block;width:100%!important;min-height:34px;border:0;padding:7px 0 7px 43%;position:relative}.insurance-table td:before{position:absolute;left:0;top:8px;width:39%;color:#746b62;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.insurance-clients-panel td:nth-child(1):before{content:'Client'}.insurance-clients-panel td:nth-child(2):before{content:'Completed'}.insurance-clients-panel td:nth-child(3):before{content:'Mortgage link'}.insurance-clients-panel td:nth-child(4):before{content:'Status'}.insurance-clients-panel td:nth-child(5):before{content:'Details'}.insurance-invitations-panel td:nth-child(1):before{content:'Recipient'}.insurance-invitations-panel td:nth-child(2):before{content:'Sent'}.insurance-invitations-panel td:nth-child(3):before{content:'Source'}.insurance-invitations-panel td:nth-child(4):before{content:'Email'}.insurance-invitations-panel td:nth-child(5):before{content:'Status'}.insurance-table .empty-cell{padding:28px 12px!important;text-align:center!important;min-height:0}.insurance-table .empty-cell:before{display:none}.insurance-table .open-lead{display:block;width:100%;text-align:center}.insurance-answer-grid{grid-template-columns:1fr}.invite-link-row,.profile-invite-result{grid-template-columns:1fr 1fr}.invite-link-row input,.profile-invite-result input{grid-column:1/-1}}
@media(max-width:540px){.admin-page .admin-nav nav{grid-template-columns:1fr}.invite-link-row,.profile-invite-result{grid-template-columns:1fr}.invite-link-row input,.profile-invite-result input{grid-column:auto}.invite-link-row .detail-close,.profile-invite-result .detail-close{justify-content:center;text-align:center}}

/* Consistent admin navigation, fixed desktop sidebar and single-line table actions */
.admin-page .admin-shell{overflow-x:clip}.admin-page .admin-nav nav .admin-tab:not(.active){background:transparent;color:#c9bfb4;border-left:0}.admin-page .admin-nav nav .admin-tab:not(.active):hover{background:#ffffff12;color:white}.admin-page .admin-nav .admin-tab,.admin-page .admin-nav .admin-coming-soon{min-height:48px}.admin-page .admin-nav .admin-tab b{flex:0 0 auto}.open-lead{display:inline-flex;align-items:center;justify-content:center;min-width:68px;white-space:nowrap;overflow-wrap:normal;word-break:normal}.profile-phone-link{color:var(--green);text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:3px}.insurance-status,.invitation-status{white-space:nowrap}.insurance-clients-panel .insurance-table th:nth-child(1),.insurance-clients-panel .insurance-table td:nth-child(1){width:26%}.insurance-clients-panel .insurance-table th:nth-child(2),.insurance-clients-panel .insurance-table td:nth-child(2){width:17%}.insurance-clients-panel .insurance-table th:nth-child(3),.insurance-clients-panel .insurance-table td:nth-child(3){width:18%}.insurance-clients-panel .insurance-table th:nth-child(4),.insurance-clients-panel .insurance-table td:nth-child(4){width:29%}.insurance-clients-panel .insurance-table th:nth-child(5),.insurance-clients-panel .insurance-table td:nth-child(5){width:10%}.insurance-danger-zone{border-color:#c79a91}.insurance-delete-client{margin-top:22px;width:100%}.insurance-delete-client:disabled{opacity:.55;cursor:not-allowed}
@media(min-width:961px){.admin-page .admin-nav{position:sticky;top:0;height:100vh;min-height:0;overflow-y:auto}}

/* Invite-only mortgage portal login and document centre */
.portal-login-shell{min-height:calc(100vh - 92px);display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,.72fr);gap:clamp(48px,8vw,110px);align-items:center;padding:70px 0}.portal-login-copy h1{font:400 clamp(52px,6vw,78px)/1.01 var(--font-ui);color:var(--brown-deep);margin:0 0 24px;max-width:760px}.portal-login-copy>p:last-child{max-width:590px;color:#6d6359;font-size:18px;line-height:1.7}.portal-login-card{background:#fffdf9;border:1px solid rgba(177,138,76,.48);padding:clamp(30px,4vw,48px);box-shadow:18px 20px 0 rgba(41,69,52,.06),0 30px 70px rgba(75,54,42,.09)}.portal-login-card h2{font-size:42px;margin-bottom:14px}.portal-login-card>p:not(.eyebrow){color:#6d6359;line-height:1.65}.portal-login-form{display:grid;gap:12px;margin-top:28px}.portal-login-form label{color:#594f47;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.portal-login-form input{width:100%;border:1px solid #cfc4b4;background:#fff;padding:15px;color:var(--ink)}.portal-login-form input:focus{outline:1px solid var(--gold);border-color:var(--gold)}.portal-login-form .button{width:100%;margin-top:8px}.portal-login-form small,.portal-login-help{font-size:11px;color:#7a7066;line-height:1.55}.portal-login-message{min-height:22px;margin:17px 0 0!important;font-size:12px;color:var(--green)!important}.portal-heading-actions{display:flex;align-items:center;gap:12px}.portal-heading-actions .detail-close{white-space:nowrap}.portal-invite-status{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:14px;align-items:center;background:#f0eadf;border:1px solid #dacbad;padding:18px;margin:24px 0}.portal-invite-status>div{display:flex;flex-direction:column;gap:5px}.portal-invite-status span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#766858}.portal-invite-status strong{font-size:15px}.portal-invite-status small{color:#6b6259;line-height:1.45}.portal-document-panel{margin-top:20px;padding:30px}.portal-document-panel .panel-heading h2{font-size:34px}.portal-document-list,.admin-document-list{display:grid;gap:10px;margin-top:22px}.portal-document-row{display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid var(--line);background:#fff;padding:16px 18px}.portal-document-row:hover{border-color:var(--gold);background:#faf6ed}.portal-document-row span{min-width:0}.portal-document-row strong,.portal-document-row small{display:block;overflow-wrap:anywhere}.portal-document-row small{margin-top:5px;color:#756d65;font-size:11px}.portal-document-row b{flex:0 0 auto;color:var(--green);font-size:10px;text-transform:uppercase;letter-spacing:.1em}.portal-document-empty{margin:0;color:#746c64;line-height:1.55}.portal-document-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 16px;align-items:end;margin-top:22px}.portal-document-form label{grid-column:1/-1;font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:#62574e}.portal-document-form input{min-width:0;width:100%;border:1px solid #cfc4b4;background:white;padding:12px}.portal-document-form small{grid-column:1/-1;color:#756d65;font-size:11px}.portal-document-form .button{white-space:nowrap}
@media(max-width:900px){.portal-login-shell{grid-template-columns:1fr;gap:32px;padding:55px 0}.portal-login-copy{text-align:center}.portal-login-copy h1,.portal-login-copy>p:last-child{margin-left:auto;margin-right:auto}.portal-login-copy h1{font-size:clamp(46px,10vw,64px)}.portal-invite-status{grid-template-columns:1fr 1fr}.portal-invite-status>div{grid-column:1/-1}}
@media(max-width:600px){.portal-login-shell{width:calc(100% - 28px);padding:38px 0 55px}.portal-login-copy h1{font-size:45px}.portal-login-card{padding:27px 20px}.portal-login-card h2{font-size:34px}.portal-heading-actions{width:100%;justify-content:space-between}.portal-invite-status,.portal-document-form{grid-template-columns:1fr}.portal-invite-status .button,.portal-invite-status .detail-close,.portal-document-form .button{width:100%;text-align:center;justify-content:center}.portal-document-panel{padding:22px 18px}.portal-document-row{align-items:flex-start;flex-direction:column;gap:10px}}

/* Keep client login available inside the mobile website menu. */
@media(max-width:960px){.nav.open .nav-actions{display:flex;width:100%;order:4;padding:0 0 15px;margin-left:0}}
@media(max-width:650px){.nav.open .nav-actions{align-items:stretch;flex-direction:column}.nav.open .nav-actions .portal-link{text-align:center;padding:12px}}

.password-page-body{min-height:100vh}.password-page{min-height:calc(100vh - 92px);display:grid;place-items:center;padding:28px 20px;background:linear-gradient(110deg,#f8f3ea 0%,#e7e9df 100%)}.password-card{width:min(680px,100%);padding:clamp(26px,3vw,38px);box-shadow:14px 16px 0 rgba(41,69,52,.06),0 24px 60px rgba(75,54,42,.08)}.password-card h1,.password-state h1{font:400 clamp(38px,5vw,54px)/1.04 var(--font-ui);color:var(--brown-deep);margin:0 0 12px}.password-card>p:not(.eyebrow),.password-state>p:last-of-type{color:#6d6359;line-height:1.55;margin:0}.password-card .portal-login-form{margin-top:20px;gap:9px}.password-card .portal-login-form input{padding:12px}.password-card .portal-login-form .button{margin-top:5px}.password-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:3px}.password-fields label{display:grid;gap:9px}.password-state{width:min(680px,100%);text-align:center}.password-state .button{margin-top:18px}.password-error{background:#fffdf9;border:1px solid rgba(177,138,76,.48);padding:38px}
@media(max-width:650px){.password-page{min-height:calc(100vh - 76px);place-items:start center;padding:24px 14px}.password-fields{grid-template-columns:1fr}.password-card{padding:24px 19px}.password-card h1,.password-state h1{font-size:38px}}

/* Hidden portal states must stay out of the layout even when their base class uses display:grid. */
[hidden]{display:none!important}
.portal-review-actions{grid-template-columns:1fr}

/* CRM creation forms, editable profiles, activity timeline and document requests */
.dashboard-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.dashboard-head-actions .button{white-space:nowrap}.manual-profile-panel{margin:0 0 24px;scroll-margin-top:20px}.manual-profile-form,.profile-edit-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px;margin-top:24px}.manual-profile-form label,.profile-edit-form label,.document-request-form label{display:grid;gap:7px;color:#62574e;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.manual-profile-form input,.manual-profile-form select,.manual-profile-form textarea,.profile-edit-form input,.profile-edit-form select,.profile-edit-form textarea,.document-request-form input{min-width:0;width:100%;border:1px solid #cfc4b4;background:#fffdf9;padding:12px 13px;color:var(--ink);font:500 13px var(--font-ui);text-transform:none;letter-spacing:0}.manual-profile-form input:focus,.manual-profile-form select:focus,.manual-profile-form textarea:focus,.profile-edit-form input:focus,.profile-edit-form select:focus,.profile-edit-form textarea:focus,.document-request-form input:focus{outline:1px solid var(--gold);border-color:var(--gold)}.manual-profile-wide,.profile-edit-wide{grid-column:1/-1}.manual-profile-submit,.profile-edit-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:18px}.manual-profile-submit p,.profile-edit-actions p{margin:0 auto 0 0;color:var(--green);font-size:12px;line-height:1.5}.activity-log{display:block;height:290px;max-height:290px;overflow-y:auto;margin-top:18px;padding:0 7px;border-top:1px solid #e5ddd0;border-bottom:1px solid #e5ddd0}.activity-item{display:block;padding:0;border-bottom:1px solid #eee7dd}.activity-item:last-child{border-bottom:0}.activity-item:before{display:none!important}.activity-entry{margin:0}.activity-entry summary{display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:9px;align-items:center;padding:9px 3px;cursor:pointer;list-style:none}.activity-entry summary::-webkit-details-marker{display:none}.activity-entry summary:after{content:'+';grid-column:4;color:#8a7658;font-size:17px}.activity-entry[open] summary:after{content:'−'}.activity-entry[data-empty="true"] summary:after{visibility:hidden}.activity-marker{width:8px;height:8px;margin:0;border:2px solid var(--gold);border-radius:50%;background:#fff}.activity-note .activity-marker{border-color:var(--green);background:#dce9e2}.activity-summary-copy{min-width:0}.activity-summary-copy strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.activity-summary-copy small{display:inline;margin:0;color:var(--green);font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.activity-entry time{color:#7a7066;font-size:9px;white-space:nowrap}.activity-entry>p{margin:0;padding:0 28px 10px;color:#655c53;font-size:11px;line-height:1.5}.document-request-form{display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:8px;align-items:end;width:min(720px,100%);margin:16px 0 0}.document-request-form label{min-width:0}.request-document-button{height:41px;border:1px solid var(--green);background:var(--green);color:#fff;padding:8px 12px;font:700 11px var(--font-ui);cursor:pointer;white-space:nowrap}.request-document-button:hover{background:#1d3c2e}.request-document-button:disabled{opacity:.55;cursor:not-allowed}.document-request-list{display:grid;gap:8px;margin-top:14px}.document-request-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid #dfd6c9;background:#fffdf9;padding:12px 14px}.document-request-row.request-complete{background:#edf1e9;border-color:#9aae9c}.request-check{display:grid;place-items:center;width:24px;height:24px;border:1px solid #b8aa96;background:#fff;color:var(--green);font-weight:900}.request-complete .request-check{background:var(--green);border-color:var(--green);color:#fff}.document-request-row strong,.document-request-row small{display:block}.document-request-row small{margin-top:4px;color:#756d65;font-size:10px}.document-request-row>b{color:#846b42;font-size:9px;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}.portal-request-row{display:grid;grid-template-columns:30px minmax(0,1fr);gap:12px 14px;border:1px solid #dfd6c9;background:#fffdf9;padding:18px}.portal-request-row.request-complete{background:#edf1e9;border-color:#9aae9c}.portal-request-check input{position:absolute;opacity:0}.portal-request-check span{display:grid;place-items:center;width:25px;height:25px;border:1px solid #b8aa96;background:white}.portal-request-check input:checked+span{background:var(--green);border-color:var(--green)}.portal-request-check input:checked+span:after{content:'✓';color:white;font-weight:900}.portal-request-copy strong,.portal-request-copy small{display:block}.portal-request-copy small{margin-top:5px;color:#756d65;font-size:11px}.portal-request-controls{grid-column:2;display:grid;grid-template-columns:auto minmax(180px,1fr) auto;gap:10px;align-items:center}.portal-request-controls input{min-width:0;width:100%;border:1px solid #cfc4b4;background:white;padding:10px;font-size:11px}.portal-request-controls .button{white-space:nowrap;padding:11px 16px;font-size:12px}.portal-request-controls .detail-close{white-space:nowrap;text-align:center}.portal-request-message{grid-column:2;margin:0!important}.invitation-table th:nth-child(1),.invitation-table td:nth-child(1){width:25%}.invitation-table th:nth-child(2),.invitation-table td:nth-child(2){width:14%}.invitation-table th:nth-child(3),.invitation-table td:nth-child(3){width:17%}.invitation-table th:nth-child(4),.invitation-table td:nth-child(4){width:15%}.invitation-table th:nth-child(5),.invitation-table td:nth-child(5){width:20%}.invitation-table th:nth-child(6),.invitation-table td:nth-child(6){width:9%;text-align:right}.invitation-delete{display:inline-grid;place-items:center;width:38px;height:38px;border:1px solid #c89a91;background:#fff7f5;color:#8a3f36;cursor:pointer}.invitation-delete:hover{background:#8a3f36;color:white}.invitation-delete:disabled{opacity:.5;cursor:not-allowed}.invitation-delete svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:850px){.manual-profile-form,.profile-edit-form{grid-template-columns:1fr}.manual-profile-wide,.profile-edit-wide,.manual-profile-submit,.profile-edit-actions{grid-column:auto}.portal-request-controls{grid-template-columns:1fr}.portal-request-controls .detail-close{width:100%}}
@media(max-width:650px){.dashboard-head-actions{width:100%;justify-content:space-between}.dashboard-head-actions .button{flex:1}.manual-profile-submit,.profile-edit-actions{align-items:stretch;flex-direction:column}.manual-profile-submit .button,.profile-edit-actions .button{width:100%}.activity-entry summary{grid-template-columns:10px minmax(0,1fr)}.activity-entry time{grid-column:2}.activity-entry summary:after{grid-column:3;grid-row:1/3}.document-request-form{grid-template-columns:1fr}.request-document-button{width:132px}.document-request-row{grid-template-columns:30px minmax(0,1fr)}.document-request-row>a,.document-request-row>b{grid-column:2;justify-self:start}.portal-request-row{grid-template-columns:30px minmax(0,1fr)}.portal-request-controls,.portal-request-message{grid-column:1/-1}.invitation-table td:nth-child(6):before{content:'Delete'}}

/* Live callback calendar and availability controls */
.appointments-admin-content{padding-top:clamp(34px,4vw,58px)}
.appointments-heading{margin-bottom:26px}
.appointments-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(330px,.75fr);gap:24px;align-items:start}
.appointments-calendar-column,.availability-column{display:grid;gap:24px;min-width:0}
.calendar-panel,.appointment-day-panel,.availability-panel{padding:clamp(20px,2.2vw,30px)}
.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}
.calendar-toolbar h2{font-size:clamp(30px,3vw,42px);margin:5px 0 0}
.calendar-navigation{display:flex;gap:6px}
.calendar-navigation button{border:1px solid #cdbfa9;background:#fffdf9;color:var(--brown-deep);min-width:42px;height:42px;padding:0 13px;cursor:pointer;font-weight:700}
.calendar-navigation button:hover{border-color:var(--gold);background:#f5eee1}
.calendar-error{margin:-8px 0 18px;padding:11px 13px;border:1px solid #c99f96;background:#fff7f4;color:#7f392f;font-size:10px;line-height:1.5}
.calendar-weekdays,.callback-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.calendar-weekdays{border:1px solid #ddd2c2;border-bottom:0;background:#f2ece2}
.calendar-weekdays span{text-align:center;padding:10px 4px;color:#756a60;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.12em}
.callback-calendar{border-top:1px solid #ddd2c2;border-left:1px solid #ddd2c2}
.callback-calendar>.portal-document-empty{grid-column:1/-1;padding:60px 20px;text-align:center}
.calendar-empty,.calendar-day{min-height:116px;border:0;border-right:1px solid #ddd2c2;border-bottom:1px solid #ddd2c2;background:#f8f4ed}
.calendar-day{display:flex;flex-direction:column;align-items:stretch;gap:5px;padding:9px;text-align:left;color:var(--ink);cursor:pointer}
.calendar-day:hover{background:#f3eddf;box-shadow:inset 0 0 0 1px var(--gold)}
.calendar-day.selected{background:#edf1e9;box-shadow:inset 0 0 0 2px var(--green)}
.calendar-day.today>b{display:grid;place-items:center;width:25px;height:25px;background:var(--green);color:#fff;border-radius:50%}
.calendar-day>b{font-size:12px;align-self:flex-end}
.calendar-callback{display:block;min-width:0;padding:5px 6px;background:#e7eee8;border-left:2px solid var(--green);font-size:9px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.calendar-callback.status-confirmed{background:#eee7d8;border-left-color:var(--gold)}
.calendar-callback.status-completed{opacity:.65}
.calendar-day>small{font-size:8px;color:#756b62}
.appointment-day-list{display:grid;gap:10px;margin-top:20px}
.appointment-row{display:grid;grid-template-columns:74px minmax(130px,1.2fr) minmax(160px,1fr) auto;gap:14px;align-items:center;padding:15px;border:1px solid #ded5c8;background:#fffdf9}
.appointment-row>time strong,.appointment-row>time small,.appointment-person>strong,.appointment-person>small,.appointment-contact>a{display:block}
.appointment-row>time strong{font:400 24px var(--font-ui);color:var(--green)}
.appointment-row>time small,.appointment-person>small{margin-top:3px;color:#756b62;font-size:9px}
.appointment-person>p{margin:7px 0 0;color:#665d54;font-size:10px;line-height:1.45}
.appointment-contact{min-width:0}
.appointment-contact a{color:var(--green);font-size:10px;line-height:1.7;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.appointment-controls{display:flex;align-items:center;gap:8px}
.appointment-controls select{border:1px solid #cfc4b4;background:white;padding:9px;white-space:nowrap}
.appointment-controls .detail-close{white-space:nowrap}
.appointment-cancelled{opacity:.55;background:#f1ede7}
.weekly-availability-form{margin-top:18px}
.weekly-availability-form>button{width:100%;margin-top:14px}
.weekly-day{display:grid;grid-template-columns:55px minmax(90px,1fr) auto minmax(90px,1fr);gap:7px;align-items:center;padding:9px 0;border-bottom:1px solid #e6dfd5}
.weekly-day-toggle{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:800;color:var(--green)}
.weekly-day-toggle input{accent-color:var(--green)}
.weekly-day input[type=time],.availability-form input,.availability-form select{min-width:0;width:100%;border:1px solid #cfc4b4;background:#fffdf9;padding:10px;color:var(--ink)}
.weekly-day input:disabled{opacity:.4;background:#eeeae3}
.weekly-day>span{font-size:9px;color:#7c7269}
.availability-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}
.availability-form label{display:grid;gap:6px;color:#62574e;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.availability-form label small{font-weight:500;text-transform:none;letter-spacing:0;color:#80766d}
.availability-wide{grid-column:1/-1}
.availability-day-picker{display:flex;flex-wrap:wrap;gap:5px;border:0;padding:0;margin:2px 0}
.availability-day-picker legend{width:100%;margin-bottom:7px;color:#62574e;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.availability-day-picker label{display:block;cursor:pointer}
.availability-day-picker input{position:absolute;opacity:0}
.availability-day-picker span{display:block;border:1px solid #cfc4b4;background:#fffdf9;padding:8px 9px;color:#6b6158;font-size:9px;font-weight:800}
.availability-day-picker input:checked+span{background:var(--green);border-color:var(--green);color:#fff}
.availability-message{min-height:18px;margin:8px 0 0;color:var(--green);font-size:10px;line-height:1.4}
.availability-block-list{display:grid;gap:8px;margin-top:18px;max-height:340px;overflow-y:auto}
.availability-block-row{display:grid;grid-template-columns:minmax(0,1fr) 32px;gap:10px;align-items:center;padding:12px;border:1px solid #dfd5c7;background:#fffdf9}
.availability-block-row strong,.availability-block-row small{display:block}
.availability-block-row strong{font-size:11px}
.availability-block-row small{margin-top:4px;color:#756b62;font-size:9px;line-height:1.45}
.availability-delete{display:grid;place-items:center;width:32px;height:32px;border:1px solid #c99f96;background:#fff8f5;color:#8a3f36;font-size:20px;cursor:pointer}
.availability-delete:hover{background:#8a3f36;color:white}
.compact-settings-form .button{width:100%}
@media(max-width:1220px){.appointments-layout{grid-template-columns:1fr}.availability-column{grid-template-columns:repeat(2,minmax(0,1fr))}.availability-column>.availability-panel:first-child,.availability-column>.availability-panel:last-child{grid-column:1/-1}}
@media(max-width:960px){.admin-page .admin-nav nav{grid-template-columns:repeat(4,minmax(0,1fr))}.calendar-day{min-height:98px}.appointment-row{grid-template-columns:64px minmax(0,1fr) auto}.appointment-contact{grid-column:2}.appointment-controls{grid-column:3;grid-row:1/3}}
@media(max-width:720px){.availability-column{grid-template-columns:1fr}.availability-column>.availability-panel:first-child,.availability-column>.availability-panel:last-child{grid-column:auto}.calendar-panel{overflow-x:auto}.calendar-toolbar,.appointments-heading{align-items:flex-start;flex-direction:column}.calendar-weekdays,.callback-calendar{min-width:670px}.appointment-row{grid-template-columns:60px minmax(0,1fr)}.appointment-contact,.appointment-controls{grid-column:2;grid-row:auto}.appointment-controls{align-items:stretch;flex-direction:column}.appointment-controls .detail-close{text-align:center}.weekly-day{grid-template-columns:48px 1fr auto 1fr}}
@media(max-width:540px){.admin-page .admin-nav nav{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-navigation{width:100%}.calendar-navigation button:nth-child(2){flex:1}}

/* Low-friction live callback booking */
.booking-page-body{background:#f6f1e8}
.booking-hero{padding:70px 0 58px;background:linear-gradient(105deg,#f8f3ea 0%,#e7e9df 100%);border-bottom:1px solid #d8cdbd}
.booking-hero-inner{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:clamp(35px,8vw,110px);align-items:end}
.booking-hero h1{max-width:850px;margin:0;font:400 clamp(48px,6vw,78px)/1.02 var(--font-ui);color:var(--brown-deep)}
.booking-hero-inner>p{margin:0;color:#625950;font-size:17px;line-height:1.7}
.booking-shell{padding-top:54px;padding-bottom:80px}
.callback-booking-form{display:grid;grid-template-columns:minmax(330px,.8fr) minmax(420px,1.2fr);gap:24px;align-items:start}
.booking-card{background:#fffdf9;border:1px solid rgba(177,138,76,.43);padding:clamp(24px,3vw,38px);box-shadow:12px 14px 0 rgba(41,69,52,.045)}
.booking-step-heading{display:flex;align-items:flex-start;gap:15px;margin-bottom:26px}
.booking-step-heading>span{display:grid;place-items:center;flex:0 0 auto;width:35px;height:35px;border:1px solid var(--gold);border-radius:50%;color:var(--green);font-weight:800}
.booking-step-heading h2{font-size:clamp(28px,3vw,38px);margin:4px 0 0}
.booking-date-field,.booking-fields label{display:grid;gap:8px;color:#5f554c;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.booking-date-field input,.booking-fields input,.booking-fields select,.booking-fields textarea{min-width:0;width:100%;border:1px solid #cfc4b4;background:#fff;padding:13px;color:var(--ink);font:500 13px var(--font-ui);text-transform:none;letter-spacing:0}
.booking-date-field input:focus,.booking-fields input:focus,.booking-fields select:focus,.booking-fields textarea:focus{outline:1px solid var(--gold);border-color:var(--gold)}
.callback-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:20px;max-height:310px;overflow-y:auto}
.callback-slots>p{grid-column:1/-1;margin:0;padding:22px;background:#f4efe6;color:#6d6359;font-size:12px;line-height:1.55;text-align:center}
.callback-slots button{border:1px solid #c9bda9;background:#fffdf9;padding:12px 8px;color:var(--green);font-weight:800;cursor:pointer}
.callback-slots button:hover,.callback-slots button.selected{background:var(--green);border-color:var(--green);color:white}
.selected-callback{min-height:42px;margin:18px 0 0;padding:12px 14px;background:#edf1e9;border-left:3px solid var(--green);color:var(--green);font-size:12px;font-weight:700}
.booking-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.booking-fields label>span:not(.optional){color:#8b5d35}
.booking-wide{grid-column:1/-1}
.booking-consent{display:flex!important;align-items:flex-start;gap:10px!important;padding:13px;background:#f4efe6;text-transform:none!important;letter-spacing:0!important;font-weight:500!important;line-height:1.55}
.booking-consent input{flex:0 0 auto;width:auto;margin-top:3px;accent-color:var(--green)}
.booking-consent a{color:var(--green)}
.booking-honeypot{position:absolute!important;left:-9999px}
.booking-submit{width:100%;margin-top:20px}
.booking-submit:disabled{opacity:.48;cursor:not-allowed}
.booking-message{min-height:20px;margin:12px 0 0;color:#8a3f36;font-size:11px;line-height:1.5}
.booking-success{min-height:620px;padding-top:100px;padding-bottom:100px;text-align:center}
.booking-success h1{margin:0 0 18px;font:400 clamp(48px,7vw,78px)/1.03 var(--font-ui);color:var(--brown-deep)}
.booking-success>p:not(.eyebrow){max-width:650px;margin:0 auto;color:#645b52;font-size:18px;line-height:1.7}
.booking-success>div{display:flex;justify-content:center;gap:12px;margin-top:30px}
.portal-review-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
.portal-callback-action{background:#edf1e9;border-color:#9aae9c;box-shadow:inset 3px 0 var(--green)}
@media(max-width:900px){.booking-hero-inner,.callback-booking-form{grid-template-columns:1fr}.booking-hero-inner{gap:25px}.booking-hero-inner>p{max-width:650px}.booking-time-card{order:1}.booking-details-card{order:2}}
@media(max-width:650px){.booking-hero{padding:48px 0 42px}.booking-hero h1{font-size:45px}.booking-shell{width:calc(100% - 28px);padding-top:28px}.booking-card{padding:24px 18px}.booking-fields{grid-template-columns:1fr}.booking-wide{grid-column:auto}.callback-slots{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-success{width:calc(100% - 28px);padding-top:70px}.booking-success>div{align-items:stretch;flex-direction:column}.portal-review-actions{grid-template-columns:1fr}}

/* Admin-created diary reminders and reliable calendar entries */
.manual-appointment-panel{margin:0 0 24px;padding:clamp(22px,2.4vw,32px);scroll-margin-top:20px}
.manual-appointment-form{display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(150px,.8fr) minmax(120px,.6fr) minmax(120px,.6fr);gap:14px 16px;margin-top:22px}
.manual-appointment-form label{display:grid;gap:7px;color:#62574e;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.manual-appointment-form input,.manual-appointment-form textarea{min-width:0;width:100%;border:1px solid #cfc4b4;background:#fffdf9;padding:11px 12px;color:var(--ink);font:500 12px var(--font-ui);text-transform:none;letter-spacing:0}
.manual-appointment-form input:focus,.manual-appointment-form textarea:focus{outline:1px solid var(--gold);border-color:var(--gold)}
.manual-appointment-notes{grid-column:1/-1}
.manual-appointment-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:16px}
.manual-appointment-actions p{margin:0 auto 0 0;color:#8a3f36;font-size:11px}
.calendar-reminder{background:#eee6d8;border-left-color:var(--gold-dark);color:#604a29}
.appointment-reminder{background:#f7f0e3;border-color:#d7c39a;box-shadow:inset 3px 0 var(--gold)}
.appointment-contact span{display:block;color:#806a45;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
@media(max-width:960px){.manual-appointment-form{grid-template-columns:1fr 1fr}.manual-appointment-title,.manual-appointment-notes{grid-column:1/-1}}
@media(max-width:650px){.manual-appointment-form{grid-template-columns:1fr}.manual-appointment-title,.manual-appointment-notes,.manual-appointment-actions{grid-column:auto}.manual-appointment-actions{align-items:stretch;flex-direction:column}.manual-appointment-actions .button{width:100%}}

/* Editable mortgage journey stages */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.stage-manager-panel{margin:0 0 24px;scroll-margin-top:20px}
.stage-create-form{display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:12px;align-items:end;width:min(720px,100%);margin-top:22px}
.stage-create-form label{display:grid;gap:7px;color:#62574e;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.stage-create-form input,.stage-manager-row input{min-width:0;width:100%;border:1px solid #cfc4b4;background:#fffdf9;padding:12px 13px;color:var(--ink);font:500 13px var(--font-ui);text-transform:none;letter-spacing:0}
.stage-create-form input:focus,.stage-manager-row input:focus{outline:1px solid var(--gold);border-color:var(--gold)}
.stage-manager-message{min-height:18px;margin:12px 0 0;color:var(--green);font-size:11px}
.stage-manager-list{display:grid;gap:8px;margin-top:14px}
.stage-manager-row{display:grid;grid-template-columns:34px minmax(220px,1fr) 90px auto;gap:12px;align-items:center;border:1px solid #dfd6c9;background:#fffdf9;padding:11px 12px}
.stage-manager-row.stage-archived{background:#f2eee8;color:#7a7066;opacity:.78}
.stage-order-number{display:grid;place-items:center;width:28px;height:28px;border:1px solid #cdbfa9;color:var(--gold-dark);font-size:11px;font-weight:800}
.stage-client-count{color:#756d65;font-size:10px;text-align:right;white-space:nowrap}
.stage-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}
.stage-icon-button,.stage-save-button,.stage-archive-button{min-height:36px;border:1px solid #cdbfa9;background:#fffdf9;color:var(--brown-deep);padding:8px 10px;cursor:pointer;font:700 10px var(--font-ui);white-space:nowrap}
.stage-icon-button{width:36px;padding:0;font-size:14px}
.stage-save-button{border-color:var(--green);color:var(--green)}
.stage-archive-button{color:#765f3d}
.stage-icon-button:hover,.stage-save-button:hover,.stage-archive-button:hover{background:#f3ecdf;border-color:var(--gold)}
.stage-icon-button:disabled,.stage-save-button:disabled,.stage-archive-button:disabled{opacity:.4;cursor:not-allowed}
@media(max-width:900px){.stage-manager-row{grid-template-columns:34px minmax(0,1fr) 80px}.stage-row-actions{grid-column:2/-1;justify-content:flex-start}}
@media(max-width:650px){.stage-create-form{grid-template-columns:1fr}.stage-create-form .button{width:100%}.stage-manager-row{grid-template-columns:30px minmax(0,1fr)}.stage-client-count{grid-column:2;text-align:left}.stage-row-actions{grid-column:1/-1;flex-wrap:wrap}.stage-save-button,.stage-archive-button{flex:1}}

/* Compact read-only lead and client profiles */
.profile-journey-card{position:relative;display:flex;align-items:center;gap:18px;min-height:92px;margin:0 0 18px;padding:20px 24px;border:1px solid #b9aa90;border-left:4px solid var(--gold);background:linear-gradient(100deg,#fffdf9,#f3eee4)}
.profile-journey-card[hidden]{display:none}
.profile-journey-summary[hidden],.profile-journey-editor[hidden],.profile-inline-editor[hidden],.profile-pencil-button[hidden]{display:none!important}
.profile-journey-summary{display:flex;flex:1;min-width:0;flex-direction:column;gap:4px}
.profile-journey-summary>span{color:#766858;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.14em}
.profile-journey-summary>strong{overflow:hidden;color:var(--brown-deep);font:400 clamp(25px,2.7vw,34px)/1.15 var(--font-ui);text-overflow:ellipsis;white-space:nowrap}
.profile-journey-summary>small{color:#756c62;font-size:10px}
.profile-pencil-button{display:grid;place-items:center;flex:0 0 auto;width:34px;height:34px;padding:0;border:1px solid #cdbfa9;background:#fffdf9;color:var(--green);cursor:pointer}
.profile-pencil-button:hover{border-color:var(--gold);background:#f3ecdf}
.profile-pencil-button svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.journey-pencil{width:40px;height:40px}
.profile-journey-editor{display:grid;grid-template-columns:minmax(240px,1fr) auto;align-items:end;gap:12px;flex:1}
.profile-journey-editor label,.profile-inline-editor label{display:grid;gap:6px;color:#62574e;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.profile-journey-editor select,.profile-inline-editor input,.profile-inline-editor select,.profile-inline-editor textarea{min-width:0;width:100%;border:1px solid #cfc4b4;background:#fff;padding:10px 11px;color:var(--ink);font:500 12px var(--font-ui);text-transform:none;letter-spacing:0}
.profile-journey-editor select:focus,.profile-inline-editor input:focus,.profile-inline-editor select:focus,.profile-inline-editor textarea:focus{outline:1px solid var(--gold);border-color:var(--gold)}
.profile-journey-editor>div,.profile-inline-actions{display:flex;align-items:center;gap:7px}
.profile-inline-save,.profile-inline-cancel{min-height:36px;padding:8px 12px;border:1px solid var(--green);background:var(--green);color:white;font:700 10px var(--font-ui);cursor:pointer;white-space:nowrap}
.profile-inline-cancel{border-color:#cdbfa9;background:#fffdf9;color:#665b51}
.profile-inline-save:hover{background:#1d3c2e}.profile-inline-cancel:hover{border-color:var(--gold);background:#f3ecdf}
.profile-inline-save:disabled{opacity:.5;cursor:not-allowed}
.profile-journey-status{min-width:0;margin:0;color:var(--green);font-size:10px}
.profile-details-panel{padding:25px 26px}
.compact-profile-heading{align-items:center}
.compact-profile-heading h2{font-size:31px}
.profile-information-form{margin-top:17px}
.profile-information-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.profile-information-item{position:relative;min-width:0;min-height:72px;border:1px solid #e1d8cb;background:#fffdf9;padding:13px 48px 12px 14px}
.profile-information-item:hover{border-color:#cdbfa9}
.profile-information-item.is-editing{grid-column:span 2;padding:13px;border-color:var(--gold);background:#faf6ed;box-shadow:inset 3px 0 var(--gold)}
.profile-information-wide{grid-column:1/-1;min-height:80px}
.profile-information-wide.is-editing{grid-column:1/-1}
.profile-static-value{min-width:0}
.profile-static-value span,.profile-static-value strong{display:block}
.profile-static-value span{margin-bottom:7px;color:#766b61;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.13em}
.profile-static-value strong{overflow-wrap:anywhere;color:#332d28;font-size:12px;line-height:1.45;white-space:pre-wrap}
.profile-static-value strong.profile-value-empty{color:#93887d;font-weight:500}
.profile-information-item>.profile-pencil-button{position:absolute;top:10px;right:10px;width:29px;height:29px;border-color:transparent;background:transparent;color:#826d4c}
.profile-information-item>.profile-pencil-button:hover{border-color:#d4c5ac;background:#f3ecdf}
.profile-information-item.is-editing>.profile-static-value,.profile-information-item.is-editing>.profile-pencil-button{display:none}
.profile-inline-editor{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;width:100%}
.profile-inline-editor textarea{resize:vertical}
.profile-edit-status{min-height:17px;margin:11px 0 0;color:var(--green);font-size:10px}
@media(max-width:900px){.profile-information-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-information-item.is-editing{grid-column:1/-1}.profile-journey-card{align-items:flex-start;flex-wrap:wrap}.profile-journey-editor{grid-template-columns:minmax(0,1fr) auto;order:1;flex-basis:100%}.profile-journey-status{order:2;flex-basis:100%}}
@media(max-width:600px){.profile-details-panel{padding:20px 16px}.profile-information-grid{grid-template-columns:1fr}.profile-information-item,.profile-information-item.is-editing,.profile-information-wide{grid-column:auto}.profile-inline-editor,.profile-journey-editor{grid-template-columns:1fr}.profile-inline-actions,.profile-journey-editor>div{justify-content:flex-end}.profile-journey-card{padding:18px}.profile-journey-summary>strong{white-space:normal}.profile-journey-editor>div button{flex:1}}

/* Wilding Mortgages brand system */
:root{
  --ink:#3d3731;
  --green:#354f40;
  --sage:#e6e9e1;
  --cream:#f5f0e8;
  --line:#d9d0c4;
  --soft:#faf7f2;
  --gold:#aa9068;
  --gold-dark:#78664d;
  --stone:#e8e0d5;
  --brown:#5b4e44;
  --brown-deep:#322c28;
  --brand-ivory:#fbf8f4;
  --brand-taupe:#aaa092;
}
body{background:var(--brand-ivory);color:var(--ink);font-family:var(--font-ui)}
button,input,select,textarea{font-family:var(--font-ui)}
h1,h2,h3,h4,blockquote,.dashboard-head h1,.admin-content h1,.profile-state h1,.profile-heading h1,.booking-hero h1,.booking-success h1{font-family:var(--font-ui)}
header{height:90px;background:rgba(251,248,244,.96);border-bottom-color:rgba(120,102,77,.2)}
.brand{gap:0;min-width:max-content}
.brand-tree{display:block;width:62px;height:66px;object-fit:contain;flex:0 0 auto}
.brand-wordmark{display:none}
.brand-wordmark strong,.brand-wordmark b{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.brand-wordmark b:before,.brand-wordmark b:after{content:none}
.nav-links{color:#625a52}
.nav-links a{white-space:nowrap}
.nav-links a:after{background:var(--gold)}
.primary{background:var(--green);border-color:var(--green)}
.primary:hover{background:var(--brown);border-color:var(--brown)}
.hero{background:linear-gradient(92deg,#fbf8f3 0%,#f5efe7 54%,#e8ebe3 100%)}
.hero:before{content:none}
.hero:after{border-color:rgba(170,144,104,.22);box-shadow:0 0 0 50px rgba(170,144,104,.035),0 0 0 110px rgba(53,79,64,.025)}
.page-hero,.booking-hero{background:linear-gradient(105deg,#f8f3ec 0%,#e8eae3 100%)}
.card,.panel,.booking-card{background:#fffdf9}
.cta{background:linear-gradient(115deg,var(--brown-deep),var(--brown) 58%,var(--green))}
.admin-nav{background:var(--brown-deep);border-right-color:var(--gold)}
.admin-nav .brand{width:100%;gap:0;padding:0;background:transparent;border:0}
.admin-nav .brand-tree{width:58px;height:64px;filter:brightness(0) invert(91%) sepia(8%) saturate(360%)}
.admin-nav nav a:first-child{background:rgba(53,79,64,.7)}
footer{background:var(--brown-deep);border-top-color:var(--gold)}
@media(max-width:1050px){.brand-tree{width:52px;height:58px}.nav{gap:20px}.nav-links{gap:18px}}
@media(max-width:650px){header{height:76px}.brand-tree{width:46px;height:52px}}

/* Wilding editorial hero */
h1,h2,h3,h4{letter-spacing:.01em}
.hero-home{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(118deg,#fbf8f3 0%,#f5efe6 57%,#e3e8df 100%);border-bottom:1px solid rgba(170,144,104,.25)}
.hero-home:before{content:"";position:absolute;z-index:-1;width:760px;height:760px;right:-265px;top:-210px;border:1px solid rgba(170,144,104,.22);border-radius:50%;box-shadow:0 0 0 72px rgba(170,144,104,.035),0 0 0 155px rgba(53,79,64,.025)}
.hero-home:after{content:"";position:absolute;z-index:-1;left:0;bottom:0;width:42%;height:1px;background:linear-gradient(90deg,var(--gold),transparent)}
.hero-home-inner{min-height:720px;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(390px,.72fr);align-items:center;gap:clamp(55px,7vw,110px);padding-top:76px;padding-bottom:76px}
.hero-copy{min-width:0}
.hero-brand-lockup{display:flex;flex-direction:column;align-items:flex-start;width:max-content;max-width:100%;margin:0 0 34px;color:#4f4739;text-transform:uppercase}
.hero-brand-primary{align-self:center;padding-left:.45em;font:400 clamp(36px,4.2vw,58px)/.9 var(--font-ui);letter-spacing:.45em}
.hero-brand-secondary{align-self:center;margin-top:14px;padding-left:.56em;font:400 clamp(11px,1vw,14px)/1 var(--font-ui);letter-spacing:.56em}
.hero-brand-lockup img{align-self:center;width:min(300px,80%);height:auto;object-fit:contain;margin-top:13px;opacity:.88}
.hero-home .eyebrow{margin-bottom:18px;color:var(--green)}
.hero-home h1{max-width:730px;margin:0;color:var(--brown-deep);font:400 clamp(58px,6.1vw,91px)/.94 var(--font-ui);letter-spacing:.005em}
.hero-home .lead{max-width:700px;margin:27px 0 0;color:#655d55;font-size:18px;line-height:1.75}
.hero-home .actions{margin-top:34px}
.hero-home .trust-row{max-width:720px;margin-top:34px;padding-top:24px;border-top:1px solid rgba(170,144,104,.28)}
.hero-journey-card{position:relative;overflow:hidden;padding:clamp(34px,4vw,52px);color:#f7f2e9;background:linear-gradient(145deg,#314c3c 0%,#22362c 72%,#342b26 100%);border:1px solid rgba(201,169,111,.75);box-shadow:28px 34px 0 rgba(79,71,57,.07),0 34px 85px rgba(45,55,47,.2)}
.hero-journey-card:before{content:"";position:absolute;width:260px;height:260px;right:-125px;top:-110px;border:1px solid rgba(214,190,145,.2);border-radius:50%;box-shadow:0 0 0 36px rgba(214,190,145,.025)}
.hero-journey-card .eyebrow{position:relative;margin:0 0 17px;color:#d6c39f}
.hero-journey-card h2{position:relative;max-width:390px;margin:0 0 26px;color:#fffaf1;font:400 clamp(34px,3vw,47px)/1.05 var(--font-ui)}
.hero-journey-card .journey-step{position:relative;gap:18px;padding:21px 0;border-color:rgba(229,213,182,.2)}
.hero-journey-card .journey-step b{width:42px;height:42px;flex:0 0 42px;color:#f2dfba;border-color:#bd9960;background:rgba(255,255,255,.025)}
.hero-journey-card .journey-step strong{color:#fff9ef;font-family:var(--font-ui);font-size:21px;letter-spacing:.02em}
.hero-journey-card .journey-step small{color:#cdd5ce;font-size:13px;line-height:1.55}
.section-heading:after{width:65px;height:1px;background:var(--gold)}
.cta>div,.cta>a{position:relative;z-index:1}
@media(max-width:1050px){.hero-home-inner{grid-template-columns:1fr;gap:55px;padding-top:70px;padding-bottom:70px}.hero-copy{max-width:820px}.hero-journey-card{max-width:760px}.hero-home h1{font-size:clamp(58px,9vw,83px)}}
@media(max-width:650px){.hero-home-inner{min-height:auto;gap:42px;padding-top:52px;padding-bottom:52px}.hero-brand-lockup{margin-bottom:28px}.hero-brand-primary{font-size:38px;letter-spacing:.38em;padding-left:.38em}.hero-brand-secondary{font-size:10px;letter-spacing:.48em;padding-left:.48em}.hero-brand-lockup img{width:220px}.hero-home h1{font-size:54px;line-height:.96}.hero-home .lead{font-size:16px}.hero-home .actions{display:grid}.hero-home .trust-row{gap:11px}.hero-journey-card{padding:32px 25px;box-shadow:12px 15px 0 rgba(79,71,57,.07)}.hero-journey-card h2{font-size:38px}}

/* Wilding two-cut typography system. */
html{font-synthesis:none}

/* Luxurious architectural homepage hero. */
.hero-luxe{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(106deg,#faf6ee 0%,#f4eddf 56%,#e5ddd0 100%);border-bottom:1px solid rgba(126,96,57,.26)}
.hero-luxe:before{content:"";position:absolute;z-index:-2;top:-410px;right:-280px;width:920px;height:920px;border:1px solid rgba(142,110,65,.19);border-radius:50%;box-shadow:0 0 0 88px rgba(126,96,57,.025),0 0 0 176px rgba(41,69,52,.025)}
.hero-luxe:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,transparent 0 53%,rgba(255,255,255,.14) 53% 53.08%,transparent 53.08%)}
.hero-luxe-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(430px,.78fr);gap:clamp(60px,7vw,118px);align-items:center;min-height:735px;padding-top:70px;padding-bottom:74px}
.hero-luxe-copy{position:relative;z-index:2;min-width:0}
.hero-luxe-wordmark{display:flex;flex-direction:column;align-items:center;width:max-content;max-width:100%;margin:0 0 38px;color:#50483b;text-transform:uppercase}
.hero-luxe-wordmark>span{padding-left:.43em;font:400 clamp(38px,4vw,56px)/.92 var(--font-ui);letter-spacing:.43em}
.hero-luxe-wordmark>small{margin-top:13px;padding-left:.58em;font:400 clamp(10px,.9vw,13px)/1 var(--font-ui)!important;letter-spacing:.58em}
.hero-luxe-wordmark>img{display:block;width:min(330px,86%);height:auto;margin-top:12px}
.hero-luxe .eyebrow{margin:0 0 17px;color:var(--green);font-size:10px;letter-spacing:.29em}
.hero-luxe h1{max-width:770px;margin:0;color:var(--brown-deep);font:400 clamp(62px,6.25vw,92px)/.91 var(--font-ui)!important;letter-spacing:.006em}
.hero-luxe h1 em{display:block;color:var(--green);font-style:normal}
.hero-luxe .lead{max-width:670px;margin:28px 0 0;color:#665c52;font-size:18px;line-height:1.72}
.hero-luxe .actions{display:flex;gap:12px;margin-top:33px}
.hero-luxe .button{min-height:52px;border-radius:1px;box-shadow:none}
.hero-luxe .primary{background:var(--green);border-color:var(--green)}
.hero-luxe .primary:hover{background:var(--brown-deep);border-color:var(--brown-deep)}
.hero-luxe .secondary{background:rgba(252,249,243,.58);border-color:rgba(137,106,56,.7)}
.hero-monument-stage{position:relative;min-height:570px;display:grid;place-items:center;perspective:1500px}
.hero-monument-stage:after{content:"";position:absolute;z-index:-1;left:10%;right:0;bottom:7px;height:46px;background:rgba(49,35,28,.23);filter:blur(23px);transform:skewX(-18deg);border-radius:50%}
.hero-monument{position:relative;isolation:isolate;display:flex;flex-direction:column;width:min(470px,92%);min-height:520px;padding:40px 42px 36px;color:#f7f0e4;background:linear-gradient(142deg,#355442 0%,#284333 48%,#1f352a 100%);border:1px solid #c5a66c;transform:rotateY(-6deg) rotateX(1.5deg);transform-origin:50% 60%;box-shadow:14px 14px 0 #b9aa93,29px 29px 0 #513b2f,47px 53px 88px rgba(47,34,27,.3);transition:transform .5s ease,box-shadow .5s ease}
.hero-monument:hover{transform:rotateY(-2deg) rotateX(.5deg) translateY(-4px);box-shadow:16px 17px 0 #b9aa93,32px 34px 0 #513b2f,55px 66px 100px rgba(47,34,27,.32)}
.hero-monument:before{content:"";position:absolute;z-index:-1;inset:10px;border:1px solid rgba(215,189,140,.2);pointer-events:none}
.hero-monument:after{content:"";position:absolute;z-index:-2;top:-1px;right:-1px;width:74%;height:55%;background:radial-gradient(circle at 100% 0,rgba(224,200,154,.12),transparent 64%);pointer-events:none}
.hero-monument-topline{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:1px solid rgba(220,197,153,.32);color:#d8c29b;text-transform:uppercase;letter-spacing:.22em;font:400 9px var(--font-ui)}
.hero-monument-topline b{font-weight:400;letter-spacing:.12em}
.hero-monument-tree{position:absolute;z-index:-1;top:86px;right:3px;width:235px;height:235px;object-fit:contain;opacity:.15;filter:sepia(1) saturate(.45) brightness(1.45)}
.hero-monument-copy{position:relative;margin-top:auto;padding:100px 0 31px}
.hero-monument-copy p{margin:0 0 13px;color:#d8c29b;text-transform:uppercase;letter-spacing:.2em;font-size:9px}
.hero-monument-copy h2{margin:0;color:#fffaf1;font:400 clamp(38px,3.25vw,51px)/1.02 var(--font-ui)!important;letter-spacing:.025em}
.hero-monument-steps{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(220,197,153,.32);padding-top:21px}
.hero-monument-steps span{display:flex;flex-direction:column;gap:8px;color:#e9e1d2;text-transform:uppercase;letter-spacing:.12em;font:400 9px var(--font-ui)}
.hero-monument-steps b{color:#cdb27f;font-weight:400;font-size:8px}
.hero-seal{position:absolute;right:-5px;bottom:17px;display:grid;place-items:center;width:112px;height:112px;padding:16px;color:#49382d;background:linear-gradient(145deg,#eee4d2,#cdbb9e);border:1px solid #9e7b45;border-radius:50%;box-shadow:8px 9px 0 #4f392e,18px 22px 36px rgba(51,38,31,.25);transform:rotate(7deg)}
.hero-seal:before{content:"";position:absolute;inset:7px;border:1px solid rgba(126,96,57,.55);border-radius:50%}
.hero-seal strong{font:400 42px/.8 var(--font-ui);transform:translateY(5px)}
.hero-seal span{text-align:center;text-transform:uppercase;letter-spacing:.12em;font:400 7px/1.2 var(--font-ui)}
.hero-foundation{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(126,96,57,.25)}
.hero-foundation>span{display:flex;flex-direction:column;gap:6px;padding:23px 32px 27px;border-right:1px solid rgba(126,96,57,.22)}
.hero-foundation>span:first-child{padding-left:0}
.hero-foundation>span:last-child{border-right:0;padding-right:0}
.hero-foundation b{color:var(--brown-deep);text-transform:uppercase;letter-spacing:.13em;font:400 10px var(--font-ui)}
.hero-foundation small{color:#71665c;font-size:12px;line-height:1.45}
@media(max-width:1120px){.hero-luxe-grid{grid-template-columns:1fr;gap:60px;padding-top:66px}.hero-luxe-copy{max-width:850px}.hero-monument-stage{min-height:560px;max-width:660px}.hero-monument{width:480px}.hero-seal{right:7%}.hero-luxe:after{display:none}}
@media(max-width:700px){.hero-luxe-grid{min-height:auto;gap:46px;padding-top:47px;padding-bottom:48px}.hero-luxe-wordmark{margin-bottom:30px}.hero-luxe-wordmark>span{font-size:36px;letter-spacing:.36em;padding-left:.36em}.hero-luxe-wordmark>small{font-size:9px;letter-spacing:.5em;padding-left:.5em}.hero-luxe-wordmark>img{width:245px}.hero-luxe h1{font-size:52px;line-height:.94}.hero-luxe .lead{font-size:16px}.hero-luxe .actions{display:grid}.hero-monument-stage{min-height:445px}.hero-monument{width:86%;min-height:405px;padding:29px 26px 26px;transform:rotateY(-3deg) rotateX(1deg);box-shadow:9px 10px 0 #b9aa93,19px 20px 0 #513b2f,30px 37px 55px rgba(47,34,27,.27)}.hero-monument:hover{transform:rotateY(-3deg) rotateX(1deg)}.hero-monument-tree{top:68px;width:175px;height:175px}.hero-monument-copy{padding:74px 0 25px}.hero-monument-copy h2{font-size:35px}.hero-seal{right:0;bottom:7px;width:84px;height:84px;padding:12px;box-shadow:5px 6px 0 #4f392e,11px 14px 24px rgba(51,38,31,.23)}.hero-seal strong{font-size:30px}.hero-seal span{font-size:5px}.hero-foundation{grid-template-columns:1fr;padding-bottom:10px}.hero-foundation>span,.hero-foundation>span:first-child,.hero-foundation>span:last-child{padding:16px 0;border-right:0;border-bottom:1px solid rgba(126,96,57,.18)}.hero-foundation>span:last-child{border-bottom:0}}
@media(prefers-reduced-motion:reduce){.hero-monument{transition:none}}

/* Centred wordmark and flat hero card. */
.hero-luxe-top{display:flex;justify-content:center;padding-top:62px;text-align:center}
.hero-luxe-top .hero-luxe-wordmark{margin:0}
.hero-luxe-grid{min-height:610px;padding-top:42px;padding-bottom:70px}
.hero-monument-stage{min-height:520px;perspective:none}
.hero-monument-stage:after{content:none}
.hero-monument{transform:none;box-shadow:none;transition:border-color .25s ease;background:linear-gradient(142deg,#355442 0%,#284333 58%,#243a2f 100%)}
.hero-monument:hover{transform:none;box-shadow:none;border-color:#d3b578}
@media(max-width:1120px){.hero-luxe-top{padding-top:52px}.hero-luxe-grid{padding-top:42px}.hero-monument-stage{min-height:auto}}
@media(max-width:700px){.hero-luxe-top{padding-top:42px}.hero-luxe-top .hero-luxe-wordmark{margin:0}.hero-luxe-grid{padding-top:38px}.hero-monument{transform:none;box-shadow:none}.hero-monument:hover{transform:none;box-shadow:none}}

/* Centred Wilding signature hero. */
.hero-centred{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(circle at 50% 21%,rgba(255,255,255,.86),transparent 31%),linear-gradient(126deg,#e8e0d4 0%,#f8f3ea 31%,#fbf8f1 68%,#e6ddd0 100%);border-bottom:1px solid rgba(126,96,57,.3)}
.hero-centred:before{content:"";position:absolute;z-index:-2;top:-620px;left:50%;width:1080px;height:1080px;border:1px solid rgba(143,111,66,.2);border-radius:50%;transform:translateX(-50%);box-shadow:0 0 0 74px rgba(177,138,76,.025),0 0 0 150px rgba(41,69,52,.022)}
.hero-centred:after{content:"";position:absolute;z-index:-1;left:0;right:0;bottom:0;height:175px;background:linear-gradient(180deg,transparent,rgba(67,48,38,.045))}
.hero-centred-shell{padding-top:72px;padding-bottom:94px}
.hero-centred-frame{position:relative;isolation:isolate;width:min(1050px,calc(100% - 62px));margin:auto;filter:drop-shadow(0 38px 44px rgba(55,39,31,.16))}
.hero-centred-frame:before,.hero-centred-frame:after{content:"";position:absolute;pointer-events:none;border-radius:360px 360px 3px 3px/170px 170px 3px 3px}
.hero-centred-frame:before{z-index:-2;inset:24px -24px -25px 24px;background:linear-gradient(145deg,#3b2b24,#533d31);border:1px solid #2d211c}
.hero-centred-frame:after{z-index:-1;inset:12px -12px -13px 12px;background:linear-gradient(145deg,#d4c6ae,#a98f67);border:1px solid #9c7945}
.hero-centred-content{position:relative;display:flex;flex-direction:column;align-items:center;min-height:690px;padding:58px 72px 47px;text-align:center;background:linear-gradient(160deg,rgba(255,253,248,.98),rgba(244,237,225,.98));border:1px solid rgba(150,114,61,.65);border-radius:360px 360px 3px 3px/170px 170px 3px 3px;box-shadow:inset 0 0 0 9px rgba(177,138,76,.045),inset 0 1px rgba(255,255,255,.95)}
.hero-centred-content:before{content:"";position:absolute;inset:12px;border:1px solid rgba(150,114,61,.18);border-radius:350px 350px 1px 1px/160px 160px 1px 1px;pointer-events:none}
.hero-centred-tree{display:block;width:112px;height:112px;object-fit:contain;margin:0 0 10px;filter:sepia(.55) saturate(.52) contrast(.93);opacity:.82}
.hero-centred-wordmark{display:flex;flex-direction:column;align-items:center;width:min(760px,100%);color:#4b4236;text-transform:uppercase}
.hero-centred-wordmark>span{padding-left:.49em;font:400 clamp(48px,5.4vw,72px)/.92 var(--font-ui);letter-spacing:.49em}
.hero-centred-wordmark>small{margin-top:15px;padding-left:.62em;font:400 clamp(11px,1.1vw,15px)/1 var(--font-ui)!important;letter-spacing:.62em}
.hero-centred-wordmark>img{display:block;width:min(590px,90%);height:105px;margin-top:6px;object-fit:contain}
.hero-centred .eyebrow{margin:16px 0 18px;color:var(--green);font-size:9px;letter-spacing:.34em}
.hero-centred h1{max-width:880px;margin:0;color:var(--brown-deep);font:400 clamp(59px,6.1vw,86px)/.93 var(--font-ui)!important;letter-spacing:.008em}
.hero-centred h1 em{display:block;color:var(--green);font-style:normal}
.hero-centred .lead{max-width:680px;margin:24px auto 0;color:#675d52;font-size:17px;line-height:1.7}
.hero-centred .actions{display:flex;justify-content:center;gap:12px;margin-top:28px}
.hero-centred .button{min-width:175px;min-height:50px;border-radius:1px}
.hero-centred .primary{background:var(--green);border-color:var(--green)}
.hero-centred .primary:hover{background:var(--brown-deep);border-color:var(--brown-deep)}
.hero-centred .secondary{background:rgba(255,253,248,.7);border-color:rgba(137,106,56,.72)}
.hero-centred-promises{display:grid;grid-template-columns:repeat(3,1fr);width:min(780px,100%);margin-top:38px;padding-top:22px;border-top:1px solid rgba(137,106,56,.27)}
.hero-centred-promises>span{display:flex;flex-direction:column;gap:6px;padding:0 24px;border-right:1px solid rgba(137,106,56,.22)}
.hero-centred-promises>span:last-child{border-right:0}
.hero-centred-promises b{color:var(--brown-deep);text-transform:uppercase;letter-spacing:.16em;font:400 9px var(--font-ui)}
.hero-centred-promises small{color:#74695f;font-size:11px;line-height:1.42}
@media(max-width:900px){.hero-centred-shell{padding-top:58px;padding-bottom:80px}.hero-centred-frame{width:calc(100% - 38px)}.hero-centred-content{padding:50px 42px 42px}.hero-centred-wordmark>span{font-size:54px}.hero-centred h1{font-size:64px}}
@media(max-width:650px){.hero-centred-shell{width:100%;padding:32px 0 56px}.hero-centred-frame{width:calc(100% - 38px);filter:drop-shadow(0 24px 28px rgba(55,39,31,.15))}.hero-centred-frame:before{inset:15px -15px -16px 15px}.hero-centred-frame:after{inset:8px -8px -9px 8px}.hero-centred-frame:before,.hero-centred-frame:after,.hero-centred-content{border-radius:145px 145px 2px 2px/82px 82px 2px 2px}.hero-centred-content{min-height:auto;padding:35px 20px 34px}.hero-centred-content:before{inset:8px;border-radius:138px 138px 1px 1px/76px 76px 1px 1px}.hero-centred-tree{width:78px;height:78px;margin-bottom:8px}.hero-centred-wordmark>span{font-size:36px;letter-spacing:.38em;padding-left:.38em}.hero-centred-wordmark>small{font-size:9px;letter-spacing:.5em;padding-left:.5em;margin-top:10px}.hero-centred-wordmark>img{width:310px;height:57px;margin-top:6px}.hero-centred .eyebrow{margin-top:10px;font-size:8px;letter-spacing:.25em}.hero-centred h1{font-size:48px;line-height:.95}.hero-centred .lead{font-size:15px;line-height:1.62}.hero-centred .actions{display:grid;width:100%}.hero-centred .button{width:100%}.hero-centred-promises{grid-template-columns:1fr;gap:0;margin-top:29px;padding-top:10px}.hero-centred-promises>span{padding:11px 0;border-right:0;border-bottom:1px solid rgba(137,106,56,.18)}.hero-centred-promises>span:last-child{border-bottom:0}}

/* Exact two-font typography system: Abadi for the interface, Perpetua for branding and major headings. */
:root{--font-interface:var(--font-ui);--font-display:var(--font-ui)}
html,body,body *{font-family:var(--font-interface)!important;letter-spacing:0!important}
body{font-weight:400;letter-spacing:0}
body p,body li,body dd,body dt,body td,body input,body textarea,body select,body option,body small,body strong,body b,body button,body .button,body label,body th,body .status,body .admin-tab,body .admin-coming-soon,body .nav-links a,body .portal-link{font-weight:400!important}
body h1,body h2,body .eyebrow{font-family:var(--font-display)!important;font-weight:400!important;font-style:normal;letter-spacing:0!important}
body .hero-luxe-wordmark>span,body .hero-luxe-wordmark>small,body .hero-centred-wordmark>span,body .hero-centred-wordmark>small,body .hero-brand-primary,body .hero-brand-secondary,body .brand-wordmark strong,body .brand-wordmark b{font-family:var(--font-display)!important;font-weight:400!important;font-style:normal;letter-spacing:22px!important}
body h3,body h4,body h5,body h6{font-family:var(--font-interface)!important;font-weight:400!important;letter-spacing:0}
body .hero-luxe h1{max-width:860px;font-size:clamp(50px,5.1vw,76px)!important;line-height:.98;text-transform:uppercase}
body .hero-luxe h1 em{display:block;color:var(--green);font-family:var(--font-interface)!important;font-size:.92em;font-weight:400!important;font-style:normal;letter-spacing:0!important;line-height:1.02;text-transform:none}
body .hero-monument-copy h2{font-size:clamp(30px,2.55vw,42px);line-height:1.08}
body .page-hero h1,body .portal-state h1,body .profile-state h1,body .profile-heading h1,body .portal-login-copy h1,body .booking-hero h1,body .booking-success h1{font-size:clamp(40px,4.5vw,64px);line-height:1.02}
body h2{font-size:clamp(29px,3vw,43px);line-height:1.12}
@media(max-width:650px){body .hero-luxe h1{font-size:42px!important}body .hero-luxe h1 em{font-size:1em}body .page-hero h1,body .portal-state h1,body .profile-state h1,body .profile-heading h1,body .portal-login-copy h1,body .booking-hero h1,body .booking-success h1{font-size:36px}body h2{font-size:29px}}

/* Site-wide regulated mortgage warning. */
.site-risk-banner{position:relative;z-index:2;width:100%;padding:20px 24px;background:#2b4636;color:#fff;text-align:center;border-top:3px solid #c9ab70;box-shadow:0 -8px 24px rgba(28,42,34,.12)}
.site-risk-banner .wrap{max-width:1040px;margin:0 auto}
.site-risk-banner strong{display:block;color:inherit;font-size:clamp(16px,1.7vw,20px);font-weight:600!important;line-height:1.5}
@media(max-width:700px){.site-risk-banner{padding:18px 20px 84px}.site-risk-banner strong{font-size:16px;line-height:1.45}}

/* Expanded regulatory disclosure in public-page footers. */
.legal-strip p{max-width:1080px;margin:0 0 14px;line-height:1.7}
.legal-strip p:last-of-type{margin-bottom:0}
.legal-strip p a{color:#e0c087;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
