@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#11263E;--muted:#526579;--teal:#147D78;--teal-dark:#106761;--line:#DCE5EB;--bg:#fff;--soft:#F4F7FA}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',Arial,sans-serif;color:var(--navy);background:var(--bg);-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{cursor:pointer}a{text-decoration:none;color:inherit}.shell{max-width:1200px;padding:0 30px;margin:auto}.topbar{height:82px;border-bottom:1px solid #edf0f3;background:#fff;position:sticky;top:0;z-index:20}.nav{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-family:Manrope,sans-serif;font-weight:800;font-size:23px;letter-spacing:-1.3px;display:inline-flex;align-items:center;gap:2px;white-space:nowrap}.brand>span:last-child{color:var(--teal)}.brand-icon{display:grid;place-items:center;background:var(--teal);color:white;width:32px;height:32px;border-radius:9px;font-size:23px;margin-right:7px;font-weight:500}.navlinks,.nav-actions{display:flex;align-items:center;gap:32px}.navlinks a{font-size:14px;font-weight:700;color:#526579}.navlinks a:hover{color:var(--teal)}.nav-actions{gap:18px}.text-button{border:0;background:none;font-size:14px;font-weight:700;color:var(--navy)}.btn{border:0;display:inline-flex;align-items:center;justify-content:center;gap:20px;border-radius:9px;font-weight:800;font-size:14px;padding:15px 20px;white-space:nowrap;transition:transform .15s,background .15s}.btn:hover{transform:translateY(-2px)}.btn span{font-size:17px}.btn-dark{background:var(--navy);color:white}.btn-primary{background:var(--teal);color:white;box-shadow:0 8px 20px #147D781f}.btn-primary:hover{background:var(--teal-dark)}.btn-outline{border:1px solid #DCE5EB;background:white}.menu-toggle{display:none;border:0;background:none;font-size:25px}.hero{display:grid;grid-template-columns:1fr 1fr;gap:55px;min-height:560px;align-items:center;padding-top:55px;padding-bottom:70px}.eyebrow{display:inline-flex;gap:10px;align-items:center;border:1px solid #d8eae6;border-radius:30px;padding:9px 14px;font-size:12px;color:#106761;font-weight:800;background:#f6fcfa}.live-dot{width:8px;height:8px;background:#2caf92;border-radius:50%}.hero h1{font-family:Manrope,sans-serif;font-size:clamp(39px,4.1vw,59px);letter-spacing:-2.9px;line-height:1.17;margin:25px 0 20px;font-weight:800;max-width:570px}.hero h1 em{color:var(--teal);font-style:normal}.hero-copy>p{font-size:16px;line-height:1.85;color:var(--muted);max-width:490px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:29px}.hero-note{margin-top:26px;font-size:12px;color:#6d7a8a;display:flex;gap:9px;align-items:center;flex-wrap:wrap}.checkmark{color:var(--teal);font-weight:800}.bullet{color:#bdc6ce}.hero-visual{height:480px;background:linear-gradient(135deg,#eaf5f2,#f4f8f8 65%,#e8f1f5);border-radius:26px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.visual-grid{position:absolute;inset:0;background-image:radial-gradient(#a7c9c1 1px,transparent 1px);background-size:22px 22px;opacity:.3}.showcase-card{width:310px;background:white;border-radius:17px;box-shadow:0 25px 55px #123b3929;position:relative;z-index:2;overflow:hidden;transform:rotate(-3deg)}.showcase-top{display:flex;justify-content:space-between;align-items:center;padding:14px 16px}.tag{font-size:10px;font-weight:800;letter-spacing:.4px;padding:6px 9px;border-radius:6px}.tag-white{background:#edf7f4;color:#148475}.tag-green{background:#e4f6ed;color:#178354}.showcase-ellipsis{color:#83929d}.showcase-art{height:155px;position:relative;background:linear-gradient(#e3eef4,#d3e7e5);overflow:hidden;display:flex;align-items:flex-end;justify-content:center}.house{position:relative;width:185px;height:116px;z-index:2}.roof{width:155px;height:155px;background:#536e7d;transform:rotate(45deg);position:absolute;left:16px;top:4px;border:8px solid #435f70}.building{position:absolute;bottom:0;left:12px;width:163px;height:84px;background:#f4f0e8;display:flex;align-items:end;justify-content:space-around;padding:10px 8px 0}.window{height:37px;width:28px;background:#93bec6;border:5px solid white;box-shadow:0 0 0 1px #d0d5d1}.door{width:32px;height:55px;background:#af795e}.art-ground{position:absolute;bottom:0;width:100%;height:12px;background:#a7c8b3}.showcase-body{padding:16px 20px 19px}.showcase-category{font-size:9px;color:var(--teal);font-weight:800;letter-spacing:1px}.showcase-body h3{font-size:18px;margin:7px 0}.showcase-body p{font-size:12px;color:#8795a1;margin:0 0 18px}.showcase-bottom{border-top:1px solid var(--line);padding-top:13px;display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#83929d}.showcase-bottom strong{color:var(--navy);display:block;font-size:13px;margin-top:3px}.float-label{position:absolute;display:flex;align-items:center;gap:11px;background:white;border:1px solid #e9f1ef;border-radius:13px;padding:12px 16px;box-shadow:0 12px 35px #17494116;z-index:3}.float-label strong{font-size:12px;display:block}.float-label small{font-size:10px;color:#83929d;display:block;margin-top:3px}.top-label{top:54px;left:15px;transform:rotate(-5deg)}.bottom-label{right:8px;bottom:48px;transform:rotate(4deg)}.mini-icon{background:#e1f5e9;color:#148963;border-radius:9px;width:33px;height:33px;display:grid;place-items:center}.avatar-stack{display:flex;padding-left:5px}.avatar-stack i{width:28px;height:28px;border:2px solid white;border-radius:50%;margin-left:-7px;background:#b7d7cd;display:grid;place-items:center;font-style:normal;font-size:10px;font-weight:800}.avatar-stack i:nth-child(2){background:#f1d7b9}.avatar-stack i:nth-child(3){background:#cbd2ef}.trustbar{background:#F4F7FA;border-top:1px solid #eef2f2;border-bottom:1px solid #eef2f2}.trust-inner{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:14px;color:#5c6c7d}.trust-inner strong{color:var(--navy)}.trust-points{display:flex;gap:30px;font-size:12px;font-weight:700}.trust-points span{white-space:nowrap}.section{padding-top:90px;padding-bottom:90px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:32px}.overline{font-size:11px;font-weight:800;letter-spacing:1.8px;color:var(--teal);margin-bottom:12px}h2{font-family:Manrope,sans-serif;font-size:clamp(29px,3vw,41px);letter-spacing:-1.6px;line-height:1.2;margin:0 0 12px}h2 span{color:var(--teal)}.section-heading p,.center-heading p,.split-cta p{color:var(--muted);font-size:15px;line-height:1.75;margin:0}.link-button{border:0;background:none;color:var(--teal);font-weight:800;font-size:13px}.market-layout{display:grid;grid-template-columns:245px 1fr;gap:24px;align-items:start}.filters{border:1px solid var(--line);border-radius:13px;padding:21px;background:#fff}.filters-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.filters-head h3{font-size:16px;margin:0}.filters-head button{border:0;background:none;color:var(--teal);font-size:11px;font-weight:700}.filters label{font-size:12px;font-weight:800;display:block;margin-bottom:9px}.searchbox{border:1px solid #DCE5EB;border-radius:8px;display:flex;align-items:center;gap:8px;padding:0 11px;margin-bottom:22px}.searchbox span{color:#92a0ad;font-size:20px}.searchbox input{width:100%;border:0;outline:0;height:43px;font-size:12px;background:transparent;min-width:0}.filters select{width:100%;height:43px;border:1px solid #DCE5EB;border-radius:8px;background:white;padding:0 10px;margin-bottom:22px;color:#526275;font-size:12px}.filter-foot{font-size:11px;color:var(--teal);font-weight:700;border-top:1px solid var(--line);padding-top:17px}.listing-header{display:flex;justify-content:space-between;margin:0 0 15px;color:#667589;font-size:12px}.listing-header #resultCount{color:var(--navy);font-weight:800}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.project-card{border:1px solid var(--line);border-radius:13px;padding:22px;background:white;transition:box-shadow .15s,transform .15s}.project-card:hover{box-shadow:0 10px 30px #152c3d0d;transform:translateY(-2px)}.project-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.category-pill{background:#f0f6f8;color:#4e7080;font-size:10px;font-weight:800;padding:7px 10px;border-radius:6px}.project-age{font-size:11px;color:#99a6b2}.project-card h3{font-size:17px;line-height:1.4;margin:17px 0 8px}.project-card p{color:#7b8b9b;font-size:12px;line-height:1.6;margin:0 0 17px;min-height:38px}.project-meta{display:flex;gap:14px;flex-wrap:wrap;color:#6c7d8e;font-size:11px;margin-bottom:18px}.project-poster,.job-poster,.featured-by{color:#6c7d8e;font-size:12px;margin:0 0 14px}.poster-company{font-weight:800;color:var(--navy);font-size:13px;margin:0 0 2px}.poster-person{font-size:12px;color:#6c7d8e}.featured-by a{color:var(--teal);font-weight:800}.featured-by a:hover{text-decoration:underline}.project-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:16px}.project-bottom small{color:#83919f;display:block;font-size:10px;margin-bottom:4px}.project-bottom strong{font-size:14px}.project-bottom button{border:0;background:none;color:var(--teal);font-size:12px;font-weight:800}.empty-state{border:1px dashed #cddbdc;border-radius:13px;padding:40px;text-align:center;color:var(--muted)}.hidden{display:none!important}.section-soft{background:#F4F7FA}.center-heading{text-align:center;max-width:650px;margin:0 auto 45px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.step{position:relative;background:white;border:1px solid #e7edef;border-radius:14px;padding:27px}.step-num{position:absolute;right:23px;top:22px;color:#c5d8d7;font-size:12px;font-weight:800}.step-icon{width:49px;height:49px;display:grid;place-items:center;border-radius:12px;background:#eaf5f1;color:var(--teal);font-size:25px}.step h3{font-size:17px;margin:20px 0 10px}.step p{font-size:13px;color:var(--muted);line-height:1.8;margin:0}.split-cta{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.split-cta p{max-width:450px;margin:15px 0 25px}.feature-list{border:1px solid var(--line);border-radius:15px;padding:10px 25px}.feature-list>div{display:grid;grid-template-columns:35px 1fr;column-gap:14px;padding:20px 0;border-bottom:1px solid var(--line)}.feature-list>div:last-child{border:0}.feature-list span{grid-row:span 2;color:var(--teal);font-weight:800;font-size:13px}.feature-list strong{font-size:14px}.feature-list small{font-size:12px;color:var(--muted);margin-top:5px}footer{border-top:1px solid var(--line);background:#F4F7FA}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:95px}.footer-inner>span{color:#82909e;font-size:11px}.modal-backdrop{position:fixed;inset:0;background:#11243899;z-index:50;display:grid;place-items:center;padding:20px}.modal{background:white;border-radius:17px;max-width:440px;width:100%;padding:35px;position:relative;box-shadow:0 30px 70px #07172550}.modal-close{position:absolute;top:12px;right:18px;border:0;background:none;font-size:27px;color:#82909e}.modal-badge{color:var(--teal);font-weight:800;letter-spacing:1.5px;font-size:11px}.modal h2{font-size:26px;margin-top:14px}.modal p{font-size:14px;line-height:1.8;color:var(--muted);margin-bottom:24px}@media(max-width:1000px){.navlinks{gap:17px}.hero{gap:25px}.hero-visual{height:420px}.trust-inner{flex-direction:column;justify-content:center;padding-top:18px;padding-bottom:18px}.market-layout{grid-template-columns:210px 1fr}.project-card{padding:17px}}@media(max-width:750px){.shell{padding-left:19px;padding-right:19px}.topbar{height:69px}.navlinks,.nav-actions{display:none}.menu-toggle{display:block}.nav-actions{display:flex;margin-inline-start:auto;gap:8px}.nav-actions>:not(#otLang){display:none!important}.nav-actions .ot-lang{max-width:112px;padding:6px 4px 6px 26px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2311263E' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M2 12h20M12 2a15 15 0 0 1 0 20M12 2a15 15 0 0 0 0 20'/%3E%3C/svg%3E") no-repeat 6px center/16px}[dir=rtl] .nav-actions .ot-lang{padding:6px 26px 6px 4px;background-position:right 6px center}.navlinks.open{display:flex;position:absolute;left:0;right:0;top:69px;background:white;flex-direction:column;align-items:stretch;padding:20px;box-shadow:0 12px 20px #0001}.hero{grid-template-columns:1fr;padding-top:42px;padding-bottom:45px;gap:35px}.hero h1{letter-spacing:-2px}.hero-visual{height:410px}.trust-points{flex-wrap:wrap;justify-content:center;gap:10px 20px}.trust-inner{text-align:center}.section{padding-top:65px;padding-bottom:65px}.market-layout{grid-template-columns:1fr}.filters{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.filters-head,.filter-foot{grid-column:1/-1}.filters label{align-self:end}.filters .searchbox,.filters select{margin-bottom:14px}.project-grid{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr}.split-cta{grid-template-columns:1fr;gap:25px}.footer-inner{flex-wrap:wrap;padding-top:20px;padding-bottom:20px}}@media(max-width:520px){.hero-visual{height:360px}.showcase-card{width:265px}.top-label{top:25px;left:4px}.bottom-label{bottom:22px;right:2px}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .btn{justify-content:space-between}.project-grid{grid-template-columns:1fr}.section-heading{align-items:start;flex-direction:column}.filters{grid-template-columns:1fr}.filters label{margin-top:3px}.footer-inner{flex-direction:column;align-items:flex-start}.showcase-art{height:120px}}

/* OpenTrade 2.0 accounts and dashboard */
.mode-banner{background:#EAF4F2;color:#106761;text-align:center;font-size:12px;font-weight:700;padding:9px 18px}
.account-view{background:#F4F7FA;min-height:calc(100vh - 82px);padding:58px 0 90px}.account-shell{max-width:1050px}.account-heading{display:flex;justify-content:space-between;align-items:center;gap:22px;margin-bottom:30px}.account-heading p{color:var(--muted);margin:0}.auth-panel{display:flex;justify-content:center}.auth-card{width:100%;max-width:480px;background:white;border:1px solid var(--line);border-radius:18px;padding:32px;box-shadow:0 14px 40px #132e3b0b}.auth-tabs{display:flex;background:#f1f5f7;border-radius:10px;padding:5px;margin-bottom:26px;gap:5px}.auth-tabs button{flex:1;border:0;border-radius:8px;background:transparent;padding:12px;font-weight:800;color:#62768a}.auth-tabs button.active{background:white;color:var(--teal);box-shadow:0 2px 8px #1a344010}.auth-card label,.dashboard-form label{display:block;font-size:12px;font-weight:800;margin:17px 0 8px}.auth-card input,.dashboard-form input,.dashboard-form select{width:100%;border:1px solid #DCE5EB;border-radius:9px;padding:13px 14px;background:white;min-height:46px;color:var(--navy)}.auth-card input:focus,.dashboard-form input:focus,.dashboard-form select:focus{outline:2px solid #91d7cc;outline-offset:1px}.form-help{color:var(--muted);font-size:13px;line-height:1.65}.wide{width:100%;margin-top:18px}.account-alert{background:#e8f5ee;color:#155f43;border:1px solid #c4e7d5;border-radius:10px;padding:14px 18px;margin-bottom:20px;font-size:13px}.account-alert.error{background:#fff1ed;color:#9b372b;border-color:#ffd1c8}.dashboard-top{display:flex;justify-content:space-between;align-items:center;background:white;border:1px solid var(--line);border-radius:14px;padding:18px 22px;margin-bottom:20px}.identity{display:flex;align-items:center;gap:13px}.identity-avatar{width:46px;height:46px;border-radius:12px;background:#dff1ed;color:var(--teal);display:grid;place-items:center;font-size:22px;font-weight:800}.identity strong,.identity small{display:block}.identity small{color:var(--muted);margin-top:4px}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.dashboard-card,.dashboard-section{background:white;border:1px solid var(--line);border-radius:15px;padding:28px}.card-kicker{font-size:11px;font-weight:800;letter-spacing:1.5px;color:var(--teal)}.dashboard-card h3{font-size:22px;margin:12px 0}.dashboard-card p{color:var(--muted);font-size:14px;line-height:1.65;min-height:66px}.dashboard-section{margin-top:20px}.dashboard-section h3{margin:0 0 16px}.dashboard-form{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px}.dashboard-form button{grid-column:1/-1;justify-self:start;margin-top:12px}@media(max-width:750px){.account-view{padding:28px 0 60px}.account-heading{align-items:flex-start;flex-direction:column}.dashboard-grid,.dashboard-form{grid-template-columns:1fr}.dashboard-card p{min-height:0}.auth-card{padding:22px}}

/* Feature bridge */
.feature-hub{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:28px 0}
.feature-tile{display:flex;flex-direction:column;gap:12px;padding:25px;border:1px solid #DCE5EB;border-radius:17px;background:#fff;color:#11263E;text-decoration:none;transition:transform .2s,border-color .2s;min-height:135px}
.feature-tile:hover{transform:translateY(-3px);border-color:#147D78}.feature-tile strong{font-size:17px}.feature-tile small{line-height:1.6;color:#657483;font-size:13px}.feature-warning{font-size:13px;line-height:1.7;color:#5d6771;max-width:920px}
@media(max-width:800px){.feature-hub{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:540px){.feature-hub{grid-template-columns:1fr}}

/* Radius search preview */
.radius-visual{height:160px;position:relative;overflow:hidden;border:1px solid #dce8e9;border-radius:10px;background:#EAF4F2;display:grid;place-items:center;margin:-7px 0 9px}
.radius-grid{position:absolute;inset:0;background-image:linear-gradient(#bfd9d633 1px,transparent 1px),linear-gradient(90deg,#bfd9d633 1px,transparent 1px);background-size:19px 19px}
.radius-circle{width:42%;aspect-ratio:1 / 1;height:auto;flex:none;box-sizing:border-box;border:2px solid #147D78;background:#147D7822;border-radius:50%;position:relative;display:grid;place-items:center;transition:width .2s ease}
.radius-center{width:12px;height:12px;border-radius:50%;background:#147D78;border:3px solid white;box-shadow:0 0 0 2px #147D78}
.radius-visual>span{position:absolute;bottom:7px;left:8px;background:#ffffffed;border-radius:5px;padding:4px 7px;font-size:10px;font-weight:700;color:#14534d}
.radius-status{font-size:11px;line-height:1.5;color:#506a67;margin:0 0 18px}.radius-error{color:#b33d38}

/* Contractor directory shares the marketplace grid and filters. */
#contractors{scroll-margin-top:90px}#contractors .project-card{min-height:245px}#contractors .project-bottom strong{font-size:13px}#contractors .section-heading{margin-bottom:26px}

/* Keep both project and contractor radius indicators perfectly circular at all viewport sizes. */
.radius-circle{aspect-ratio:1 / 1!important;height:auto!important;min-width:0;max-width:100%;border-radius:50%;}

/* OpenTrade 2.0 professional palette — unified visual polish */
:root{--navy:#11263E;--muted:#526579;--teal:#147D78;--teal-dark:#106761;--line:#DCE5EB;--bg:#FFFFFF;--soft:#F4F7FA}
body{background:var(--bg)}
.topbar{background:#FFFFFF;border-bottom-color:var(--line);box-shadow:0 1px 0 rgba(17,38,62,.025)}
.navlinks a:focus-visible,.btn:focus-visible,.text-button:focus-visible,.link-button:focus-visible,.project-bottom button:focus-visible{outline:3px solid #7BCAC2;outline-offset:3px}
.btn-primary{background:var(--teal);box-shadow:0 7px 18px rgba(20,125,120,.15)}
.btn-primary:hover{background:var(--teal-dark)}
.btn-dark{background:var(--navy)}
.btn-dark:hover{background:#203D5C}
.hero-visual{background:linear-gradient(135deg,#E8F3F1,#F4F7FA 60%,#E7EFF4)}
.trustbar,.section-soft,.account-view{background:var(--soft)}
.project-card,.filters,.step,.auth-card,.dashboard-card,.dashboard-section,.dashboard-top{border-color:var(--line)}
.project-card:hover{border-color:#A8CFCB;box-shadow:0 10px 28px rgba(17,38,62,.07)}
.radius-visual{background:#EAF4F2;border-color:#CFE2E1}
.radius-circle{border-color:var(--teal);background:rgba(20,125,120,.12)}
.radius-center{background:var(--teal);box-shadow:0 0 0 2px var(--teal)}
.auth-card input:focus,.dashboard-form input:focus,.dashboard-form select:focus{outline-color:#7BCAC2}
::selection{background:#D0EAE7;color:#11263E}


/* VISIBLE REBRAND v2 — deliberate full-surface contrast */
:root{--navy:#0B2038;--muted:#526579;--teal:#087F78;--teal-dark:#06645F;--line:#D9E3EA;--bg:#F3F6FA;--soft:#EAF0F5}
body{background:var(--bg);color:var(--navy)}
.topbar{background:#0B2038;border-bottom:1px solid #23445D;box-shadow:0 5px 24px rgba(11,32,56,.16)}
.topbar .brand{color:#fff}.topbar .brand>span:last-child{color:#62D7C5}.topbar .brand-icon{background:#087F78;color:white}
.topbar .navlinks a{color:#D4E3EF}.topbar .navlinks a:hover{color:#75E2D0}
.topbar .text-button{color:#E5F2FA}.topbar .btn-dark{background:#087F78;color:#fff}.topbar .btn-dark:hover{background:#06645F}
.hero{max-width:none;width:100%;padding-left:max(30px,calc((100vw - 1140px)/2));padding-right:max(30px,calc((100vw - 1140px)/2));background:linear-gradient(125deg,#0B2038 0%,#143650 62%,#175A60 100%);color:#fff;min-height:590px}
.hero h1{color:#fff}.hero h1 em{color:#7BE3CE}.hero-copy>p{color:#D2E2EE}.hero-note{color:#D4E2EB}.hero-note .checkmark{color:#7BE3CE}.hero-note .bullet{color:#8AA4B5}
.hero .eyebrow{color:#A4F3E4;background:rgba(20,125,120,.20);border-color:rgba(164,243,228,.35)}
.hero .btn-primary{background:#0C9C8C;color:#fff;box-shadow:0 9px 24px #041C254D}.hero .btn-primary:hover{background:#087F78}
.hero .btn-outline{background:transparent;color:#fff;border-color:#93AFBE}.hero .btn-outline:hover{background:rgba(255,255,255,.12)}
.hero-visual{background:linear-gradient(145deg,#D7ECE9,#E7F1F6 65%,#B9DCD9);border:1px solid #8DAEB2;box-shadow:0 25px 60px rgba(0,0,0,.18)}
.mode-banner{background:#DFF2EE;color:#0A645E;border-bottom:1px solid #B4DCD5}
.trustbar{background:#E6EEF4;border-color:#D5E2EA}.section-soft,.account-view{background:#EAF0F5}
.section{scroll-margin-top:82px}.section-heading h2,.center-heading h2{color:#0B2038}
.project-card,.filters,.step,.auth-card,.dashboard-card,.dashboard-section,.dashboard-top,.feature-tile{background:#fff;border:1px solid #D6E2E9;box-shadow:0 3px 12px rgba(11,32,56,.035)}
.project-card:hover,.feature-tile:hover{border-color:#69BDB4;box-shadow:0 12px 30px rgba(11,32,56,.11)}
.btn-primary{background:#087F78}.btn-primary:hover{background:#06645F}
.btn-dark{background:#0B2038}.brand-icon{background:#087F78}
.radius-visual{background:#DFEFEE}.radius-circle{border-color:#087F78;background:#087F7820}.radius-center{background:#087F78;box-shadow:0 0 0 2px #087F78}
footer{background:#0B2038;color:#DCE9F3}footer .brand{color:#fff}footer .brand>span:last-child{color:#62D7C5}
@media(max-width:750px){.hero{padding-left:19px;padding-right:19px}.topbar .navlinks.open{background:#0B2038;border-top:1px solid #23445D}.topbar .navlinks.open a{color:#EAF4F9}}

/* Photo enhanced preview */
.hero-visual.photo-hero{background:#143650;isolation:isolate;border-color:#4a7482;}
.photo-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:57% 40%;z-index:0;}
.photo-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,32,49,.35),transparent 60%);z-index:0;pointer-events:none;}
.photo-hero .visual-grid{display:none;}
.photo-hero .showcase-card{transform:rotate(-3deg) scale(.86);transform-origin:center; margin-left:-110px; margin-top:120px;}
.photo-hero .float-label{background:#fff;box-shadow:0 10px 35px #081c3080;}
.photo-categories{padding-top:56px;padding-bottom:20px;}
.photo-categories .section-heading{margin-bottom:22px;}
.photo-category-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;}
.photo-category{min-width:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;transition:transform .2s,box-shadow .2s;}
.photo-category:hover{transform:translateY(-3px);box-shadow:0 10px 28px #0b203822;}
.photo-category img{width:100%;height:104px;object-fit:cover;display:block;}
.photo-category strong{font-size:11px;display:block;padding:11px 8px;text-align:center;color:var(--navy);line-height:1.3;}
.photo-disclaimer{color:#758493;font-size:11px;margin:15px 0 0;}
@media(max-width:1000px){.photo-category-grid{grid-template-columns:repeat(4,minmax(0,1fr));}}
@media(max-width:520px){.photo-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.photo-hero .showcase-card{margin-left:-50px;transform:rotate(-3deg) scale(.7)}.photo-category img{height:120px;}}

/* Clean photo hero: no legacy illustration, floating badges, or project mockup. */
.photo-hero{overflow:hidden}
.photo-hero>img{display:block;width:100%;height:100%;object-fit:cover;object-position:57% 40%}
.photo-hero::after{display:none}
/* Searchable two-stage trade taxonomy */
.service-picker-native{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;overflow:hidden!important}
.service-picker{position:relative;display:flex;flex-direction:column;gap:7px;margin:7px 0 16px;min-width:0}
.service-picker .service-picker-label{font-weight:650;font-size:13px;margin:5px 0 0;color:#11263e}
.service-picker .service-picker-group,.service-picker .service-picker-search{box-sizing:border-box;width:100%;min-height:44px;border:1px solid #cbd7df;border-radius:9px;background:#fff;color:#11263e;padding:10px 12px;font:inherit}
.service-picker .service-picker-search:focus,.service-picker .service-picker-group:focus{outline:2px solid #147d78;outline-offset:1px}
.service-picker-row{display:flex;align-items:center;justify-content:space-between;gap:8px}
.service-picker .service-picker-clear{border:0;background:none;color:#147d78;font-size:12px;cursor:pointer;padding:5px}
.service-picker-results{border:1px solid #cbd7df;border-radius:10px;background:#fff;max-height:220px;overflow-y:auto;box-shadow:0 12px 28px #11263e18;z-index:12}
.service-picker-results[hidden]{display:none!important}
.service-picker-option{display:block;width:100%;padding:10px 12px;border:0;border-bottom:1px solid #edf1f3;text-align:left;background:white;color:#11263e;font:inherit;cursor:pointer}
.service-picker-option:hover,.service-picker-option.active{background:#e7f5f2}
.service-picker-empty{padding:12px;color:#526579;font-size:13px}
.service-picker-hint{font-size:12px!important;line-height:1.5;color:#64748b;margin:0!important}

/* Contractor profile and portfolio */
.profile-wide{grid-column:1/-1}.profile-wide textarea,.profile-wide select,.dashboard-form textarea{width:100%;box-sizing:border-box;padding:12px;border:1px solid #b9cbd0;border-radius:10px;background:white;color:#102b3d;font:inherit}.profile-wide h4{margin:8px 0}.profile-checkbox{display:flex!important;gap:10px;align-items:flex-start;margin-top:14px}.profile-checkbox input{width:auto!important;margin-top:4px}.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin:18px 0}.portfolio-photo{border:1px solid #d3e0e3;border-radius:12px;padding:8px;overflow:hidden}.portfolio-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px}.portfolio-photo button{margin-top:8px}.gallery-controls{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.featured-item{padding:12px;margin:10px 0;border:1px solid #d3e0e3;border-radius:10px}.featured-item h4{margin:0 0 4px}

/* Read-only public contractor page: no edit, delete or upload controls */
.public-contractor-view{background:#f4f7fa;min-height:70vh;padding:45px 0 85px}.public-back{display:inline-block;color:#147d78;font-weight:800;margin-bottom:26px}.public-business-hero{background:linear-gradient(120deg,#11263e,#1b4b5a);color:white;border-radius:18px;padding:48px 40px;margin-bottom:22px}.public-business-hero .overline{color:#9de5d7}.public-business-hero h1{font-family:Manrope,sans-serif;font-size:clamp(30px,4vw,50px);margin:8px 0}.public-business-hero p{color:#d7e6eb}.public-business-card{background:white;border:1px solid #dce5eb;border-radius:15px;padding:30px;margin:18px 0}.public-business-card h2{font-size:24px;margin-bottom:15px}.public-business-card p{color:#526579;line-height:1.8;white-space:pre-wrap}.public-service-tags{display:flex;flex-wrap:wrap;gap:9px}.public-service-tags span{padding:9px 13px;border-radius:30px;background:#e9f6f2;color:#106761;font-size:13px;font-weight:700}.public-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}.public-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px}@media(max-width:650px){.public-business-hero{padding:30px 22px}.public-business-card{padding:22px}.public-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Project photo linking */
.project-photo-editor{margin:12px 0;padding:12px;border:1px solid #d8e4e9;border-radius:12px}.project-photo-option{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid #edf2f4}.project-photo-option img{width:78px;height:60px;object-fit:cover;border-radius:7px}.project-photo-option select{max-width:135px;margin-left:auto}.public-gallery figure{margin:0}.public-gallery figure img{width:100%;height:180px;object-fit:cover;border-radius:10px}.public-gallery figcaption{font-size:.85rem;font-weight:700;margin:5px 0 12px}

.project-photo-editor[hidden]{display:none!important}.project-photo-editor>label{display:block;margin:12px 0;font-weight:600}.project-photo-editor>label input,.project-photo-editor>label textarea{display:block;width:100%;margin-top:6px}.project-edit-actions{display:flex;gap:12px;align-items:center;margin:10px 0}.project-save-status{font-size:.9rem;font-weight:600;margin:12px 0}

/* Entire contractor listing opens its public profile; project listings are unchanged. */
#contractors .contractor-clickable-card{cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
#contractors .contractor-clickable-card:hover{transform:translateY(-3px);border-color:var(--teal);box-shadow:0 14px 32px rgba(11,32,56,.13)}
#contractors .contractor-clickable-card:focus-visible{outline:3px solid #7BCAC2;outline-offset:3px}
#contractors .contractor-clickable-card:hover .project-bottom button{text-decoration:underline}

/* Guided contractor portfolio workflow */
.work-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.work-heading h3{font-size:26px;margin:5px 0 7px}.work-eyebrow{font-size:11px;letter-spacing:1.5px;font-weight:800;color:var(--teal)}.work-private-note{white-space:nowrap;background:#edf6f3;color:#266657;border-radius:20px;padding:7px 12px;font-size:12px;font-weight:700}.work-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:22px}.work-step{display:flex;align-items:center;gap:11px;padding:15px 12px;border:1px solid #d9e6e8;border-radius:12px;text-decoration:none;color:var(--navy);background:#f7fafb}.work-step strong,.work-step-number{display:grid;place-items:center;flex-shrink:0;width:34px;height:34px;background:#d9f1eb;color:#146b60;border-radius:50%;font-weight:800}.work-step span{display:grid;gap:3px}.work-step small{font-size:11px;color:var(--muted)}.work-panel{padding:23px;margin:18px 0;background:#fff;border:1px solid #d9e4e8;border-radius:16px;scroll-margin-top:100px}.work-panel-title{display:flex;gap:12px;align-items:flex-start;margin-bottom:18px}.work-panel-title h4{font-size:19px;margin:4px 0}.work-panel-title p{margin:0}.work-create-form{display:grid;gap:15px}.work-create-form label{display:block;font-weight:700;font-size:13px;margin-bottom:7px}.work-create-form input:not([type=checkbox]),.work-create-form textarea{width:100%;padding:12px 14px;border:1px solid #cbdce2;border-radius:10px;font:inherit;box-sizing:border-box}.optional{font-weight:400;color:var(--muted)}.work-photo-picker{border-top:1px solid #e2e9eb;padding-top:12px}.work-photo-picker h5{font-size:15px;margin:8px 0}.work-photo-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(125px,1fr));gap:10px}.work-photo-choice{position:relative;border:1px solid #d9e4e8;border-radius:10px;padding:7px;margin:0!important;display:flex!important;flex-direction:column;gap:8px}.work-photo-choice input{position:absolute;top:12px;left:12px;accent-color:#167b6b;width:18px;height:18px}.work-photo-choice img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:7px}.work-photo-choice select{width:100%;font-size:12px;padding:6px;border-radius:7px;border:1px solid #ccdce0}.work-form-actions{display:flex;gap:10px;flex-wrap:wrap}.work-view-photos{border:0;background:#e8f4f1;color:#146c61;border-radius:9px;padding:9px 12px;font-weight:750;cursor:pointer;margin:10px 10px 10px 0}.work-project-preview{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin:8px 0 15px}.work-project-preview[hidden]{display:none!important}.work-project-preview figure{margin:0}.work-project-preview img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px}.work-project-preview figcaption{font-size:12px;font-weight:700;color:var(--muted)}.featured-item{padding:19px;margin:13px 0;border:1px solid #d9e4e8;border-radius:12px;background:#fbfdfd}.featured-item h4{font-size:18px}.featured-item p{margin:8px 0}.project-photo-editor{background:white}.work-panel .portfolio-grid{margin-top:12px}@media(max-width:700px){.work-steps{grid-template-columns:1fr}.work-heading{flex-direction:column}.work-panel{padding:16px}}


/* Public contractor photo viewer */
#publicContractorContent .public-gallery img{cursor:zoom-in;transition:filter .15s ease}
#publicContractorContent .public-gallery img:hover{filter:brightness(.91)}
body.ot-photo-open{overflow:hidden}
.ot-photo-lightbox[hidden]{display:none!important}
.ot-photo-lightbox{position:fixed;inset:0;z-index:10000;background:rgba(5,12,22,.97);color:#fff;display:flex;align-items:center;justify-content:center}
.ot-photo-toolbar{position:absolute;top:0;left:0;right:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:linear-gradient(rgba(0,0,0,.65),transparent)}
.ot-photo-actions{display:flex;gap:7px}.ot-photo-lightbox button{border:1px solid rgba(255,255,255,.35);border-radius:8px;background:rgba(25,37,52,.9);color:white;min-width:42px;min-height:42px;font-size:23px;cursor:pointer}.ot-photo-lightbox button:hover,.ot-photo-lightbox button:focus-visible{background:#276a76;outline:2px solid white;outline-offset:2px}.ot-photo-actions [data-zoom=reset]{font-size:13px;min-width:62px}
.ot-photo-stage{position:absolute;inset:66px 65px 48px;display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:none;cursor:zoom-in;user-select:none}.ot-photo-stage.zoomed{cursor:grab}.ot-photo-stage img{width:100%;height:100%;object-fit:contain;pointer-events:none;transform-origin:center center;will-change:transform}
.ot-photo-prev,.ot-photo-next{position:absolute;top:50%;transform:translateY(-50%);z-index:2}.ot-photo-prev{left:12px}.ot-photo-next{right:12px}.ot-photo-help{position:absolute;bottom:8px;left:0;right:0;text-align:center;font-size:12px;color:#d0d8e1;margin:0;pointer-events:none}
@media(max-width:600px){.ot-photo-stage{inset:65px 4px 50px}.ot-photo-prev,.ot-photo-next{top:auto;bottom:52px;transform:none}.ot-photo-toolbar{padding:10px 8px}.ot-photo-actions{gap:4px}.ot-photo-lightbox button{min-width:37px;min-height:39px}}

/* Find Work: the full project card is an accessible click/tap target. */
#marketplace .work-clickable-card{cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
#marketplace .work-clickable-card:hover{transform:translateY(-3px);border-color:var(--teal);box-shadow:0 14px 32px rgba(11,32,56,.13)}
#marketplace .work-clickable-card:focus-visible{outline:3px solid #7BCAC2;outline-offset:3px}
#marketplace .work-clickable-card:hover .project-bottom button{text-decoration:underline}

/* Homeowner job editor */
.job-form{display:grid;gap:12px;margin-top:22px;padding:22px;border:1px solid #d9e3e3;border-radius:14px;background:#fff}.job-form input,.job-form textarea,.job-form select{width:100%;box-sizing:border-box;border:1px solid #ccd6d8;border-radius:8px;padding:12px;font:inherit}.job-form label{font-weight:650}.job-two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.job-two>div{display:grid;gap:8px}.job-actions{display:flex;gap:10px;flex-wrap:wrap}.job-list-item{border:1px solid #d8e0e2;border-radius:12px;padding:16px;margin:12px 0;background:#fff}.job-list-item button{margin:6px 8px 0 0}.job-photo-list{display:flex;gap:10px;flex-wrap:wrap}.job-photo-list img{width:110px;height:85px;object-fit:cover;border-radius:8px}.job-photo-list figure{margin:0}.job-photo-list button{display:block}.job-public-images{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}.job-public-images img{width:170px;height:130px;object-fit:cover;cursor:zoom-in;border-radius:10px}@media(max-width:650px){.job-two{grid-template-columns:1fr}}

/* All homeowner and contractor gallery thumbnails open in the in-page zoom viewer. */
.job-public-images img,.job-photo-list img,#jobExistingPhotos img{cursor:zoom-in}
/* OpenTrade feature modules */
.ot-feature .ot-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.ot-small{padding:6px 12px;font-size:.85rem}
.ot-pill{display:inline-block;padding:2px 10px;border-radius:999px;background:#eef3f1;font-size:.8rem;font-weight:600}
.ot-matched{background:#d7f5ea;color:#076b55}.ot-selected{background:#fff2cc}.ot-declined,.ot-withdrawn{background:#f3e3e3;color:#8a2b2b}
.ot-modal-actions{margin-top:16px;display:grid;gap:8px}.ot-note{width:100%;box-sizing:border-box}
.ot-lock{border:1px dashed #b7c4bf;border-radius:10px;padding:10px;margin-top:8px;background:#fafcfb}
.ot-thread{max-height:300px;overflow:auto;display:flex;flex-direction:column;gap:6px;padding:8px;background:#f6f8f7;border-radius:10px;margin:8px 0}
.ot-msg{max-width:80%;padding:6px 10px;border-radius:10px;display:grid}.ot-msg small{opacity:.6;font-size:.7rem}.ot-mine{align-self:flex-end;background:#d7f5ea}.ot-theirs{align-self:flex-start;background:#fff;border:1px solid #e2e8e5}
.ot-bell{display:inline-block;margin-left:6px;min-width:18px;padding:0 6px;border-radius:999px;background:#0fa88a;color:#fff;font-size:.75rem;font-weight:700}.ot-bell.hidden{display:none}
.ot-note-row{padding:8px 0;border-bottom:1px solid #edf1ef;font-size:.92rem}.ot-note-row small{opacity:.6}.ot-unread{font-weight:500}.ot-unread strong::before{content:'● ';color:#0fa88a}
.ot-lang{border:1px solid #d5dfdb;border-radius:8px;padding:6px 8px;background:#fff;font:inherit;font-size:.85rem;color:inherit}
.ot-langs{border:1px solid #e2e8e5;border-radius:10px;padding:12px;margin-top:14px}.ot-lang-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px}.ot-check{display:flex;gap:6px;align-items:center;font-weight:400}
[dir=rtl] .ot-msg.ot-mine{align-self:flex-start}[dir=rtl] .ot-msg.ot-theirs{align-self:flex-end}
.ot-contact{border:1px solid #9ad9c6;background:#f0fbf7;border-radius:10px;padding:10px;margin:8px 0;display:grid;gap:4px}.ot-contact small{opacity:.7}
.ot-counter{font-size:.9rem;padding:8px 12px;background:#f2f6fb;border-radius:8px;margin:10px 0}
.ot-meter{height:8px;background:#e7eeeb;border-radius:99px;overflow:hidden;margin:6px 0 12px}.ot-meter span{display:block;height:100%;background:#0fa88a}.ot-cap{width:110px;margin:0 8px}
.ot-faq details{border:1px solid #dfe7ee;border-radius:10px;padding:12px 16px;margin:8px 0;background:#fff}.ot-faq summary{cursor:pointer;font-weight:600;color:#0b2545}.ot-faq p{margin:8px 0 0}
/* Keep footer links clear of the hosting badge pinned to the bottom-right corner */
footer{padding-bottom:64px}
/* Signup terms checkbox + account rights */
.terms-check{display:flex;gap:8px;align-items:flex-start;font-size:13px;line-height:1.5;margin:12px 0}.terms-check input{margin-top:3px;flex:none}.terms-check a{color:var(--teal);text-decoration:underline}
.ot-delete{margin-top:14px;border:1px solid #f1c9c4;border-radius:10px;padding:10px 14px}.ot-delete summary{cursor:pointer;font-weight:800;color:#b42318}.ot-delete label{display:block;font-size:12px;font-weight:800;margin:10px 0 4px}.ot-delete input{width:100%;max-width:320px;height:40px;border:1px solid #DCE5EB;border-radius:8px;padding:0 10px}.ot-delete .btn{margin-top:12px}.btn.ot-danger{background:#b42318;box-shadow:none}.btn.ot-danger:disabled{opacity:.45;cursor:not-allowed;transform:none}

.hero-copy>p.ghost-callout{max-width:520px;margin:24px 0 4px;padding:18px 22px 18px 74px;position:relative;border-radius:16px;background:linear-gradient(135deg,#8ff0d2,#5fd8b8);color:#0d2a3a;font-size:15px;font-weight:600;line-height:1.55;box-shadow:0 16px 36px #00000040}.hero-copy>p.ghost-callout::before{content:"\1F47B";position:absolute;inset-inline-start:20px;top:50%;transform:translateY(-50%);font-size:38px;line-height:1}.hero-copy>p.ghost-callout strong{display:block;color:#0b1f2c;font-family:Manrope,sans-serif;font-size:23px;font-weight:800;letter-spacing:-.6px;margin-bottom:4px}
.ot-thread-page .ot-thread{max-height:none;height:calc(100vh - 340px);min-height:260px}
.ot-thread-page .ot-thread-back{margin-bottom:12px}
.ot-thread-page .ot-note{width:100%;box-sizing:border-box}
@media (max-width:640px){.ot-thread-page .ot-thread{height:calc(100vh - 380px)}}

.nav-mobile-only{display:none}@media(max-width:750px){.navlinks.open .nav-mobile-only{display:block}}
.fee-more{margin:8px 0 0;font-size:13px}.fee-more a{color:var(--teal);font-weight:800;text-decoration:underline}.ghost-more{margin-top:-4px}
/* Dialogs never extend past the viewport: the dialog scrolls internally (dvh + safe areas), close button stays pinned. */
.modal-backdrop{overflow-y:auto;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}
.modal{max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.modal-close{position:sticky;top:-28px;display:block;margin:-22px -22px -18px auto;z-index:2;background:#fff;border-radius:50%;width:40px;height:40px;line-height:1;cursor:pointer}
@media (max-width:480px){.modal{padding:26px 18px}.modal-close{margin:-16px -10px -18px auto;top:-22px}}
/* 360px phones: header (logo + language + menu) fits without horizontal overflow */
@media (max-width:380px){.nav{gap:10px}.nav-actions .ot-lang{max-width:96px}.menu-toggle{padding:0 2px}}
/* Found a Trade: the longer wordmark needs a slightly smaller header logo on phones so the menu button stays on screen */
@media (max-width:430px){.topbar .brand{font-size:20px;letter-spacing:-1px}.topbar .brand-icon{width:28px;height:28px;font-size:20px;margin-right:5px}}
h2 span.notranslate{color:inherit}
