/* Detailed product screens on the existing DrivenOS overview. Uses the homepage's
   light app and iPhone primitives; all selectors below belong to this artwork. */
.dm-fit { position:absolute; left:50%; top:50%; width:560px; height:350px; margin:-175px 0 0 -280px; transform-origin:center; }
.dm-scene { overflow:visible; }
.dm-scene :is(header,footer,aside,section) { padding:0; margin:0; background:none; border:0; }
.dm-scene :is(h4,p,hr) { margin:0; }
.dm-scene .hm-icon { width:16px; height:16px; }
.dm-scene hr { height:1px; background:#e6ebe8; border:0; width:100%; }
.dm-scene .dm-photo { display:block; width:100%; height:100%; object-fit:cover; }
.dm-scene .dm-app { top:10px; height:330px; }
.dm-scene .hm-app-head { height:56px; padding-top:8px; padding-bottom:8px; }
.dm-scene .hm-app-head strong { font-size:20px; }
.dm-scene .hm-app-head small { font-size:9px; }
.dm-scene .hm-nav { padding-top:9px; gap:3px; }
.dm-scene .hm-nav>span:not(.hm-account) { height:25px; }
.dm-scene .hm-brand { margin-bottom:5px; }
.dm-scene .hm-avatar { width:28px; height:28px; font-size:10px; }
.dm-btn { display:inline-flex; align-items:center; justify-content:center; background:#347f57; color:#fff; border-radius:5px; padding:7px 10px; font-size:10px; font-weight:600; white-space:nowrap; }
.dm-chip { display:inline-flex; align-items:center; justify-content:center; width:fit-content; background:#e6f2e9; color:#34714d; border:1px solid #d7e9dc; border-radius:5px; padding:3px 7px; font-size:8px; font-weight:500; white-space:nowrap; }
.dm-chip--amber { background:#fff4df; border-color:#f2dfb4; color:#956c30; }
.dm-toolbar { display:flex; justify-content:space-between; align-items:center; min-height:38px; padding:7px 13px; border-bottom:1px solid #e8edee; font-size:11px; }
.dm-toolbar>span { display:flex; align-items:center; gap:7px; }
.dm-metrics { display:flex; gap:8px; padding:11px 13px 2px; }
.dm-metrics>div { flex:1; border:1px solid #e2e8e5; border-radius:6px; padding:9px 11px; }
.dm-metrics small { display:block; font-size:8px; color:#78867d; }
.dm-metrics strong { display:block; font-size:21px; line-height:1.3; margin-top:2px; letter-spacing:-.04em; }
.dm-table { padding:0 13px; }
.dm-tr { display:grid; grid-template-columns:1.7fr 1fr .7fr; align-items:center; gap:10px; border-bottom:1px solid #e8edeb; min-height:37px; font-size:10px; }
.dm-th { font-size:8px; color:#7d8981; min-height:24px; background:#f9fbfa; }
.dm-tr b { display:block; font-size:10px; }
.dm-tr small { display:block; font-size:7px; color:#89928d; margin-top:2px; }
.dm-tr strong { font-size:11px; }
.dm-receipt { position:absolute; left:362px; top:155px; width:185px; background:#fff; border:1px solid #d7e2dc; padding:15px 17px; border-radius:10px; box-shadow:0 15px 35px #0004; text-align:center; }
.dm-success { display:inline-grid; place-items:center; width:35px; height:35px; color:#347f57; background:#e4f2e9; border-radius:50%; margin-bottom:8px; }
.dm-success .hm-icon { width:21px; height:21px; }
.dm-receipt>small { display:block; font-size:6px; letter-spacing:.1em!important; color:#7c8d82; }
.dm-receipt>strong { display:block; font-size:27px; margin:5px 0 1px; letter-spacing:-.04em; }
.dm-receipt>p { color:#77827b; font-size:9px; }
.dm-receipt>div { display:flex; justify-content:space-between; border-top:1px solid #edf0ee; padding-top:7px; margin-top:7px; font-size:7px; color:#7b867f; }
/* Proposal and document workspaces. */
.dm-builder { display:grid; grid-template-columns:62px 1fr 136px; min-height:195px; background:#f4f6f7; }
.dm-builder>aside,.dm-email-builder>aside { display:flex; flex-direction:column; gap:11px; padding:12px 10px; background:#fff; border-right:1px solid #e5e9e7; font-size:8px; color:#78867d; }
.dm-builder>aside b { color:#334a3c; }.dm-builder>aside span:nth-child(3) { color:#347f57; }
.dm-proposal { margin:12px; background:#fff; border:1px solid #e0e6e3; box-shadow:0 2px 4px #172e1f0b; padding-bottom:12px; }
.dm-proposal>div { height:75px; position:relative; overflow:hidden; }.dm-proposal .dm-photo { object-position:center 40%; }.dm-proposal>div::after { content:''; position:absolute; inset:0; background:linear-gradient(#0006,transparent); }.dm-proposal>div>span { position:absolute; top:8px; left:10px; color:#fff; font-size:7px; letter-spacing:.12em!important; z-index:1; }
.dm-proposal>small { display:block; font-size:5px; letter-spacing:.1em!important; color:#8a958e; margin:11px 11px 4px; }.dm-proposal>strong { display:block; font:500 22px/.98 Georgia,serif!important; letter-spacing:-.045em!important; padding:0 11px; color:#244735; }.dm-proposal>p { font-size:7px; margin:7px 11px 0; color:#7c8980; }
.dm-price-list { background:#fff; border-left:1px solid #e2e7e4; padding:15px 11px; font-size:8px; }.dm-price-list>b { display:block; margin-bottom:14px; font-size:11px; }.dm-price-list>span,.dm-price-list>strong { display:flex; justify-content:space-between; padding:8px 0; border-bottom:1px solid #e9eeeb; color:#76857b; }.dm-price-list>strong { margin:4px 0 13px; color:#254e37; font-size:10px; border:0; }
.dm-doc-layout { display:grid; grid-template-columns:110px 1fr; height:195px; background:#f3f6f5; }.dm-doc-layout>aside { padding:13px 11px; display:flex; flex-direction:column; gap:11px; background:#fff; border-right:1px solid #e2e9e5; font-size:9px; color:#78877c; }.dm-doc-layout>aside .is-active { color:#30724d; }.dm-doc-layout>aside>div { border-top:1px solid #e6ede8; padding-top:11px; font-size:8px; color:#3d7251; }.dm-doc-layout>aside small { display:block; color:#8c978f; margin:4px 0 0 18px; font-size:6px; }.dm-doc-layout .hm-icon { width:11px; height:11px; margin-right:5px; }
.dm-paper { margin:11px 17px; padding:13px 18px; border:1px solid #e3e9e5; background:#fff; }.dm-paper>small { font-size:5px; letter-spacing:.14em!important; color:#7b8d80; }.dm-paper>strong { display:block; font:500 21px/1.3 Georgia,serif!important; margin-top:3px; }.dm-paper>p { font-size:7px; color:#87938b; line-height:1.6; margin:3px 0 6px; }.dm-paper>hr { margin:8px 0; }.dm-paper>b { font-size:8px; }.dm-sign-row { display:flex; justify-content:space-between; align-items:center; border-top:1px solid #e6ece8; margin-top:9px; padding-top:8px; font-size:6px; }.dm-sign-row>span>small { display:block; font-size:5px; color:#849087; }.dm-signature { width:104px; height:28px; fill:none; stroke:#274936; stroke-width:1.5; stroke-linecap:round; }.dm-sign-row .dm-signature { display:block; height:21px; width:83px; }.dm-signed { color:#337752; }.dm-signed .hm-icon { width:10px; height:10px; }
/* Contact, email and messaging tools. */
.dm-profile { display:grid; grid-template-columns:156px 1fr; height:233px; }.dm-profile>aside { padding:18px 10px; display:flex; flex-direction:column; align-items:center; border-right:1px solid #e7ece8; background:#fcfdfc; }.dm-profile>aside>.hm-avatar { width:44px; height:44px; font-size:16px; }.dm-profile>aside>strong { font-size:15px; margin:7px 0 6px; }.dm-profile>aside>small { margin-top:9px; font-size:8px; color:#839187; }.dm-profile>aside>p { font-size:8px; color:#839187; margin-top:4px; }.dm-profile>aside>div { display:flex; gap:20px; color:#6b8373; margin:15px 0; }.dm-profile>aside>b { font-size:7px; color:#85958a; }.dm-profile>aside>span:last-child { font-size:9px; margin-top:3px; }
.dm-activity { padding:0 14px; }.dm-mini-tabs { display:flex; gap:25px; height:42px; align-items:center; border-bottom:1px solid #e6ece7; font-size:9px; color:#8b978f; }.dm-mini-tabs>b { color:#347f57; }.dm-activity-row { display:flex; gap:9px; align-items:center; padding:18px 0; border-bottom:1px solid #edf1ee; }.dm-activity-row>i { width:27px; height:27px; display:grid; place-items:center; border:1px solid #dfeae3; background:#f0f7f2; border-radius:7px; color:#3d8056; }.dm-activity-row b { display:block; font-size:10px; }.dm-activity-row small { display:block; color:#86948a; font-size:8px; margin-top:3px; }.dm-activity-row>em { font-size:7px; color:#9aa49d; margin-left:auto; }
.dm-email-builder { display:grid; grid-template-columns:115px 1fr; height:207px; background:#f1f5f2; }.dm-email-builder>aside>b { font-size:7px; letter-spacing:.06em!important; }.dm-email-builder>aside>span { padding:7px; border:1px solid #e3e9e5; border-radius:4px; font-size:9px; }.dm-email-builder>aside>small { font-size:6px; line-height:1.6; margin-top:3px; }.dm-email-paper { width:246px; margin:10px auto; border:1px solid #e3e8e5; padding:10px; background:#fff; }.dm-email-paper>small { font-size:6px; letter-spacing:.12em!important; display:block; text-align:center; color:#2b6546; }.dm-email-paper>.dm-photo { height:58px; margin:9px 0 7px; object-position:center 38%; }.dm-email-paper>strong { display:block; font:500 17px/1.15 Georgia,serif!important; color:#2b5039; }.dm-email-paper>p { font-size:6px; color:#869188; margin:5px 0 7px; }.dm-email-paper .dm-btn { font-size:6px; padding:5px 8px; }
.dm-scene .dm-sms-app { width:430px; top:27px; height:294px; }.dm-sms-log { padding:13px 14px; max-width:260px; }.dm-sms-log>div { display:flex; gap:9px; align-items:center; padding-bottom:15px; border-bottom:1px solid #e5ebe7; }.dm-sms-log b { font-size:12px; }.dm-sms-log small { display:block; font-size:8px; margin-top:4px; color:#7c8b81; }.dm-sms-log>p { font-size:10px; color:#53745e; margin-top:20px; }.dm-sms-log .hm-icon { margin-right:6px; width:13px; height:13px; }.dm-sms-phone { left:348px; top:8px; transform:scale(.69) rotate(3deg); transform-origin:top left; }
.dm-site { position:absolute; left:7px; top:20px; width:495px; height:310px; border:1px solid #dce5de; border-radius:10px; overflow:hidden; background:#f8faf7; box-shadow:0 20px 35px #0005; }.dm-site>div:first-child { display:flex; justify-content:space-between; padding:15px; background:#fff; color:#31563e; font-size:8px; }.dm-site>div:first-child>b { letter-spacing:.1em!important; }.dm-site>.dm-photo { height:145px; object-position:center 35%; }.dm-site>.dm-site-copy { position:absolute; top:90px; left:20px; width:220px; padding:18px; border-radius:5px; background:#fff; box-shadow:0 7px 12px #0001; }.dm-site .dm-site-copy>small { font-size:5px; letter-spacing:.09em!important; color:#7f9385; }.dm-site .dm-site-copy>strong { display:block; font:500 30px/1 Georgia,serif!important; letter-spacing:-.05em!important; margin:9px 0 16px; color:#274c35; }.dm-site .dm-site-copy .dm-btn { font-size:7px; }
.dm-chat-widget { position:absolute; left:319px; top:110px; width:230px; border:1px solid #dbe4de; border-radius:12px; overflow:hidden; background:#fff; box-shadow:0 15px 30px #0005; }.dm-chat-widget>header { display:flex; gap:8px; align-items:center; padding:13px; background:#2e6b4c; color:#fff; }.dm-chat-widget header b { display:block; font-size:11px; }.dm-chat-widget header small { display:block; color:#c2ddcd; font-size:7px; margin-top:3px; }.dm-chat-widget header>i { margin-left:auto; }.dm-chat-widget>p { padding:8px 10px; border-radius:7px 7px 7px 2px; background:#f0f3f1; font-size:9px; line-height:1.5; margin:14px 13px; max-width:165px; }.dm-chat-widget>p:nth-of-type(2) { background:#e3f0e8; color:#3a674b; margin-left:auto; margin-bottom:22px; }.dm-chat-widget>footer { display:flex; justify-content:space-between; border-top:1px solid #e8edea; padding:11px; color:#929d95; font-size:8px; }.dm-chat-widget footer .hm-icon { width:12px; height:12px; color:#3e8a63; }
.dm-social-days { display:grid; grid-template-columns:repeat(5,1fr); padding:8px 10px; font-size:7px; color:#8b9690; border-bottom:1px solid #e3ebe5; }.dm-social-calendar { display:grid; grid-template-columns:repeat(5,1fr); margin:0 9px; }.dm-social-calendar>div { height:84px; padding:6px 4px; border-right:1px solid #e4ebe6; border-bottom:1px solid #e4ebe6; }.dm-social-calendar small { display:block; font-size:7px; color:#9aa59d; }.dm-social-calendar b { display:block; margin-top:7px; padding:7px 5px; background:#e9f3ec; border-left:2px solid #589772; border-radius:3px; font-size:7px; line-height:1.5; color:#3c7250; }.dm-social-calendar b>span { display:block; font-size:5px; color:#7e9384; margin-top:3px; }.dm-social-calendar .dm-post--photo { padding:0 4px 3px; background:#f1f5f3; border-color:#a5b8ac; }.dm-post--photo .dm-photo { height:28px; margin:0 -4px 3px; width:calc(100% + 8px); }
.dm-messenger { display:grid; grid-template-columns:190px 1fr; height:233px; }.dm-messenger>aside { border-right:1px solid #e4ebe5; }.dm-messenger>aside>b { display:block; padding:12px; font-size:11px; }.dm-messenger>aside>b>em { color:#819188; margin-left:5px; font-size:9px; }.dm-messenger aside>div { display:flex; align-items:center; gap:7px; padding:13px 9px; border-bottom:1px solid #edf1ee; }.dm-messenger aside>div.is-active { background:#edf5ef; border-left:2px solid #3e8a63; padding-left:7px; }.dm-messenger aside b { font-size:9px; }.dm-messenger aside small { display:block; font-size:7px; color:#8e9b92; margin-top:3px; }.dm-messenger aside i { margin-left:auto; width:16px; height:16px; border-radius:5px; background:#e4edfb; color:#547fba; display:grid; place-items:center; font-size:10px; }.dm-message-thread { padding:0 12px; position:relative; }.dm-message-thread header { margin:0 -12px; padding:12px; border-bottom:1px solid #e6ede7; }.dm-message-thread header b { display:block; font-size:11px; }.dm-message-thread header small { display:block; font-size:7px; color:#86968b; margin-top:3px; }.dm-message-thread>small { display:block; margin:12px 0; text-align:center; font-size:7px; color:#a1aca4; }.dm-message-thread>p { background:#eff3f0; border-radius:6px 6px 6px 2px; padding:9px 11px; font-size:11px; max-width:190px; margin:10px 0; }.dm-message-thread>p.is-out { margin-left:auto; background:#e4f1e8; color:#3c694c; border-radius:6px 6px 2px 6px; }.dm-message-thread>footer { position:absolute; left:12px; right:12px; bottom:12px; border:1px solid #dfe7e1; border-radius:6px; padding:9px; color:#9da9a0; font-size:8px; display:flex; justify-content:space-between; }
.dm-mobile-back { left:115px; top:9px; transform:scale(.67) rotate(-5deg); transform-origin:top left; }.dm-mobile-front { left:288px; top:20px; transform:scale(.67) rotate(4deg); transform-origin:top left; }.dm-mobile-head { padding:15px 15px 12px; }.dm-mobile-head>small { font-size:9px; color:#8c9990; display:block; }.dm-mobile-head>strong { display:block; font-size:24px; margin-top:4px; letter-spacing:-.05em; }.dm-mobile-contact { display:flex; align-items:center; gap:9px; padding:17px 10px; border-bottom:1px solid #e6ece8; }.dm-mobile-contact .hm-avatar { width:34px; height:34px; font-size:12px; }.dm-mobile-contact b { font-size:11px; }.dm-mobile-contact small { display:block; font-size:8px; color:#8b9990; margin-top:4px; }.dm-mobile-contact em { margin-left:auto; font-size:7px; color:#9ca79f; }.dm-mobile-nav { position:absolute; bottom:22px; left:22px; right:22px; display:flex; justify-content:space-between; padding-top:11px; border-top:1px solid #e5eae6; color:#809487; }.dm-mobile-nav .hm-icon { width:20px; height:20px; }.dm-mobile-nav .hm-icon:nth-child(2) { color:#347f57; }.dm-mobile-days { display:flex; justify-content:space-between; padding:5px 20px 16px; font-size:11px; text-align:center; line-height:1.8; color:#84948a; }.dm-mobile-days>b { border-radius:16px; padding:3px 8px; background:#347f57; color:#fff; margin-top:-3px; }.dm-mobile-event { margin:11px 14px; padding:13px; border-left:3px solid #6ba17f; border-radius:6px; background:#ecf5ef; }.dm-mobile-event>small { font-size:10px; color:#6c8874; display:block; }.dm-mobile-event>b { display:block; font-size:13px; margin-top:5px; }.dm-mobile-event>span { display:block; font-size:9px; color:#809487; margin-top:6px; }
/* Booking page, course portal and ecommerce. */
.dm-booking-window { position:absolute; top:28px; left:7px; width:546px; overflow:hidden; border:1px solid #dbe5de; border-radius:11px; box-shadow:0 20px 45px #0006; background:#fff; }.dm-booking-bar { display:flex; justify-content:space-between; align-items:center; height:42px; padding:0 17px; border-bottom:1px solid #e8eeea; font-size:11px; }.dm-booking-bar>b { color:#28533b; }.dm-booking-bar>span { display:flex; align-items:center; gap:5px; color:#8a998f; font-size:7px; }.dm-booking-bar .hm-icon { width:10px; height:10px; }.dm-booking-body { display:grid; grid-template-columns:158px 1fr 107px; min-height:253px; }.dm-booking-body>aside { padding:17px 15px; border-right:1px solid #e7ede8; }.dm-booking-brand { display:grid; place-items:center; width:30px; height:30px; border-radius:8px; color:#fff; background:#315d43; font:500 22px/1 Georgia,serif!important; margin-bottom:12px; }.dm-booking-body aside>small { color:#8a9a90; font-size:7px; display:block; }.dm-booking-body aside>strong { display:block; font-size:20px; line-height:1.2; letter-spacing:-.04em; margin:6px 0 18px; }.dm-booking-body aside>p { display:flex; align-items:center; gap:5px; font-size:8px; color:#8a9a90; margin:10px 0; }.dm-booking-body aside .hm-icon { width:12px; height:12px; }.dm-booking-body aside>div { border-top:1px solid #e7ede8; padding-top:13px; margin-top:19px; display:flex; justify-content:space-between; align-items:center; }.dm-booking-body aside>div>small { font-size:8px; color:#8a9a90; }.dm-booking-body aside>div>b { font-size:14px; }
.dm-booking-calendar { padding:23px 14px; }.dm-booking-calendar>header { display:flex; justify-content:space-between; font-size:12px; color:#486150; margin-bottom:18px; }.dm-cal-days { display:grid; grid-template-columns:repeat(7,1fr); gap:7px 4px; text-align:center; align-items:center; font-size:10px; }.dm-cal-days>b { font-size:7px; color:#9ba99f; padding-bottom:6px; }.dm-cal-days>span { height:23px; width:23px; display:grid; place-items:center; color:#bdc6bf; border-radius:50%; }.dm-cal-days .is-open { background:#f0f6f2; color:#668b72; }.dm-cal-days .is-picked { background:#347f57; color:#fff; box-shadow:0 0 0 3px #e5f0e8; }.dm-booking-calendar>small { color:#9aa99e; display:block; margin-top:20px; font-size:7px; }.dm-booking-times { border-left:1px solid #e7ede8; padding:25px 11px; }.dm-booking-times>b { font-size:8px; display:block; margin-bottom:16px; }.dm-booking-times>span { display:block; text-align:center; border:1px solid #dce7df; color:#5c7d66; border-radius:5px; padding:8px 5px; margin:7px 0; font-size:9px; }.dm-booking-times>span.is-picked { border-color:#3e8a63; background:#edf6ef; color:#2d6846; }.dm-booking-times .dm-btn { font-size:8px; padding:9px 5px; margin-top:12px; color:#fff; background:#347f57; }.dm-system-booking .dm-booking-window { top:29px; }.dm-system-booking .dm-booking-body { min-height:330px; }.dm-system-booking .dm-booking-calendar { padding-top:34px; }.dm-system-booking .dm-cal-days { gap:10px 4px; }.dm-system-booking .dm-booking-times { padding-top:37px; }
.dm-system-assistant .dm-app { top:12px; height:396px; }.dm-workflow { position:relative; height:270px; background-color:#f8fafb; background-image:radial-gradient(#d9e2dd .7px,transparent .8px); background-size:14px 14px; display:flex; flex-direction:column; align-items:center; padding-top:13px; gap:17px; }.dm-workflow::before { content:''; position:absolute; top:20px; bottom:15px; width:1px; background:#bfd1c5; }.dm-workflow-node { position:relative; display:flex; align-items:center; gap:12px; width:308px; padding:9px 12px; border:1px solid #dce6df; border-radius:7px; background:#fff; box-shadow:0 3px 6px #2947310d; min-height:45px; }.dm-workflow-node>i { display:grid; place-items:center; width:28px; height:28px; background:#eaf3ed; color:#478360; border-radius:6px; }.dm-workflow-node>span>small { display:block; font-size:6px; color:#8a9990; letter-spacing:.06em!important; margin-bottom:2px; }.dm-workflow-node>span>b { font-size:11px; }.dm-workflow-node>.hm-icon { margin-left:auto; width:13px; height:13px; color:#6b9c7c; }
.dm-course-window { position:absolute; left:6px; top:29px; width:548px; height:363px; border-radius:12px; border:1px solid #dfe7e1; overflow:hidden; background:#fff; box-shadow:0 22px 50px #0006; }.dm-course-nav { display:flex; align-items:center; justify-content:space-between; height:47px; padding:0 19px; border-bottom:1px solid #e7ece8; }.dm-course-nav>b { font-size:10px; letter-spacing:.11em!important; color:#31583f; }.dm-course-nav>span { display:flex; align-items:center; gap:13px; font-size:8px; color:#8c9a90; }.dm-course-nav .hm-avatar { width:22px; height:22px; font-size:7px; }.dm-course-body { display:grid; grid-template-columns:1fr 187px; height:316px; }.dm-lesson { padding:19px; }.dm-lesson>small { font-size:6px; letter-spacing:.06em!important; color:#8e9f92; }.dm-lesson-player { position:relative; height:160px; margin:11px 0 13px; background:#151d18; border-radius:6px; overflow:hidden; }.dm-lesson-player>.dm-photo { opacity:.86; }.dm-lesson-player>span { position:absolute; top:50%; left:50%; margin:-16px; width:32px; height:32px; border-radius:50%; background:#fffe; color:#315f44; font-size:13px; display:grid; place-items:center; box-shadow:0 2px 8px #0003; }.dm-lesson-player>footer { position:absolute; bottom:8px; left:11px; right:11px; display:flex; gap:7px; align-items:center; }.dm-lesson-player footer>i { flex:1; height:2px; background:linear-gradient(90deg,#dcece2 28%,#fff5 28%); }.dm-lesson-player footer>b { font-size:5px; color:#fff; }.dm-lesson>strong { display:block; font-size:14px; letter-spacing:-.02em; }.dm-lesson>p { margin:6px 0 12px; font-size:7px; color:#8c9c90; }.dm-lesson .dm-btn { font-size:7px; padding:7px 9px; }.dm-course-body>aside { padding:23px 15px; border-left:1px solid #e5ece7; background:#fcfdfc; }.dm-course-body>aside>b { display:block; font-size:12px; }.dm-course-body>aside>small { font-size:8px; display:block; color:#8c9c90; margin-top:6px; }.dm-progress { height:4px; background:#e5eee7; border-radius:4px; margin:11px 0 17px; overflow:hidden; }.dm-progress>i { display:block; width:38%; height:100%; background:#528b65; }.dm-lesson-row { display:flex; align-items:center; gap:7px; padding:13px 0; border-bottom:1px solid #e8eeea; }.dm-lesson-row .hm-icon { width:12px; height:12px; color:#82a18c; }.dm-lesson-row b { font-size:8px; line-height:1.4; }.dm-lesson-row small { display:block; font-size:6px; color:#9caaa0; margin-top:3px; }.dm-lesson-row.is-active { color:#347f57; }.dm-course-body aside>footer { font-size:8px; display:flex; justify-content:space-between; color:#819387; margin-top:16px; }.dm-course-body aside>footer>b { font-size:6px; color:#9caaa0; }
.dm-shop-window { position:absolute; top:22px; left:6px; width:548px; height:374px; border:1px solid #dce6df; border-radius:12px; overflow:hidden; background:#fff; box-shadow:0 22px 50px #0005; }.dm-shop-window>header { height:45px; display:flex; align-items:center; gap:25px; padding:0 22px; border-bottom:1px solid #e7eee9; }.dm-shop-window header>b { font:500 22px/1 Georgia,serif!important; letter-spacing:.13em!important; color:#3b5a45; }.dm-shop-window header>span { font-size:8px; color:#819687; margin-left:auto; }.dm-shop-window header>em { font-size:8px; color:#3b5a45; }.dm-shop-heading { padding:18px 22px 13px; }.dm-shop-heading>small { display:block; font-size:6px; color:#9bab9f; letter-spacing:.13em!important; }.dm-shop-heading>strong { display:block; font:500 28px/1 Georgia,serif!important; letter-spacing:-.04em!important; color:#385b43; margin-top:7px; }.dm-product-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; padding:0 22px; }.dm-product-photo { height:139px; border-radius:6px; background-image:url('/img/drivenos-media/products.webp'); background-size:300% 100%; background-repeat:no-repeat; background-color:#f1f5f1; }.dm-product-photo--serum { background-position:0 50%; }.dm-product-photo--spf { background-position:50% 50%; }.dm-product-photo--gift { background-position:100% 50%; }.dm-product>b { display:block; font-size:10px; color:#4c6954; margin-top:10px; }.dm-product>span { display:block; font-size:13px; margin-top:4px; color:#4c6954; }.dm-product>em { display:block; border:1px solid #b9cec0; color:#5b7d65; border-radius:4px; padding:7px; font-size:7px; margin-top:9px; text-align:center; }.dm-cart { position:absolute; top:237px; left:337px; width:210px; background:#fff; border:1px solid #d7e4dc; border-radius:9px; box-shadow:0 17px 35px #0003; padding:14px 16px; }.dm-cart>header { display:flex; justify-content:space-between; font-size:12px; padding-bottom:10px; border-bottom:1px solid #e7eee9; color:#45674e; }.dm-cart>header>span { font-size:14px; color:#97a79c; }.dm-cart>div { display:flex; justify-content:space-between; font-size:8px; color:#809688; margin:10px 0; }.dm-cart>footer { display:flex; justify-content:space-between; border-top:1px solid #e6eee8; margin-top:11px; padding-top:10px; font-size:10px; color:#52745d; }.dm-cart>.dm-btn { display:flex; margin-top:12px; width:100%; font-size:8px; padding:8px; }
.dm-scene .dm-marketing-app { top:27px; left:85px; width:468px; height:348px; }.dm-post-editor { display:grid; grid-template-columns:1fr 130px; height:224px; }.dm-post-editor>div { padding:14px; border-right:1px solid #e4ece6; }.dm-post-editor>div>small { font-size:6px; color:#93a398; display:block; }.dm-post-editor>div>b { display:block; font-size:9px; margin-top:6px; }.dm-post-editor>div>b>i { display:inline-grid; place-items:center; width:17px; height:17px; margin-right:6px; background:#e6eefb; color:#4b7dba; border-radius:4px; }.dm-post-editor>div>p { font-size:8px; color:#8d9c91; line-height:1.6; margin:11px 0; }.dm-post-editor>div>.dm-photo { height:92px; object-position:center 35%; border-radius:5px; }.dm-post-editor>div>footer { font-size:6px; color:#9bab9e; margin-top:8px; }.dm-post-editor>aside { padding:23px 12px; }.dm-post-editor>aside>small { display:block; font-size:5px; color:#93a398; letter-spacing:.05em!important; }.dm-post-editor>aside>strong { display:block; font-size:40px; letter-spacing:-.07em; margin-top:14px; color:#315f41; }.dm-post-editor>aside>span { font-size:8px; color:#819789; display:block; margin:0 0 20px; }.dm-post-editor>aside>b { display:block; font-size:10px; margin-top:15px; }.dm-post-editor>aside>p { font-size:7px; color:#9bad9f; margin:7px 0 12px; }.dm-marketing-phone { left:9px; top:94px; transform:scale(.65) rotate(-4deg); transform-origin:top left; }
/* Tour stories: an action followed by the useful result. */
.dm-tour-capture .dm-booking-window { top:14px; }.dm-tour-capture .dm-booking-body { min-height:301px; }.dm-tour-capture .dm-booking-calendar { padding-top:24px; }.dm-booked { position:absolute; left:337px; top:142px; width:207px; padding:21px 17px; background:#fff; border:1px solid #d5e6da; border-radius:10px; box-shadow:0 15px 40px #0004; text-align:center; }.dm-booked>strong { display:block; font-size:23px; letter-spacing:-.04em; color:#2a6241; }.dm-booked>p { font-size:10px; color:#8b9e91; margin:4px 0 15px; }.dm-booked>b { font-size:12px; color:#4d7259; line-height:1.7; }.dm-booked>small { display:block; color:#8fa495; font-size:7px; line-height:1.7; margin-top:12px; }
.dm-nurture { display:grid; grid-template-columns:147px 1fr; height:233px; }.dm-nurture>aside { padding:16px 11px; border-right:1px solid #e4ece6; display:flex; flex-direction:column; align-items:center; text-align:center; }.dm-nurture aside>.hm-avatar { width:38px; height:38px; font-size:13px; }.dm-nurture aside>b { margin:9px 0 7px; font-size:12px; }.dm-nurture aside>span:not(.hm-avatar) { font-size:8px; color:#73957e; margin-top:16px; }.dm-nurture aside .hm-icon { width:12px; height:12px; }.dm-nurture aside>small { display:block; font-size:7px; color:#9aac9e; margin-top:5px; }.dm-nurture aside>hr { margin:14px 0 0; }.dm-nurture aside>b:last-of-type { font-size:8px; color:#6e8d78; }.dm-nurture-thread { padding:10px 14px; }.dm-nurture-thread>p { font-size:9px; line-height:1.5; padding:7px 9px; max-width:236px; border-radius:6px 6px 6px 2px; background:#f0f4f1; margin-bottom:9px; }.dm-nurture-thread>p.is-out { background:#e7f3ea; color:#416c4e; border-radius:6px 6px 2px 6px; margin-left:auto; }.dm-nurture-thread p>small { display:block; font-size:5px; color:#98a99d; margin-top:4px; }
.dm-scene .dm-close-app { width:398px; }.dm-close-app .hm-head-tools>.hm-icon { display:none; }.dm-close-doc { padding:16px 23px; max-width:265px; }.dm-close-doc>small { font-size:6px; color:#96a69b; letter-spacing:.05em!important; }.dm-close-doc>strong { display:block; font:500 25px/1.1 Georgia,serif!important; margin:8px 0; color:#456b51; }.dm-close-doc>p { font-size:8px; color:#9aad9e; }.dm-close-doc>div { display:flex; justify-content:space-between; border-top:1px solid #e6eee8; padding-top:15px; margin-top:16px; font-size:9px; }.dm-close-doc .dm-close-sign { flex-direction:column; gap:4px; margin-top:12px; padding-top:8px; }.dm-close-sign>span { color:#4f8b61; font-size:7px; }.dm-close-sign .hm-icon { width:10px; height:10px; }.dm-close-sign>.dm-signature { height:32px; width:120px; }
.dm-checkout { position:absolute; left:335px; top:43px; width:217px; height:291px; border:1px solid #d6e3db; border-radius:12px; padding:22px 19px; background:#fff; box-shadow:0 20px 40px #0004; }.dm-checkout>small { display:block; font-size:6px; color:#8d9e93; letter-spacing:.07em!important; }.dm-checkout>strong { display:block; font-size:33px; letter-spacing:-.05em; margin-top:9px; }.dm-checkout>span { display:block; font-size:8px; color:#8ea094; margin-top:3px; }.dm-checkout>b { display:block; font-size:8px; margin-top:19px; color:#83968a; }.dm-checkout>div:not(.dm-payment-done) { border:1px solid #dfe9e2; border-radius:5px; margin-top:6px; padding:8px; font-size:8px; color:#8a9c90; display:flex; justify-content:space-between; }.dm-checkout>div>i { font-size:6px; color:#4c70a7; }.dm-checkout>.dm-btn { width:100%; display:flex; margin-top:16px; padding:10px; font-size:9px; }.dm-checkout>footer { display:flex; justify-content:center; align-items:center; gap:5px; margin-top:10px; font-size:6px; color:#a0aea4; }.dm-checkout>footer .hm-icon { width:9px; height:9px; }.dm-payment-done { position:absolute; inset:0; border-radius:11px; background:#fff; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }.dm-payment-done>.dm-success { width:49px; height:49px; }.dm-payment-done>strong { font-size:17px; color:#336d47; margin:9px 0; }.dm-payment-done>b { font-size:29px; margin-bottom:16px; letter-spacing:-.04em; }.dm-payment-done>small { font-size:8px; color:#8c9e91; }
.dm-review-job { display:flex; align-items:center; gap:10px; margin:16px; border:1px solid #e2ebe5; padding:13px; border-radius:7px; }.dm-review-job b { display:block; font-size:11px; }.dm-review-job small { display:block; font-size:8px; color:#93a69a; margin-top:4px; }.dm-review-job .dm-chip { margin-left:auto; }.dm-google-card { position:absolute; top:175px; left:148px; width:360px; padding:16px 20px; border:1px solid #dbe6df; border-radius:11px; background:#fff; box-shadow:0 16px 35px #0004; transform:rotate(-2deg); }.dm-google-card>header { display:flex; align-items:center; gap:10px; }.dm-google-card header b { font-size:12px; }.dm-google-card header small { display:block; color:#95a49b; font-size:8px; }.dm-google-card header>strong { margin-left:auto; font-size:27px; }.dm-google-card>div { color:#e6a93c; font-size:17px; letter-spacing:2px!important; margin:9px 0; }.dm-google-card>div>small { font-size:7px; letter-spacing:0!important; color:#9aaba0; margin-left:5px; }.dm-google-card>p { font-size:12px; line-height:1.6; color:#667d6c; }.dm-google-card>footer { display:flex; align-items:center; gap:5px; font-size:8px; color:#6b9a7a; margin-top:12px; }.dm-google-card footer .hm-icon { width:11px; height:11px; }
.dm-campaign { display:grid; grid-template-columns:1.4fr 1fr; padding:14px; gap:19px; }.dm-campaign-message { padding:12px; border:1px solid #e3ece6; border-radius:7px; }.dm-campaign-message>small { font-size:6px; letter-spacing:.07em!important; color:#96a99b; }.dm-campaign-message>b { display:block; font-size:12px; line-height:1.4; margin-top:5px; }.dm-campaign-message>span { font-size:7px; color:#90a498; display:block; margin-top:4px; }.dm-campaign-message>p { margin:14px 0 13px; font-size:10px; line-height:1.7; color:#698270; }.dm-campaign-message>.dm-btn { font-size:8px; }.dm-campaign-results { display:grid; grid-template-columns:repeat(3,1fr); align-content:start; gap:13px 8px; padding-top:11px; }.dm-campaign-results>div>small { display:block; font-size:7px; color:#96ab9c; }.dm-campaign-results strong { display:block; font-size:26px; letter-spacing:-.05em; margin-top:6px; color:#335e42; }.dm-campaign-results i { display:block; height:86px; margin-top:16px; border-radius:3px 3px 0 0; background:#c2dfcc; }.dm-campaign-results>div:nth-child(2)>i { height:53px; margin-top:49px; background:#85b596; }.dm-campaign-results>div:nth-child(3)>i { height:15px; margin-top:87px; background:#3e8a63; }.dm-campaign-results>footer { grid-column:1/-1; display:flex; align-items:center; gap:6px; padding:10px; border-radius:5px; background:#eaf5ee; color:#447f56; font-size:8px; }.dm-campaign-results footer .hm-icon { width:12px; height:12px; }
/* Preserve existing outer dimensions and the row/tab/carousel/timeline behavior. */
.v3-page .v3-ways__scene:has([data-dm]),.v3-page .v3-tool__art:has([data-dm]),.v3-page .ez-art:has([data-dm]) { background:radial-gradient(ellipse at 50% 65%,#27392d66,transparent 75%),#0d1110; }
.v3-page .v3-tool__art:has([data-dm]) { border-radius:10px; }
.v3-page .ez-art:has([data-dm]) { border-color:#ffffff0b; }
.v3-page .ez-art .dm-fit { inset:auto; left:50%; top:50%; color:#20252b; }
.v3-page .ez-art .dm-scene { color:#20252b; font:400 14px/1.45 Inter,Arial,sans-serif; }

.v3-tour.is-keyboard .v3-tour__panel { transition:none; }

.dm-email-builder>aside { gap:8px; }

/* Final content-fit adjustments within the unchanged artwork frames. */
.dm-course-body>aside { padding:18px 13px; }
.dm-lesson-row { padding:10px 0; }
.dm-course-body aside>footer { margin-top:10px; }
.dm-tour-capture .dm-booking-window { top:10px; }
.dm-tour-capture .dm-booking-body { min-height:285px; }
.dm-booked { top:111px; }
.dm-rating-stars { color:#e0a137; font-size:12px; letter-spacing:1px!important; vertical-align:middle; }
.dm-metrics .dm-metric-unit { display:inline; font-size:9px; color:#8d9e92; letter-spacing:0!important; font-weight:400; }
.dm-campaign { padding-top:10px; padding-bottom:10px; }
.dm-campaign-message { padding:10px; }
.dm-campaign-message>p { font-size:9px; line-height:1.55; margin:11px 0; }
.dm-campaign-message>.dm-btn { font-size:7px; padding:6px 9px; }
.dm-campaign-results i { height:64px; }
.dm-campaign-results>div:nth-child(2)>i { height:39px; margin-top:41px; }
.dm-campaign-results>div:nth-child(3)>i { height:11px; margin-top:69px; }
.dm-campaign-results>footer { padding:7px; font-size:7px; }

.dm-tool-invoices .dm-tr:not(.dm-th) { min-height:33px; }
.dm-lesson-row { padding:9px 0; }

/* Completed artwork is an invariant for OS reduced motion and keyboard tab changes. */
@media(prefers-reduced-motion:reduce) { .dm-scene [class*="dm-reveal-"] { opacity:1!important; transform:none!important; } }
.v3-tour.is-keyboard .v3-tour__panel.is-active [class*="dm-reveal-"] { opacity:1!important; transform:none!important; }
