/* Natural photo frames; no crop of Michael's face or body. */
img.moc-editorial-photo{display:block;width:100%;height:auto!important;max-height:none!important;aspect-ratio:var(--moc-photo-ratio)!important;object-fit:contain!important;object-position:center!important}
.moc-personal-about>.moc-container>img.moc-editorial-photo{max-width:370px;justify-self:center}
.moc-founder .moc-about-photo{display:grid;place-items:center;background:radial-gradient(ellipse,#3b505644,transparent 75%);border-radius:20px}
.moc-founder .moc-about-photo>img.moc-editorial-photo{max-width:350px}
.moc-sales-intro .moc-hero-visual{height:auto!important;min-height:0!important}
.moc-site .moc-sales-intro .moc-hero-visual>img.moc-editorial-photo{border-radius:17px 17px 0 0}
.moc-sales-intro .moc-photo-caption{position:relative;inset:auto;bottom:auto;transform:none;width:100%;max-width:none;margin:0;padding:20px 24px;background:#223036;border-top:1px solid #a4d9e01a;border-radius:0 0 17px 17px}
.moc-care-contact{grid-template-columns:1fr 150px;gap:24px;align-items:center}
.moc-site .moc-care-contact>img.moc-editorial-photo{width:150px;border:1px solid #a4d9e033;border-radius:16px}
.problem__bild:has(>img.moc-editorial-photo){display:grid;align-content:center;background:#e6edef}
/* One continuous surface under the image: no compositing seam on hover. */
.moc-personal-entry .moc-choice-card{background:#223036;border-color:#8eb8c333;border-top:1px solid #8eb8c333;border-radius:22px}
.moc-personal-entry .moc-choice-photo{background:#223036;flex:none;isolation:isolate}
.moc-personal-entry .moc-choice-photo:after{inset:0 0 -1px;background:linear-gradient(180deg,transparent 42%,#223036 100%);pointer-events:none;z-index:1}
.moc-site .moc-personal-entry .moc-choice-photo img{display:block;backface-visibility:hidden;transform:scale(1.001);transition:transform .85s cubic-bezier(.22,.61,.36,1)}
.moc-personal-entry .moc-choice-card:hover .moc-choice-photo img{transform:scale(1.035)}
.moc-personal-entry .moc-choice-copy{position:relative;margin-top:-1px;background:#223036;padding-top:29px}
.moc-personal-entry .moc-choice-card:hover{border-color:#9fd3dd77;box-shadow:0 18px 60px #050e1333}
/* A quiet, recognisable MOC signature repeated through the dark sections. */
.moc-personal-care,.moc-personal-process,.moc-personal-faq,.moc-sales-band{position:relative;isolation:isolate}
.moc-personal-care:before,.moc-personal-process:before,.moc-personal-faq:before,.moc-sales-band:before{content:'';position:absolute;inset:0;z-index:-1;background:url('/assets/img/moc-signature-pattern.svg') center/180px 106px repeat;opacity:.065;mask-image:radial-gradient(ellipse at 50% 45%,#000 5%,transparent 80%);pointer-events:none}
.moc-personal-process{background:radial-gradient(ellipse at 30% 65%,#2c69754d,transparent 65%),#192126}
.moc-care-grid{gap:24px}.moc-care-card{background:radial-gradient(ellipse at 0 0,#44656b44,transparent 75%),#242f34;border:1px solid #a4d9e02b;box-shadow:inset 0 1px #d6f6fa0a;min-height:350px}
.moc-care-card:hover{border-color:#9bcad45c;box-shadow:inset 0 1px #d6f6fa16,0 18px 45px #06121733}
.moc-care-contact{min-height:350px}.moc-care-number{color:#b0dfe6;letter-spacing:.11em;font-size:10px}
.moc-care-card h3{font-weight:400;font-size:28px;letter-spacing:-.02em}
.moc-care-feedback .moc-care-detail{margin-top:12px;margin-bottom:0}
.moc-care-illustration{height:165px;position:relative;display:grid;place-items:center;overflow:hidden;margin:18px 0 0;background:radial-gradient(ellipse,#80c4d615,transparent 70%);color:#a4d9e0}
.moc-care-illustration svg{display:block;width:min(100%,290px);height:190px;overflow:visible;stroke:#a4d9e0b3}
.moc-graphic-panel rect{fill:#2e4951b3;stroke:#a4d9e055}.moc-graphic-panel .moc-graphic-accent,.moc-graphic-accent{fill:#86c4d522;stroke:#bae8f2cc}
.moc-graphic-orbit{fill:none;stroke:#a4d9e01f;stroke-width:1}
.moc-graphic-route{fill:none;stroke:#a4d9e033;stroke-width:1.5}
.moc-graphic-pulse{fill:none;stroke:#c9f2fa;stroke-width:2;stroke-linecap:round;stroke-dasharray:20 480;stroke-dashoffset:500;opacity:0}
.moc-graphic-revealed .moc-graphic-pulse{animation:moc-graphic-transit 3.8s ease-in-out .15s both}
@keyframes moc-graphic-transit{0%{stroke-dashoffset:500;opacity:0}15%{opacity:.9}80%{opacity:.8}100%{stroke-dashoffset:-500;opacity:0}}
.moc-method-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:54px;align-items:center}
.moc-method-stage{position:relative;aspect-ratio:640/430;width:100%;border:1px solid #a4d9e029;border-radius:26px;overflow:hidden;background:radial-gradient(ellipse at 30% 50%,#416c7544,transparent 65%),linear-gradient(135deg,#2a393e99,#1a252a);box-shadow:inset 0 1px #cceef00d,0 24px 70px #09141933}
.moc-method-stage>svg{display:block;width:100%;height:auto;overflow:visible}
.moc-method-orb{fill:#27464ee6;stroke:#b9e7f05c;stroke-width:1.5}.moc-method-mark{fill:none;stroke:#d0f3f8;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.moc-method-hub{position:absolute;left:14%;top:68%;width:44%;display:grid;gap:4px;text-align:center}
.moc-method-hub>span{font-size:10px;color:#a0c9d2;text-transform:uppercase;letter-spacing:.09em}.moc-method-hub>strong{font-size:17px;color:#e9f6f8;font-weight:400}
.moc-method-node{position:absolute;left:67%;width:29%;min-height:19%;border:1px solid #a4d9e033;border-radius:13px;padding:12px 10px;background:linear-gradient(120deg,#35515beb,#23333ceb);box-shadow:inset 0 1px #b4dee412;display:grid;gap:5px}
.moc-method-node-1{top:10%}.moc-method-node-2{top:40%}.moc-method-node-3{top:70%}
.moc-method-node>span{font-size:8px;color:#a8dce5;text-transform:uppercase;letter-spacing:.07em;line-height:1.5}.moc-method-node>strong{font-size:15px;color:#e9f6f8;font-weight:400;line-height:1.4}.moc-method-node>small{font-size:9px;color:#b5cbd2;line-height:1.4}
.moc-method-caption{position:absolute;left:7%;bottom:6%;font-size:10px;color:#a4bfc7}
.moc-method-layout .moc-personal-flow{grid-template-columns:1fr;gap:23px;margin:0}
.moc-method-layout .moc-personal-flow li{border-top:0;border-left:1px solid #a4d9e033;padding:0 0 0 24px}
.moc-method-layout .moc-personal-flow li:before{display:none}.moc-method-layout .moc-flow-step{position:absolute;left:-14px;top:0;width:27px;height:27px;font-size:9px;margin:0;background:#244651;border-color:#87bdcb55}
.moc-method-layout .moc-personal-flow h3{font-size:20px;margin-bottom:7px;font-weight:400}.moc-method-layout .moc-personal-flow p{font-size:14px;margin:0;line-height:1.7}
/* Deliberate, readable shimmer rather than a rapid flash. */
.moc-site .moc-button:hover:before,.moc-site .moc-button:focus-visible:before,.moc-choice-card:hover .moc-choice-cta:before,.moc-choice-card:focus-visible .moc-choice-cta:before{animation-duration:1.25s;animation-timing-function:cubic-bezier(.33,0,.67,1)}
@media(max-width:1100px){.moc-method-layout{gap:35px;grid-template-columns:1fr 1fr}.moc-method-node>strong{font-size:12px}.moc-method-node>small{font-size:8px}.moc-method-node{padding:9px 8px}.moc-method-hub>strong{font-size:14px}.moc-care-contact{grid-template-columns:1fr 120px}.moc-site .moc-care-contact>img.moc-editorial-photo{width:120px}}
@media(max-width:950px){.moc-method-layout{grid-template-columns:1fr;gap:40px}.moc-method-stage{max-width:650px;margin:auto}.moc-method-layout .moc-personal-flow{grid-template-columns:1fr 1fr;gap:28px 34px;padding-left:14px}.moc-method-node>strong{font-size:16px}.moc-method-node>small{font-size:10px}.moc-method-node{padding:14px 12px}.moc-care-contact{grid-template-columns:1fr 170px}.moc-site .moc-care-contact>img.moc-editorial-photo{width:170px}}
@media(max-width:720px){.moc-personal-entry .moc-choice-copy{padding-top:24px}.moc-care-contact{display:grid;grid-template-columns:1fr 105px;gap:15px}.moc-site .moc-care-contact>img.moc-editorial-photo{width:105px;margin:0}.moc-care-contact h3{font-size:22px}.moc-care-contact p{font-size:14px}.moc-care-contact a{font-size:13px}.moc-care-card{min-height:0}.moc-care-illustration{height:150px;margin-top:10px}.moc-care-illustration svg{height:175px;width:240px}.moc-care-card h3{font-size:25px}.moc-method-layout .moc-personal-flow{grid-template-columns:1fr;gap:26px;padding-left:13px}.moc-method-stage{border-radius:17px;aspect-ratio:640/480}.moc-method-stage>svg{position:absolute;top:3%;width:100%;height:auto}.moc-method-node{left:62%;width:35%;padding:9px 7px;min-height:19%;gap:3px;border-radius:9px}.moc-method-node-1{top:10%}.moc-method-node-2{top:37%}.moc-method-node-3{top:64%}.moc-method-node>span{font-size:7px;letter-spacing:.02em}.moc-method-node>strong{font-size:12px}.moc-method-node>small{font-size:8px}.moc-method-hub{top:65%;left:8%;width:45%}.moc-method-hub>span{font-size:8px}.moc-method-hub>strong{font-size:13px}.moc-method-caption{left:7%;bottom:4%;font-size:8px;max-width:85%}.moc-site .moc-founder .moc-about-photo>img.moc-editorial-photo{max-width:290px}.moc-personal-about>.moc-container>img.moc-editorial-photo{max-width:320px}.moc-personal-process:before,.moc-personal-care:before,.moc-personal-faq:before{background-size:145px 85px;opacity:.045}}
@media(prefers-reduced-motion:reduce){.moc-graphic-pulse{animation:none!important;opacity:0}.moc-site .moc-personal-entry .moc-choice-photo img{transition:none!important;transform:none!important}}
.kachel:has(>img.moc-editorial-photo){aspect-ratio:3/2}
/* A restrained, recurring light sweep. Users can pause it, and it only runs in view. */
.moc-site .moc-button:not(.secondary),.moc-choice-cta{background:linear-gradient(115deg,#2f7b89,#1b5c6b);border:1px solid #bfeef136;box-shadow:inset 0 1px #e4fcff30,inset 0 -1px #071b222e,0 9px 26px #07171930;border-radius:11px;letter-spacing:.005em}
.moc-site .moc-button.secondary{box-shadow:inset 0 1px #e4fcff0d,0 9px 26px #07171916;backdrop-filter:blur(8px)}
.moc-site .moc-button:after,.moc-choice-cta:after{content:'';position:absolute;inset:-50% auto -50% 0;width:42%;background:linear-gradient(90deg,transparent,#dbf9ff26,transparent);transform:skewX(-22deg) translateX(-260%);pointer-events:none;z-index:-1;opacity:.9}
.moc-site .moc-button.moc-sheen-visible:after,.moc-choice-cta.moc-sheen-visible:after{animation:moc-ambient-sheen 7s cubic-bezier(.33,0,.67,1) infinite}
.moc-site .moc-button:hover:after,.moc-site .moc-button:focus-visible:after,.moc-choice-card:hover .moc-choice-cta:after,.moc-choice-card:focus-visible .moc-choice-cta:after{opacity:0}
@keyframes moc-ambient-sheen{0%,7%{transform:skewX(-22deg) translateX(-260%)}32%,100%{transform:skewX(-22deg) translateX(440%)}}
html[data-moc-motion="paused"] *,html[data-moc-motion="paused"] *:before,html[data-moc-motion="paused"] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html[data-moc-motion="paused"] .moc-button:before,html[data-moc-motion="paused"] .moc-button:after,html[data-moc-motion="paused"] .moc-choice-cta:before,html[data-moc-motion="paused"] .moc-choice-cta:after{display:none}
.moc-footer [data-moc-motion-toggle]{appearance:none;background:none;border:0;color:inherit;font:inherit;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.moc-footer [data-moc-motion-toggle]:disabled{cursor:default;text-decoration:none}
@media(prefers-reduced-motion:reduce){.moc-site .moc-button:after,.moc-choice-cta:after{display:none!important;animation:none!important}}
[data-moc-motion-toggle][hidden]{display:none!important}
/* Keep the desktop callout on the unoccupied left side of the photograph. */
.moc-sales-intro .moc-hero-label{top:18px;left:18px;right:auto;width:200px;padding:12px 14px}
.moc-hero-label:before{background:#b3dfe7;box-shadow:0 0 0 4px #a4d9e014}
