/* Martini Software 1.1.0 · Homepage expansion. */
:where(.martini-site,.editor-styles-wrapper) .m-hero{padding-bottom:80px}
:where(.martini-site,.editor-styles-wrapper) .m-stage{width:100%;max-width:none;padding:0;margin:76px 0 0}
:where(.martini-site,.editor-styles-wrapper) .m-stage:before{inset:-24px -18px -20px}
:where(.martini-site,.editor-styles-wrapper) .m-app{border-radius:15px}
:where(.martini-site,.editor-styles-wrapper) .m-appbar{padding:21px 30px}
:where(.martini-site,.editor-styles-wrapper) .m-workspace{padding:34px 36px 30px}
:where(.martini-site,.editor-styles-wrapper) .m-tabs{margin-top:30px;gap:32px}
:where(.martini-site,.editor-styles-wrapper) .m-view{min-height:265px;padding-top:28px}
:where(.martini-site,.editor-styles-wrapper) .m-track,:where(.martini-site,.editor-styles-wrapper) .m-rowlabel{min-height:59px}
:where(.martini-site,.editor-styles-wrapper) .m-day{padding-bottom:16px}
:where(.martini-site,.editor-styles-wrapper) .m-event{padding:10px 12px;font-size:12px}
:where(.martini-site,.editor-styles-wrapper) .m-task{padding-block:22px;font-size:13px}
:where(.martini-site,.editor-styles-wrapper) .m-stagecaption{margin-top:20px;letter-spacing:.09em}

/* Editorial rhythm: a production board, a system map, then concise answers. */
:where(.martini-site,.editor-styles-wrapper) .m-production,
:where(.martini-site,.editor-styles-wrapper) .m-integration{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(40px,6vw,100px);align-items:center}
:where(.martini-site,.editor-styles-wrapper) .m-production{background:var(--m-soft);border-top:1px solid var(--m-line);position:relative}
:where(.martini-site,.editor-styles-wrapper) :is(.m-flow-copy,.m-integration-copy,.m-faq-intro)>.m-eyebrow{margin-bottom:25px}
:where(.martini-site,.editor-styles-wrapper) :is(.m-production,.m-integration,.m-faq) h2{font-size:clamp(36px,3.65vw,56px);line-height:1.09;letter-spacing:-.048em}
:where(.martini-site,.editor-styles-wrapper) .m-section-lead{font-size:16px;line-height:1.85;color:var(--m-muted);margin-top:26px;max-width:490px}
:where(.martini-site,.editor-styles-wrapper) .m-editorial-note{font-size:15px;line-height:1.7;border-left:3px solid #9aaa51;padding-left:19px;margin-top:36px;font-weight:500}
:where(.martini-site,.editor-styles-wrapper) .m-flow-board{background:var(--m-paper);padding:30px 34px 23px;border:1px solid #d5d8c6;border-radius:16px;box-shadow:0 22px 50px #24272108;position:relative}
:where(.martini-site,.editor-styles-wrapper) .m-flow-label{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:var(--m-muted);border-bottom:1px solid var(--m-line);padding-bottom:21px;display:flex;align-items:center;gap:10px}
:where(.martini-site,.editor-styles-wrapper) .m-flow-label:before{content:'';width:7px;height:7px;border-radius:50%;background:#89974b}
:where(.martini-site,.editor-styles-wrapper) .m-phase-list{position:relative;padding-block:27px 24px}
:where(.martini-site,.editor-styles-wrapper) .m-phase-list:before{content:'';position:absolute;width:1px;background:var(--m-line);left:22px;top:47px;bottom:68px}
:where(.martini-site,.editor-styles-wrapper) .m-phase{position:relative;display:grid;grid-template-columns:45px minmax(0,1fr);gap:22px;align-items:start}
:where(.martini-site,.editor-styles-wrapper) .m-phase+.m-phase{margin-top:28px}
:where(.martini-site,.editor-styles-wrapper) .m-phase-index{display:grid;place-items:center;width:45px;height:45px;border:1px solid var(--m-line);background:var(--m-paper);border-radius:11px;font-family:'Space Grotesk',sans-serif;font-size:15px;font-weight:600}
:where(.martini-site,.editor-styles-wrapper) .m-phase-02 .m-phase-index{background:var(--m-lime);border-color:var(--m-lime)}
:where(.martini-site,.editor-styles-wrapper) .m-phase-03 .m-phase-index{background:var(--m-ink);border-color:var(--m-ink);color:var(--m-paper)}
:where(.martini-site,.editor-styles-wrapper) .m-phase h3{font-size:25px;letter-spacing:-.035em;line-height:1.2;margin-top:1px}
:where(.martini-site,.editor-styles-wrapper) .m-phase-copy>p{font-size:13px;line-height:1.7;color:var(--m-muted);margin-top:7px}
:where(.martini-site,.editor-styles-wrapper) .m-phase-copy>.m-phase-tags{display:inline-block;font-size:10px;letter-spacing:.015em;border-radius:5px;background:var(--m-soft);padding:5px 9px;margin-top:12px;color:var(--m-ink)}
:where(.martini-site,.editor-styles-wrapper) .m-flow-foot{border-top:1px solid var(--m-line);padding-top:18px;font-size:11px;color:var(--m-muted)}
:where(.martini-site,.editor-styles-wrapper) .m-integration{border-bottom:1px solid var(--m-line)}
:where(.martini-site,.editor-styles-wrapper) .m-connection-points{margin-top:32px;display:grid;gap:15px}
:where(.martini-site,.editor-styles-wrapper) .m-connection-point{font-size:14px;display:flex;align-items:center;gap:12px}
:where(.martini-site,.editor-styles-wrapper) .m-connection-point:before{content:'↗';display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--m-soft);font-size:16px;flex-shrink:0}
:where(.martini-site,.editor-styles-wrapper) .m-system-map{position:relative;isolation:isolate;width:100%;aspect-ratio:1.38;min-height:330px;max-height:480px;border:1px solid var(--m-line);border-radius:16px;background-color:var(--m-soft);background-image:radial-gradient(#7b856535 .7px,transparent .7px);background-size:17px 17px;overflow:hidden}
:where(.martini-site,.editor-styles-wrapper) .m-system-map:before{content:'';position:absolute;inset:0;background:url('../graphics/system-connections.svg') center/100% 100% no-repeat;z-index:-1}
:where(.martini-site,.editor-styles-wrapper) .m-system-node{position:absolute;width:40%;background:var(--m-paper);border:1px solid #d3d8c3;border-radius:10px;padding:17px 10px;line-height:1.5;font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:19px;text-align:center;box-shadow:0 6px 14px #24272104}
:where(.martini-site,.editor-styles-wrapper) .m-system-node strong{font:400 10px/1.6 Inter,sans-serif;color:var(--m-muted)}
:where(.martini-site,.editor-styles-wrapper) .m-system-plan{left:5%;top:7%}
:where(.martini-site,.editor-styles-wrapper) .m-system-docs{right:5%;top:7%}
:where(.martini-site,.editor-styles-wrapper) .m-system-team{left:5%;bottom:7%}
:where(.martini-site,.editor-styles-wrapper) .m-system-data{right:5%;bottom:7%}
:where(.martini-site,.editor-styles-wrapper) .m-system-hub{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:47%;border:1px solid var(--m-ink);background:var(--m-ink);color:var(--m-paper);font-size:11px;line-height:1.6;letter-spacing:.02em;padding:17px 12px;text-align:center;border-radius:12px;box-shadow:0 10px 24px #2427211a}
:where(.martini-site,.editor-styles-wrapper) .m-system-hub strong{font:600 29px/1.25 'Space Grotesk',sans-serif;letter-spacing:-.035em;color:var(--m-lime)}
:where(.martini-site,.editor-styles-wrapper) .m-map-caption{font-size:11px;color:var(--m-muted);text-align:center;margin-top:18px;line-height:1.65}

:where(.martini-site,.editor-styles-wrapper) .m-faq{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(40px,6vw,100px);align-items:start;background:var(--m-soft)}
:where(.martini-site,.editor-styles-wrapper) .m-faq-list{border-top:1px solid #c4c9b4}
:where(.martini-site,.editor-styles-wrapper) .m-faq-item{padding:0;border-bottom:1px solid #c4c9b4}
:where(.martini-site,.editor-styles-wrapper) .m-faq-item summary{position:relative;list-style:none;cursor:pointer;padding:26px 47px 26px 0;font-family:'Space Grotesk',sans-serif;font-size:21px;font-weight:600;letter-spacing:-.025em;line-height:1.35;min-height:78px}
:where(.martini-site,.editor-styles-wrapper) .m-faq-item summary::-webkit-details-marker{display:none}
:where(.martini-site,.editor-styles-wrapper) .m-faq-item summary::marker{content:''}
:where(.martini-site,.editor-styles-wrapper) .m-faq-item summary:after{content:'+';display:grid;place-items:center;position:absolute;right:0;top:23px;width:30px;height:30px;border:1px solid #bec5aa;border-radius:50%;font:400 21px/1 Inter,sans-serif}
:where(.martini-site,.editor-styles-wrapper) .m-faq-item[open] summary:after{content:'−';background:var(--m-ink);color:var(--m-paper);border-color:var(--m-ink)}
:where(.martini-site,.editor-styles-wrapper) .m-faq-item summary:hover{color:#53632b}
:where(.martini-site,.editor-styles-wrapper) .m-faq-item summary:focus-visible{outline:2px solid var(--m-ink);outline-offset:4px;border-radius:3px}
:where(.martini-site,.editor-styles-wrapper) .m-faq-item>p{font-size:14px;line-height:1.85;color:var(--m-muted);max-width:590px;padding:0 42px 26px 0;margin:0}

/* The closing illustration stays visible independently of contact publishing. */
:where(.martini-site,.editor-styles-wrapper) .m-contact{position:relative;isolation:isolate;display:block;overflow:hidden;min-height:390px;padding-block:85px}
:where(.martini-site,.editor-styles-wrapper) .m-contact:after{content:'';position:absolute;z-index:-1;width:47%;height:112%;right:-3%;top:-6%;background:url('../graphics/contact-modules.svg') center/contain no-repeat;pointer-events:none}
:where(.martini-site,.editor-styles-wrapper) .m-contact>div:first-child{position:relative;width:66%;z-index:1}
:where(.martini-site,.editor-styles-wrapper) .m-contact h2{font-size:clamp(38px,4.6vw,68px);max-width:820px;line-height:1.08}
:where(.martini-site,.editor-styles-wrapper) .m-contact p:not(.m-eyebrow){max-width:550px}
:where(.martini-site,.editor-styles-wrapper) .m-contact .m-buttons{margin-top:27px}
:where(.martini-site,.editor-styles-wrapper) .m-contact .m-buttons:empty{display:none}

@media(min-width:1600px){
 :where(.martini-site,.editor-styles-wrapper) .m-view{min-height:292px}
 :where(.martini-site,.editor-styles-wrapper) .m-track,:where(.martini-site,.editor-styles-wrapper) .m-rowlabel{min-height:65px}
}
@media(max-width:1050px){
 :where(.martini-site,.editor-styles-wrapper) :is(.m-production,.m-integration,.m-faq){gap:35px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 :where(.martini-site,.editor-styles-wrapper) .m-flow-board{padding:25px 22px 20px}
 :where(.martini-site,.editor-styles-wrapper) .m-phase{gap:15px}
 :where(.martini-site,.editor-styles-wrapper) .m-phase h3{font-size:23px}
 :where(.martini-site,.editor-styles-wrapper) .m-system-node{font-size:17px;padding:13px 8px}
 :where(.martini-site,.editor-styles-wrapper) .m-system-node strong{font-size:9px}
 :where(.martini-site,.editor-styles-wrapper) .m-contact>div:first-child{width:72%}
 :where(.martini-site,.editor-styles-wrapper) .m-contact:after{right:-10%;opacity:.8}
}
@media(max-width:800px){
 :where(.martini-site,.editor-styles-wrapper) :is(.m-production,.m-integration,.m-faq){grid-template-columns:1fr;gap:36px}
 :where(.martini-site,.editor-styles-wrapper) :is(.m-production,.m-integration,.m-faq) h2{font-size:clamp(36px,6vw,50px)}
 :where(.martini-site,.editor-styles-wrapper) .m-section-lead{max-width:620px}
 :where(.martini-site,.editor-styles-wrapper) .m-flow-board{padding:30px}
 :where(.martini-site,.editor-styles-wrapper) .m-phase{gap:22px}
 :where(.martini-site,.editor-styles-wrapper) .m-system-map{min-height:370px;max-height:none}
 :where(.martini-site,.editor-styles-wrapper) .m-system-node{font-size:21px;padding:18px 10px}
 :where(.martini-site,.editor-styles-wrapper) .m-system-node strong{font-size:11px}
 :where(.martini-site,.editor-styles-wrapper) .m-faq-intro .m-section-lead{max-width:500px}
}
@media(max-width:600px){
 :where(.martini-site,.editor-styles-wrapper) .m-hero{padding-bottom:48px}
 :where(.martini-site,.editor-styles-wrapper) .m-stage{margin-top:46px;padding:0}
 :where(.martini-site,.editor-styles-wrapper) .m-appbar{padding:17px 15px}
 :where(.martini-site,.editor-styles-wrapper) .m-workspace{padding:22px 15px 20px}
 :where(.martini-site,.editor-styles-wrapper) .m-tabs{margin-top:24px;gap:16px}
 :where(.martini-site,.editor-styles-wrapper) .m-view{min-height:257px;padding-top:22px}
 :where(.martini-site,.editor-styles-wrapper) .m-mobile-plan{gap:12px}
 :where(.martini-site,.editor-styles-wrapper) .m-mobile-plan>div{padding:13px}
 :where(.martini-site,.editor-styles-wrapper) .m-task{font-size:11px;padding-block:20px}
 :where(.martini-site,.editor-styles-wrapper) .m-stagecaption{font-size:9px;letter-spacing:.055em;gap:7px;margin-top:18px}
 :where(.martini-site,.editor-styles-wrapper) .m-section-lead{font-size:15px;margin-top:22px}
 :where(.martini-site,.editor-styles-wrapper) :is(.m-flow-copy,.m-integration-copy,.m-faq-intro)>.m-eyebrow{margin-bottom:20px}
 :where(.martini-site,.editor-styles-wrapper) .m-editorial-note{font-size:14px;margin-top:26px}
 :where(.martini-site,.editor-styles-wrapper) .m-flow-board{padding:23px 19px 20px;border-radius:12px}
 :where(.martini-site,.editor-styles-wrapper) .m-flow-label{font-size:9px;letter-spacing:.09em}
 :where(.martini-site,.editor-styles-wrapper) .m-phase{grid-template-columns:37px minmax(0,1fr);gap:14px}
 :where(.martini-site,.editor-styles-wrapper) .m-phase-index{width:37px;height:37px;font-size:13px;border-radius:9px}
 :where(.martini-site,.editor-styles-wrapper) .m-phase-list:before{left:18px}
 :where(.martini-site,.editor-styles-wrapper) .m-phase h3{font-size:23px}
 :where(.martini-site,.editor-styles-wrapper) .m-phase-copy>p{font-size:12px}
 :where(.martini-site,.editor-styles-wrapper) .m-phase-copy>.m-phase-tags{font-size:9px;padding:5px 7px;line-height:1.8}
 :where(.martini-site,.editor-styles-wrapper) .m-system-map{min-height:340px;aspect-ratio:auto}
 :where(.martini-site,.editor-styles-wrapper) .m-system-node{font-size:17px;padding:13px 6px;width:43%}
 :where(.martini-site,.editor-styles-wrapper) .m-system-node strong{font-size:8px;white-space:normal}
 :where(.martini-site,.editor-styles-wrapper) .m-system-plan,:where(.martini-site,.editor-styles-wrapper) .m-system-team{left:4%}
 :where(.martini-site,.editor-styles-wrapper) .m-system-docs,:where(.martini-site,.editor-styles-wrapper) .m-system-data{right:4%}
 :where(.martini-site,.editor-styles-wrapper) .m-system-hub{width:59%;font-size:10px;padding:17px 8px}
 :where(.martini-site,.editor-styles-wrapper) .m-system-hub strong{font-size:27px}
 :where(.martini-site,.editor-styles-wrapper) .m-faq-item summary{font-size:19px;padding-block:24px;min-height:78px}
 :where(.martini-site,.editor-styles-wrapper) .m-faq-item>p{padding-right:12px;font-size:14px}
 :where(.martini-site,.editor-styles-wrapper) .m-contact{padding-block:55px 250px;min-height:0}
 :where(.martini-site,.editor-styles-wrapper) .m-contact>div:first-child{width:100%}
 :where(.martini-site,.editor-styles-wrapper) .m-contact:after{top:auto;right:-25px;bottom:-40px;height:305px;width:365px;max-width:100%;opacity:.85}
 :where(.martini-site,.editor-styles-wrapper) .m-contact h2{font-size:38px}
}
@media(prefers-reduced-motion:no-preference){
 :where(.martini-site,.editor-styles-wrapper) .m-faq-item summary{transition:color .15s}
}
