/* Imported profile only. Every selector stays inside this visual component. */
.dm-profile-visual{--profile-navy:#092d3b;--profile-teal:#06675f;--profile-mint:#71e1c9;--profile-amber:#ffc975;min-width:0;margin:0 0 42px;color:#163d45}
.dm-profile-visual *{box-sizing:border-box}
.dm-profile-visual .dm-profile-back{margin:24px 0 20px;font-size:.8rem;font-weight:650}
.dm-profile-visual .dm-profile-back a{color:#45656f;text-decoration:none}
.dm-profile-visual .dm-profile-back a:hover{text-decoration:underline;text-underline-offset:4px}
.dm-profile-visual .dm-profile-hero{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) 220px;align-items:center;gap:45px;min-height:295px;padding:43px 48px;border:1px solid #163f4a;border-radius:23px;background:radial-gradient(ellipse at 98% 110%,#126d64 0,transparent 58%),linear-gradient(125deg,#0b263b,#103d45);box-shadow:0 16px 38px #092d3b0c}
.dm-profile-visual .dm-profile-hero:before{content:"";position:absolute;z-index:-1;width:610px;height:610px;border:1px solid #8fe9cd19;right:-245px;top:-340px;border-radius:50%;box-shadow:0 0 0 45px #8fe9cd06,0 0 0 90px #8fe9cd04;pointer-events:none}
.dm-profile-visual .dm-profile-hero-copy{min-width:0;max-width:100%;width:100%}
.dm-profile-visual .dm-profile-category{display:inline-flex;align-items:center;gap:9px;max-width:100%;padding:7px 11px;border:1px solid #70dfc647;border-radius:7px;background:#72dfc60b;color:#b9f0df;font-size:.73rem;font-weight:650;line-height:1.4}
.dm-profile-visual .dm-profile-category svg{width:17px;height:20px;flex:0 0 auto}
.dm-profile-visual .dm-profile-category span{min-width:0;overflow-wrap:anywhere}
.dm-profile-visual h1{margin:21px 0 24px;max-width:850px;color:#fff;font-size:clamp(2rem,3.7vw,3.3rem);line-height:1.09;letter-spacing:-.045em;font-weight:800;overflow-wrap:anywhere;text-wrap:balance}
.dm-profile-visual .dm-profile-status{display:inline-flex;align-items:center;gap:8px;max-width:100%;padding:5px 9px;border:1px solid #e8bd6a54;border-radius:5px;background:#ffc9750d;color:#ffdc9e;font-size:.69rem;line-height:1.5;font-weight:600;overflow-wrap:anywhere}
.dm-profile-visual .dm-profile-status>span{width:5px;height:5px;border-radius:50%;background:var(--profile-amber);flex:0 0 auto}
.dm-profile-visual .dm-profile-identity{position:relative;display:grid;place-items:center;width:210px;aspect-ratio:1;justify-self:end;border:1px solid #a4ead93d;border-radius:28px;background:linear-gradient(145deg,#ffffff0e,#0e514640);box-shadow:inset 0 1px #ffffff13;transform:rotate(3deg);overflow:hidden}
.dm-profile-visual .dm-profile-identity:before{content:"";position:absolute;inset:16px;border:1px solid #b9efdc25;border-radius:18px;pointer-events:none}
.dm-profile-visual .dm-profile-monogram{font-size:5.2rem;line-height:1;font-weight:750;letter-spacing:-.08em;padding-right:.08em;color:#d3faeb;transform:rotate(-3deg);text-transform:uppercase;text-shadow:0 5px 20px #082b3a40}
.dm-profile-visual .dm-profile-wave{position:absolute;left:15px;right:15px;bottom:23px;width:180px;height:32px;max-width:calc(100% - 30px);color:#6de1c560;pointer-events:none}
.dm-profile-visual .dm-profile-identity img{display:block;width:100%;height:100%;object-fit:contain;transform:rotate(-3deg);border-radius:22px}
.dm-profile-visual .dm-profile-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px;margin-top:21px}
.dm-profile-visual .dm-profile-contact{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:29px 30px 27px;border:1px solid #d7e5e6;border-radius:16px;background:#fff;box-shadow:0 7px 22px #103c4004}
.dm-profile-visual .dm-profile-contact-label{display:flex;align-items:center;gap:10px;margin-bottom:15px;color:#698087}
.dm-profile-visual .dm-profile-contact-label>svg{width:20px;height:20px;flex:0 0 auto;color:#147b70}
.dm-profile-visual .dm-profile-contact-label h2{margin:0;font-size:.7rem;color:#527078;text-transform:uppercase;letter-spacing:.11em;font-weight:750}
.dm-profile-visual .dm-profile-phone{display:inline-block;max-width:100%;font-size:clamp(1.45rem,2.2vw,1.85rem);letter-spacing:-.035em;line-height:1.3;color:#123b43;font-weight:750;text-decoration:none;overflow-wrap:anywhere}
.dm-profile-visual .dm-profile-website{display:inline-block;max-width:100%;font-size:.93rem;font-weight:600;line-height:1.65;color:#2d6165;text-decoration:none;overflow-wrap:anywhere;margin:2px 0 3px}
.dm-profile-visual .dm-profile-phone:hover,.dm-profile-visual .dm-profile-website:hover{text-decoration:underline;text-underline-offset:4px}
.dm-profile-visual .dm-profile-contact-actions{display:flex;align-items:center;flex-wrap:wrap;gap:9px;padding-top:23px;margin-top:auto;width:100%}
.dm-profile-visual .dm-profile-action{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-width:0;max-width:100%;min-height:45px;border:1px solid transparent;border-radius:8px;padding:10px 17px;font:inherit;font-size:.8rem;font-weight:700;line-height:1.45;white-space:normal;overflow-wrap:anywhere;text-align:center;text-decoration:none;cursor:pointer;transition:background .15s ease,border-color .15s ease}
.dm-profile-visual .dm-profile-action svg{width:20px;height:20px;flex:0 0 auto}
.dm-profile-visual .dm-profile-action-primary{background:var(--profile-teal);border-color:var(--profile-teal);color:#fff}
.dm-profile-visual .dm-profile-action-primary:hover{background:#04534d;border-color:#04534d;color:#fff}
.dm-profile-visual .dm-profile-action-secondary{background:#fff;border-color:#d1dfe1;color:#355f65}
.dm-profile-visual .dm-profile-action-secondary:hover{background:#eff7f6;border-color:#a7c7c3}
.dm-profile-visual .dm-profile-sharing{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:20px 0 23px}
.dm-profile-visual .dm-profile-share{box-shadow:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:0;max-width:100%;min-height:41px;padding:8px 13px;border:1px solid #d9e4e5;border-radius:7px;background:#f8fbfb;color:#486871;font:inherit;font-size:.73rem;font-weight:600;line-height:1.4;text-decoration:none;white-space:normal;overflow-wrap:anywhere;cursor:pointer}
.dm-profile-visual .dm-profile-share svg{width:15px;height:15px;flex:0 0 auto}
.dm-profile-visual .dm-profile-share:hover{background:#edf6f4;border-color:#afcac5;color:#155f57}
.dm-profile-visual .dm-profile-brochure{font-size:.8rem;margin:20px 0}
.dm-profile-visual .dm-profile-source{margin-top:22px;border:1px solid #d7e4e4;border-radius:12px;background:#f9fcfb;overflow:hidden}
.dm-profile-visual .dm-profile-source>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:61px;padding:17px 23px;list-style:none;color:#385d63;font-size:.84rem;font-weight:650;cursor:pointer}
.dm-profile-visual .dm-profile-source>summary::-webkit-details-marker{display:none}
.dm-profile-visual .dm-profile-source>summary>svg{width:20px;height:20px;flex:0 0 auto;transition:transform .15s ease}
.dm-profile-visual .dm-profile-source[open]>summary>svg{transform:rotate(180deg)}
.dm-profile-visual .dm-profile-source[open]>summary{border-bottom:1px solid #dce8e7}
.dm-profile-visual .dm-profile-source-content{padding:23px}
.dm-profile-visual .dm-profile-source-content .dm-supplied-notice{margin:0 0 23px;padding:18px 20px;border:1px solid #e7d6b5;border-left:3px solid #d6a044;border-radius:8px;background:#fff8ea;color:#725833;font-size:.79rem;line-height:1.7}
.dm-profile-visual .dm-profile-source-content .dm-supplied-notice strong{color:#755823;font-size:.8rem}
.dm-profile-visual .dm-profile-source-content .dm-supplied-notice p{margin:8px 0}
.dm-profile-visual .dm-profile-source-content .dm-supplied-notice a{color:#43665b;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.dm-profile-visual .dm-profile-source-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 30px;margin:0}
.dm-profile-visual .dm-profile-source-facts>div{min-width:0}
.dm-profile-visual .dm-profile-source-facts dt{margin:0 0 6px;color:#627e82;font-size:.69rem;font-weight:650}
.dm-profile-visual .dm-profile-source-facts dd{margin:0;color:#345c61;font-size:.8rem;line-height:1.65;overflow-wrap:anywhere}
.dm-profile-visual a:focus-visible,.dm-profile-visual button:focus-visible,.dm-profile-visual summary:focus-visible{outline:3px solid #dc9d29;outline-offset:4px}
@media(max-width:760px){.dm-profile-visual .dm-profile-hero{grid-template-columns:minmax(0,1fr) 130px;gap:22px;padding:32px 29px;min-height:240px}.dm-profile-visual .dm-profile-identity{width:125px;border-radius:19px}.dm-profile-visual .dm-profile-identity:before{inset:10px;border-radius:12px}.dm-profile-visual .dm-profile-monogram{font-size:3.5rem}.dm-profile-visual .dm-profile-wave{bottom:7px;left:10px;right:10px;max-width:calc(100% - 20px)}.dm-profile-visual h1{font-size:2rem}.dm-profile-visual .dm-profile-contact{padding:23px}.dm-profile-visual .dm-profile-contact-grid{gap:13px}.dm-profile-visual .dm-profile-action{padding:10px 13px;gap:10px}}
@media(max-width:540px){.dm-profile-visual{margin-bottom:28px}.dm-profile-visual .dm-profile-back{margin:20px 0 15px;font-size:.74rem}.dm-profile-visual .dm-profile-hero{display:flex;flex-direction:column-reverse;align-items:flex-start;gap:24px;padding:25px 23px 29px;border-radius:17px;min-height:0}.dm-profile-visual .dm-profile-identity{width:77px;border-radius:15px;transform:rotate(-3deg)}.dm-profile-visual .dm-profile-identity:before{inset:7px;border-radius:9px}.dm-profile-visual .dm-profile-monogram{font-size:2.3rem;transform:rotate(3deg)}.dm-profile-visual .dm-profile-wave{display:none}.dm-profile-visual .dm-profile-category{font-size:.62rem;padding:6px 8px;gap:6px}.dm-profile-visual .dm-profile-category svg{width:14px;height:16px}.dm-profile-visual h1{font-size:1.95rem;line-height:1.12;margin:17px 0 19px;letter-spacing:-.04em}.dm-profile-visual .dm-profile-status{font-size:.7rem;gap:6px;padding:5px 7px}.dm-profile-visual .dm-profile-contact-grid{grid-template-columns:minmax(0,1fr);gap:12px;margin-top:15px}.dm-profile-visual .dm-profile-contact{padding:22px 23px;border-radius:13px}.dm-profile-visual .dm-profile-phone{font-size:1.55rem}.dm-profile-visual .dm-profile-website{font-size:.82rem}.dm-profile-visual .dm-profile-contact-actions{padding-top:19px}.dm-profile-visual .dm-profile-action{min-height:44px;font-size:.75rem;padding:10px 14px}.dm-profile-visual .dm-profile-sharing{gap:7px;margin:16px 0 20px}.dm-profile-visual .dm-profile-share{font-size:.65rem;padding:8px 10px;min-height:40px}.dm-profile-visual .dm-profile-source{margin-top:19px}.dm-profile-visual .dm-profile-source>summary{min-height:57px;padding:16px 18px;font-size:.79rem}.dm-profile-visual .dm-profile-source-content{padding:17px}.dm-profile-visual .dm-profile-source-content .dm-supplied-notice{padding:15px;font-size:.73rem}.dm-profile-visual .dm-profile-source-facts{grid-template-columns:minmax(0,1fr);gap:18px}.dm-profile-visual .dm-profile-source-facts dd{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){.dm-profile-visual .dm-profile-action,.dm-profile-visual .dm-profile-source>summary>svg{transition:none}}
/* Business branding: photos are supplied by the profile owner. */
.dm-profile-visual .dm-profile-cover{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}
.dm-profile-visual .dm-profile-hero--cover:before{inset:0;width:auto;height:auto;border:0;border-radius:0;box-shadow:none;background:linear-gradient(90deg,#071e32ed,#071e32aa 65%,#071e3255)}
.dm-profile-visual .dm-profile-identity--logo{background:#fff;transform:none;box-shadow:0 12px 35px #00121f30;border:1px solid #ffffff88}
.dm-profile-visual .dm-profile-identity--logo:before{display:none}
.dm-profile-visual .dm-profile-identity--logo img{object-fit:contain;transform:none;padding:18px;border-radius:0}
.dm-profile-visual .dm-profile-tagline{margin:-8px 0 24px;color:#d2f6ec;font-size:1.18rem;font-weight:500;line-height:1.6;overflow-wrap:anywhere}
.dm-profile-visual .dm-profile-managed{display:inline-block;color:#b8e7db;border:1px solid #9bdbcb55;padding:5px 9px;border-radius:5px;font-size:.72rem}
.dm-profile-visual .dm-profile-cover-link{margin:10px 3px 0;font-size:.75rem;text-align:right}
.dm-profile-visual .dm-profile-owner-details{margin-top:24px;display:grid;gap:18px;min-width:0}
.dm-profile-visual .dm-profile-owner-details .profile-card{margin:0;border-radius:17px;border:1px solid #d4e5e3;padding:27px;background:#fff}
.dm-profile-visual .dm-profile-owner-details h2{font-size:1.4rem;line-height:1.35;overflow-wrap:anywhere}
.dm-profile-visual .dm-profile-owner-details h3{font-size:1rem;margin:22px 0 12px}
.dm-profile-visual .dm-profile-owner-details .profile-card>h3:first-child{margin-top:0}
.dm-profile-visual .dm-profile-bio{white-space:pre-line;overflow-wrap:anywhere;line-height:1.8}
.dm-profile-visual .dm-profile-owner-details .cal-vote-control{max-width:none;border:1px solid #cbe4db;border-radius:14px;background:#edf8f3;padding:18px 23px}
.dm-profile-visual .dm-profile-gallery{margin:30px 0}
.dm-profile-visual .dm-profile-gallery h2{font-size:1.55rem;letter-spacing:-.03em;margin-bottom:17px}
.dm-profile-visual .dm-profile-gallery>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.dm-profile-visual .dm-profile-gallery a{display:block;overflow:hidden;border-radius:14px;border:1px solid #cbe0de;background:#e6f1ed;min-width:0}
.dm-profile-visual .dm-profile-gallery img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .18s}
.dm-profile-visual .dm-profile-gallery a:hover img{transform:scale(1.03)}
.dm-profile-visual .dm-profile-owner-bar{display:flex;align-items:center;flex-wrap:wrap;gap:14px;padding:21px 23px;margin-top:24px;border:1px solid #d1e3df;border-radius:14px;background:#eaf5f0}
.dm-profile-visual .dm-profile-owner-bar>span{font-weight:650;font-size:.85rem}
.dm-profile-visual .dm-profile-update-link{font-size:.78rem;color:#35665d;margin-left:auto}
@media(max-width:650px){.dm-profile-visual .dm-profile-gallery>div{grid-template-columns:repeat(2,minmax(0,1fr))}.dm-profile-visual .dm-profile-tagline{font-size:.97rem;margin-top:-5px}.dm-profile-visual .dm-profile-owner-details .profile-card{padding:21px}.dm-profile-visual .dm-profile-identity--logo{width:100px}.dm-profile-visual .dm-profile-identity--logo img{padding:10px}.dm-profile-visual .dm-profile-owner-bar{padding:18px;gap:12px}.dm-profile-visual .dm-profile-update-link{margin-left:0}.dm-profile-visual .dm-profile-owner-details .cal-profile-facts{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.dm-profile-visual .dm-profile-gallery img{transition:none}.dm-profile-visual .dm-profile-gallery a:hover img{transform:none}}
