/* Shared layout corrections. Keep print documents outside dark theme rules. */
@media screen {
 body.cn-design #sm-project :is(h1,h2,h3,h4) { color:#f4f5f3!important; overflow-wrap:anywhere; }
 body.cn-design #sm-project .sm-contract-document :is(h1,h2,h3,h4) { color:#172b3b!important; }
 body.cn-design #sm-project :is(.box,.calc-grid,.summary,.form-grid,.cable-controls) { min-width:0; }
 body.cn-design #sm-project :is(button,.button) { box-sizing:border-box; transform:none!important; transition:background-color .2s,border-color .2s,color .2s; }
 body.cn-design #sm-project .button,
 body.cn-design #sm-project .button:is(:hover,:focus,:active) { padding:14px 22px!important; font:600 15px/1.4 Arial,sans-serif!important; min-height:48px; border:1px solid #637382!important; border-radius:4px; white-space:normal; text-align:center; }
 body.cn-design #sm-project .cart-row { display:grid; grid-template-columns:minmax(0,1fr) 80px 44px; align-items:center; gap:14px; width:100%; min-width:0; padding:18px 0; }
 body.cn-design #sm-project .cart-row > div { min-width:0; overflow-wrap:anywhere; }
 body.cn-design #sm-project .cart-row input { box-sizing:border-box; width:100%!important; min-width:0!important; height:44px; padding:8px!important; margin:0; font-size:16px; }
 body.cn-design #sm-project .cart-row button.remove,
 body.cn-design #sm-project .cart-row button.remove:is(:hover,:focus,:active) { width:44px!important; min-width:44px!important; height:44px!important; min-height:44px; margin:0!important; padding:0!important; font:24px/1 Arial!important; border-radius:4px; color:#fff; background:#273842; border:1px solid #657583; }
 body.cn-design #sm-project .cart-row button.remove:hover { background:#733a40; }
 body.cn-design #sm-project :is(#quote-stage,#contract-stage) > .button { margin:6px 8px 6px 0; vertical-align:middle; }
 body.cn-design #sm-project .total-row { display:flex; gap:18px; justify-content:space-between; align-items:baseline; }
 body.cn-design #sm-project .total-row span { min-width:0; }
 body.cn-design #sm-project .total-row strong { text-align:right; white-space:normal; }
 body.cn-design #sm-project .product-card p { max-height:none; }
 body.cn-design #sm-project .product-card:hover { transform:none!important; }
 body.cn-design #sm-project .sm-order-status { color:#d4c5e2!important; font-size:12px!important; letter-spacing:.04em; margin:8px 0 0!important; }
 body.cn-design #sm-project .sm-brand-visual { background:#002342; }
 body.cn-design #sm-project .sm-brand-visual img { background:transparent; }
 body.cn-design #sm-project .sm-kerio-visual { background:#234653; }
 body.cn-design #sm-project .sm-catalog-visual img { padding-bottom:30px; }
 body.cn-design #sm-project #sm-system-panels { grid-template-columns:repeat(4,minmax(0,1fr)); }
 body.cn-design #sm-project #sm-system-panels button { min-width:0; overflow-wrap:anywhere; }
 body.cn-design #sm-project #sm-subcategories button { min-height:38px; }
 body.cn-design #sm-project :is(.catalog-controls,.sm-catalog-controls) { min-width:0; }
 body.cn-design #sm-project .sm-catalog-controls label { min-width:150px; }
 body.cn-design #sm-project > .header { display:none; }
 body.cn-design #sm-project > .section:has(> label > #language) { display:none; }
 body.cn-design #sm-project .sm-product-meta > span:first-child { color:#c3d0d6; }
 body.cn-design #sm-project .product-card .text-link { color:#d8b995; }
 body.cn-design #sm-project #sm-catalog-count { margin-bottom:20px; }
 body.cn-design #sm-product-dialog { max-width:min(640px,calc(100vw - 28px)); max-height:90dvh; overflow:auto; padding:28px; color:#f3f6f8; background:#202f38; border:1px solid #637482; }
 body.cn-design #sm-product-dialog h2 { color:#fff!important; font-size:24px; line-height:1.3; overflow-wrap:anywhere; }
 body.cn-design #sm-product-dialog .sm-catalog-visual { margin:0 0 20px; background:#fff; padding:20px; }
 body.cn-design #sm-product-dialog .sm-brand-visual { background:#002342; }
 body.cn-design #sm-product-dialog figcaption { font-size:11px; color:#485d68; }
 body.cn-design #sm-product-dialog .sm-product-close { float:right; width:44px; height:44px; padding:0; color:white; background:#304550; border:1px solid #637482; }
 @media(max-width:1050px) { body.cn-design #sm-project .calc-grid { grid-template-columns:1fr; } body.cn-design #sm-project .summary { position:static; } }
 @media(max-width:820px) { body.cn-design #sm-project #sm-system-panels { grid-template-columns:repeat(2,minmax(0,1fr)); } }
 @media(max-width:520px) {
  body.cn-design #sm-project .section { padding-left:18px; padding-right:18px; }
  body.cn-design #sm-project .box { padding:20px; }
  body.cn-design #sm-project .cart-row { grid-template-columns:minmax(0,1fr) 44px; gap:10px; }
  body.cn-design #sm-project .cart-row > div { grid-column:1/-1; }
  body.cn-design #sm-project .cart-row input { max-width:100px; }
  body.cn-design #sm-project :is(#quote-stage,#contract-stage) > .button { display:flex; width:100%; margin:10px 0; }
  body.cn-design #sm-project #sm-system-panels button { font-size:12px; padding:10px; }
  body.cn-design #sm-project .sm-catalog-controls { align-items:stretch; }
  body.cn-design #sm-project .sm-catalog-controls label { flex:1 1 100%; }
  body.cn-design #sm-project :is(h2,.box h2) { font-size:clamp(24px,7vw,34px); line-height:1.25; }
  /* Only the on-screen quote changes layout; exported A4 clones retain a table. */
  body.cn-design #sm-project #sq-output .sq-table { overflow:visible; }
  body.cn-design #sm-project #sq-output .sq-table table { min-width:0!important; width:100%; display:block; }
  body.cn-design #sm-project #sq-output .sq-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  body.cn-design #sm-project #sq-output .sq-table tbody { display:block; }
  body.cn-design #sm-project #sq-output .sq-table tr { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin-bottom:12px; border:1px solid #c7d1d7; }
  body.cn-design #sm-project #sq-output .sq-table td { display:block; padding:10px!important; border:0!important; width:auto!important; overflow-wrap:anywhere; font-size:13px; }
  body.cn-design #sm-project #sq-output .sq-table td:first-child { grid-column:1/-1; font-weight:700; border-bottom:1px solid #c7d1d7!important; }
  body.cn-design #sm-project #sq-output .sq-table td:not(:first-child)::before { display:block; color:#536674; font-size:11px; font-weight:400; margin-bottom:2px; }
  body.cn-design #sm-project #sq-output .sq-table td:nth-child(2)::before { content:'Vahid'; }
  body.cn-design #sm-project #sq-output .sq-table td:nth-child(3)::before { content:'Miqdar'; }
  body.cn-design #sm-project #sq-output .sq-table td:nth-child(4)::before { content:'Vahid qiyməti'; }
  body.cn-design #sm-project #sq-output .sq-table td:nth-child(5)::before { content:'Məbləğ'; }
  html:lang(tr) body.cn-design #sm-project #sq-output .sq-table td:nth-child(2)::before { content:'Birim'; }
  html:lang(tr) body.cn-design #sm-project #sq-output .sq-table td:nth-child(3)::before { content:'Miktar'; }
  html:lang(tr) body.cn-design #sm-project #sq-output .sq-table td:nth-child(4)::before { content:'Birim fiyatı'; }
  html:lang(tr) body.cn-design #sm-project #sq-output .sq-table td:nth-child(5)::before { content:'Tutar'; }
  html:lang(ru) body.cn-design #sm-project #sq-output .sq-table td:nth-child(2)::before { content:'Единица'; }
  html:lang(ru) body.cn-design #sm-project #sq-output .sq-table td:nth-child(3)::before { content:'Количество'; }
  html:lang(ru) body.cn-design #sm-project #sq-output .sq-table td:nth-child(4)::before { content:'Цена за ед.'; }
  html:lang(ru) body.cn-design #sm-project #sq-output .sq-table td:nth-child(5)::before { content:'Сумма'; }
  html:lang(en) body.cn-design #sm-project #sq-output .sq-table td:nth-child(2)::before { content:'Unit'; }
  html:lang(en) body.cn-design #sm-project #sq-output .sq-table td:nth-child(3)::before { content:'Quantity'; }
  html:lang(en) body.cn-design #sm-project #sq-output .sq-table td:nth-child(4)::before { content:'Unit price'; }
  html:lang(en) body.cn-design #sm-project #sq-output .sq-table td:nth-child(5)::before { content:'Amount'; }
 }
}
/* Printable and downloadable quotation share the same unstyled data document. */
#sm-print-root { display:none; }
#sm-catalog-print { padding:0; width:min(900px,calc(100vw - 20px)); max-width:none; max-height:94dvh; border:1px solid #6b7c88; border-radius:6px; background:white; color:#172b3b; }
#sm-catalog-print::backdrop { background:#06121ace; }
.sm-print-toolbar { position:sticky; top:0; z-index:1; display:flex; flex-wrap:wrap; gap:8px; padding:12px; background:#202f38; }
.sm-print-toolbar button { padding:10px 16px!important; font:600 14px/1.4 Arial!important; min-height:42px; color:#fff!important; background:#354857; border:1px solid #8292a3; transform:none!important; }
.sm-print-toolbar [role=status] { color:#fff; font:14px Arial; }
.sm-print-preview { padding:28px; overflow:auto; }
.sm-print-paper { box-sizing:border-box; margin:0; padding:0 8px; background:white!important; color:#172b3b!important; font:14px/1.55 Arial,sans-serif!important; overflow-wrap:anywhere; }
.sm-print-paper header { border-bottom:2px solid #244958; margin-bottom:18px; }
.sm-print-paper header strong { font-size:28px; letter-spacing:.08em; }
.sm-print-paper h1 { color:#172b3b!important; font:bold 24px/1.3 Arial!important; margin:20px 0 12px!important; }
.sm-print-paper p,.sm-print-paper footer { color:#354753!important; font:13px/1.6 Arial!important; }
.sm-print-paper table { width:100%; table-layout:fixed; border-collapse:collapse; font:12px/1.5 Arial!important; margin:24px 0; }
.sm-print-paper th,.sm-print-paper td { padding:10px 7px!important; text-align:left; color:#172b3b!important; border:1px solid #cbd3d7!important; background:white!important; vertical-align:top; overflow-wrap:anywhere; }
.sm-print-paper th { background:#e7edf0!important; font-weight:700; }
.sm-print-paper :is(th,td):first-child { width:42%; }
.sm-print-paper :is(th,td):nth-child(2) { width:10%; }
.sm-print-paper :is(th,td):nth-child(3) { width:10%; }
.sm-print-paper .total-row { display:flex; justify-content:space-between; gap:18px; padding:8px 0; border-bottom:1px solid #d4dde1; }
.sm-print-paper .grand { font-weight:bold; font-size:17px; padding:16px 0; }
.sm-print-paper footer { margin-top:25px; border-top:1px solid #cbd3d7; padding-top:12px; }
.sm-print-paper tr,.sm-print-paper .total-row { break-inside:avoid; }
.sm-print-paper thead { display:table-header-group; }
.sm-pdf-export { position:absolute; left:-10000px; top:0; width:700px; background:white; }
.sm-pdf-export > article { width:700px; }
.sm-pdf-export .sm-contract-document,.sm-print-preview .sm-contract-document { box-sizing:border-box; padding:12px; font:14px/1.6 Arial; background:white; color:#172b3b; }
.sm-pdf-export .sm-contract-document :is(h2,h3),.sm-print-preview .sm-contract-document :is(h2,h3) { color:#172b3b; font-family:Arial; }
.sm-pdf-export .sm-contract-document table,.sm-print-preview .sm-contract-document table { width:100%; table-layout:fixed; border-collapse:collapse; font-size:12px; }
.sm-pdf-export .sm-contract-document :is(td,th),.sm-print-preview .sm-contract-document :is(td,th) { padding:6px; border:1px solid #ccc; overflow-wrap:anywhere; }
.sm-pdf-export .sm-contract-document tr { break-inside:avoid; }
.sm-pdf-export .sm-contract-annex { break-before:page; }
@media(max-width:520px) { .sm-print-preview { padding:16px; } .sm-print-preview .sm-print-paper { min-width:600px; } }
@media print {
 @page { size:A4; margin:12mm; }
 html:has(body.sm-printing-catalog),body.sm-printing-catalog { height:auto!important; overflow:visible!important; background:white!important; padding:0!important; margin:0!important; }
 body.sm-printing-catalog > *:not(#sm-print-root) { display:none!important; }
 body.sm-printing-catalog #sm-print-root { display:block!important; position:static!important; margin:0!important; width:100%!important; color:#172b3b; background:white; }
 #sm-print-root .sm-print-paper { font-size:10pt!important; }
 #sm-print-root .sm-contract-document { font:11pt/1.6 Arial; color:#172b3b; }
 #sm-print-root .sm-contract-document :is(h2,h3) { color:#172b3b!important; break-after:avoid; }
 #sm-print-root .sm-contract-document table { width:100%; border-collapse:collapse; }
 #sm-print-root .sm-contract-document :is(td,th) { padding:6px; border:1px solid #ccc; }
 #sm-print-root .sm-contract-annex { break-before:page; }
 #sm-print-root .sm-contract-document tr { break-inside:avoid; }
}
/* Completed sections stay editable and retain their data. */
body.cn-design #sm-project [hidden] { display:none!important; }
body.cn-design #sm-project #sm-catalog-fold > summary { padding:18px 20px; margin-bottom:22px; border:1px solid #637382; border-radius:4px; color:#f4f5f3; background:#24343f; cursor:pointer; font-weight:600; }
body.cn-design #sm-project #sm-customer-summary { display:flex; align-items:center; flex-wrap:wrap; gap:16px; }
body.cn-design #sm-project #sm-customer-summary p { flex:1 1 240px; overflow-wrap:anywhere; margin:0; }
body.cn-design #sm-project #sm-selection-summary { padding:20px; border:1px solid #43555f; background:#20303a; }
body.cn-design #sm-project #sm-selection-summary ul { margin:0; padding-left:20px; columns:2 260px; }
body.cn-design #sm-project #sm-selection-summary li { break-inside:avoid; padding:5px 0; overflow-wrap:anywhere; }
body.cn-design #sm-project #sm-finish-selection { margin-top:22px; }
body.cn-design #sm-project .cart-row { grid-template-columns:minmax(0,1fr) 144px 44px; }
body.cn-design #sm-project .cart-row .sm-quantity { display:grid; grid-template-columns:40px minmax(0,1fr) 40px; grid-column:auto; gap:0; }
body.cn-design #sm-project .sm-quantity button { width:40px!important; min-width:40px!important; height:44px; padding:0!important; margin:0; font:22px/1 Arial; color:#fff; background:#304550; border:1px solid #637382; }
body.cn-design #sm-project .sm-quantity button:disabled { opacity:.4; cursor:not-allowed; }
body.cn-design #sm-project .sm-quantity input { text-align:center; -moz-appearance:textfield; border-radius:0; padding:4px!important; }
body.cn-design #sm-project .sm-quantity input::-webkit-inner-spin-button,body.cn-design #sm-project .sm-quantity input::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
body.cn-design #sm-project .sm-enquiry-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:20px; }
body.cn-design #sm-project .sm-enquiry-actions .button { width:100%; margin:0!important; min-height:56px; height:auto; }
body.cn-design #sm-project #smn-send { background:#24343f!important; border:1px solid #4c606c; }
body.cn-design #sm-project #smn-send label { color:#f4f5f3; }
/* Clip the existing round identity; keep the original bitmap untouched. */
body.cn-design .sm-brand-visual img[src$="logo.png"] { clip-path:ellipse(46% 44% at 48% 49%); }
.smn-menu-backdrop { position:fixed; inset:64px 0 0; z-index:1140; border:0; border-radius:0; padding:0; background:#071017b3; cursor:default; }
.smn-menu-backdrop[hidden] { display:none!important; }
@media(max-width:1023px){
 body.cn-design.smn-menu-open { overflow:hidden; }
 body.cn-design #smn-sidebar { width:min(300px,82vw)!important; left:0; top:64px!important; bottom:0; height:auto; padding:14px 16px 24px!important; box-sizing:border-box; transition:transform .2s ease; }
 body.cn-design #smn-sidebar:not(.open) { visibility:hidden; }
 body.cn-design #smn-sidebar.open { visibility:visible; }
 body.cn-design #smn-sidebar .smn-brand,body.cn-design #smn-sidebar.open .smn-brand { width:100%; height:94px!important; padding:0!important; justify-content:flex-start; }
 body.cn-design #smn-sidebar .smn-logo,body.cn-design #smn-sidebar.open .smn-logo,body.cn-design #smn-sidebar:hover .smn-logo { width:86px!important; height:91px; margin:0!important; }
 body.cn-design #smn-sidebar .smn-logo-mark { display:none!important; }
 body.cn-design #smn-sidebar nav { margin-top:10px; }
 body.cn-design #smn-sidebar .smn-navlink { padding:12px 0; gap:18px; }
 body.cn-design #smn-sidebar .smn-navlink b { width:28px; font-size:24px; }
 body.cn-design #smn-sidebar .smn-navlink span { font-size:12px; letter-spacing:.3px; }
 body.cn-design #smn-sidebar .smn-side-extra { margin:16px 0 0; padding-top:18px; }
 body.cn-design #smn-sidebar .smn-side-extra .smn-btn { padding:13px 10px; font-size:12px; }
}
@media(max-width:520px){
 body.cn-design #sm-project .cart-row { grid-template-columns:minmax(0,1fr) 44px; }
 body.cn-design #sm-project .cart-row > div:first-child { grid-column:1/-1; }
 body.cn-design #sm-project .cart-row .sm-quantity { width:144px; grid-column:1; }
 body.cn-design #sm-project .sm-enquiry-actions { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce){body.cn-design #smn-sidebar { transition:none; }}
@media print { .smn-menu-backdrop { display:none!important; } }

/* The catalogue uses the same blue/yellow Safemode quotation identity. */
.sm-branded-quote.sq-paper { padding:24px; border:1px solid #ddd; color:#222!important; background:#fff!important; }
.sm-branded-quote .sq-head { color:#3554a5!important; font:700 32px/1.2 Arial!important; border-bottom:2px solid #3554a5; padding:12px 0 25px; margin-bottom:20px; letter-spacing:.01em; }
.sm-branded-quote .sq-meta { display:flex; justify-content:space-between; align-items:stretch; gap:24px; margin-bottom:20px; }
.sm-branded-quote .sq-meta > div:first-child { flex:1; min-width:0; }
body.cn-design #sm-project .sm-branded-quote h1,.sm-branded-quote h1 { font:700 17px/1.4 Arial!important; color:#222!important; margin:0 0 8px!important; text-transform:none; letter-spacing:0; }
.sm-branded-quote p { font:13px/1.6 Arial!important; color:#222!important; margin:8px 0!important; }
.sm-branded-quote .sq-total { flex:0 0 190px; padding:16px; background:#ffdc00!important; color:#222!important; font:14px/1.5 Arial; }
.sm-branded-quote .sq-total strong,.sm-branded-quote .sq-total small { display:block; margin-top:8px; color:#222!important; }
.sm-branded-quote .sq-total strong { font-size:20px; }
.sm-branded-quote table { margin:0 0 12px; }
.sm-branded-quote th { background:#222!important; color:#fff!important; font-weight:400; border:0!important; }
.sm-branded-quote td { color:#222!important; border:0!important; border-bottom:2px solid #222!important; }
.sm-branded-quote tr:nth-child(odd) td { background:#f2f5f8!important; }
.sm-branded-quote td:first-child::before { content:'●'; color:#eac600; margin-right:7px; }
.sm-branded-quote .sm-print-totals { color:#222!important; margin-top:16px; }
.sm-branded-quote .sq-foot { background:#ffdc00!important; color:#222!important; padding:18px; border:0; margin-top:20px; }
.sm-branded-quote .sq-foot p { margin-bottom:0!important; }
.sm-branded-quote :is(.sq-meta,.sq-foot,.sq-head) { break-inside:avoid; }
@media screen and (max-width:700px){
 #quote-detail .sm-branded-quote { padding:16px; }
 #quote-detail .sq-head { font-size:clamp(22px,5vw,32px)!important; }
 #quote-detail .sq-meta { flex-direction:column; gap:12px; }
 #quote-detail .sq-total { flex:auto; }
 #quote-detail table,#quote-detail tbody { display:block; width:100%; }
 #quote-detail thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
 #quote-detail tr { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin-bottom:10px; border:1px solid #c7d1d7; }
 #quote-detail td { display:block; width:auto!important; border:0!important; padding:10px!important; }
 #quote-detail td:first-child { grid-column:1/-1; font-weight:700; border-bottom:1px solid #c7d1d7!important; }
 #quote-detail td[data-label]::before { display:block; content:attr(data-label); color:#536674; font-size:11px; }
}
@media print { .sm-branded-quote { print-color-adjust:exact; -webkit-print-color-adjust:exact; } }

@media(max-width:1023px){.smn-menu-backdrop{left:min(300px,82vw)}body.cn-design #smn-sidebar .smn-logo{min-width:86px!important;max-width:none!important;object-fit:contain!important;flex-shrink:0}}
/* A single content grid keeps the demo, services and FAQ on the same edges. */
.cn-design #smn-home :is(.cn-wrap,.smn-faq,.smn-footer) { width:min(1160px,calc(100% - 64px)); max-width:none; margin-inline:auto; }
.cn-design #smn-home .smn-simulator.smn-sim-v2 { width:100%; max-width:none; margin-inline:0; }
.cn-design #smn-home :is(.cn-details,.smn-faq-layout) { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:48px; align-items:start; }
.cn-design #smn-home .cn-demo-heading { display:grid; grid-template-columns:minmax(0,1fr); gap:18px; align-items:start; margin-bottom:32px; }
.cn-design #smn-home .cn-demo-heading > p { margin:0; max-width:70ch; font-size:16px; line-height:1.7; }
.cn-design #smn-home .cn-demo-heading h2,.cn-design #smn-home .cn-details h2 { font-size:clamp(38px,4vw,56px); line-height:1.06!important; }
.cn-design #smn-home .smn-faq .smn-section-title { padding:0; margin:0 0 28px; text-align:left; }
.cn-design #smn-home .cn-details-list article:first-child { padding-top:0; border-top:0; }
.cn-design #smn-home :is(.cn-details-list,.smn-faq-copy,.smn-solution-picker) { min-width:0; }
.cn-design #smn-home .cn-details-list p,.cn-design #smn-home .smn-faq summary { font-size:15px; line-height:1.7; }
.cn-design #smn-home .cn-details-list h3 { font-size:20px; }
/* Reuse the theme's existing load lifecycle without adding a loading delay. */
body.cn-design:not(.is-loaded)::before { background:#1b2228!important; }
body.cn-design::after { background:url('assets/favicon.svg') center/contain no-repeat!important; width:64px; height:64px; margin:-32px 0 0 -32px; border-radius:0; animation:smn-logo-turn 1.4s ease-in-out infinite!important; }
@keyframes smn-logo-turn { 0%,100%{transform:rotateY(0)}50%{transform:rotateY(180deg)} }
.smn-cart-link { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:40px; padding:7px 10px; border:1px solid #687582; border-radius:3px; color:#f3f5f4!important; background:#22323c; text-decoration:none!important; font:600 13px/1.3 Arial; white-space:nowrap; }
.smn-cart-link svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.smn-cart-link b { display:grid; place-items:center; background:#ddd4e7; color:#202935; border-radius:12px; padding:2px 5px; min-width:22px; font-size:12px; }
.smn-cart-mobile { display:none; }
@media(min-width:1024px){body.cn-design .smn-desktop-header{gap:18px}.cn-design .smn-desktop-nav{gap:20px}.cn-design .smn-desktop-header .smn-cart-label{display:none}}
@media(max-width:1023px){
 .smn-cart-mobile { position:fixed; z-index:1102; display:inline-flex; top:12px; right:88px; height:40px; }
 .cn-design #smn-home :is(.cn-details,.smn-faq-layout) { gap:28px; }
 .cn-design #smn-home .cn-demo-heading { grid-template-columns:1fr; gap:14px; }
 .cn-design #smn-home .cn-demo-heading > p { margin:0; }
}
@media(max-width:700px){
 .cn-design #smn-home :is(.cn-wrap,.smn-faq,.smn-footer) { width:calc(100% - 36px); }
 .cn-design #smn-home :is(.cn-details,.smn-faq-layout) { grid-template-columns:1fr; gap:32px; }
 .cn-design #smn-home .cn-details-heading { margin-bottom:0; }
 .cn-design #smn-home .cn-demo-heading > p { font-size:14px; }
 body.cn-design #sm-project #catalog { padding-top:28px; }
}
@media(prefers-reduced-motion:reduce){body.cn-design::after{animation:none!important}}
@media print{.smn-cart-link{display:none!important}}


/* Quote packages share one baseline and remain readable at phone widths. */
#sm-quickquote .sq-tiers{min-width:0;border:0;padding:0;margin:28px 0 14px}
#sm-quickquote .sq-tiers legend{color:#f5f5f2;font-size:16px;margin-bottom:12px;padding:0}
#sm-quickquote .sq-tier-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
#sm-quickquote .sq-tier{display:flex;align-items:flex-start;gap:10px;padding:18px;border:1px solid #53616b;border-radius:5px;background:#202e35;cursor:pointer;min-width:0;margin:0;transition:border-color .2s,background-color .2s}
#sm-quickquote .sq-tier:has(input:checked){border-color:#c3acc7;background:#343548;box-shadow:inset 0 0 0 1px #c3acc7}
#sm-quickquote .sq-tier:focus-within{outline:2px solid #f4eff5;outline-offset:3px}
#sm-quickquote .sq-tier input{width:17px;height:17px;min-height:0;padding:0;flex:0 0 17px;margin:5px 0 0;accent-color:#c3acc7}
#sm-quickquote .sq-tier span{min-width:0}
#sm-quickquote .sq-tier strong{display:block;font-size:17px;line-height:1.4;color:#fff;overflow-wrap:anywhere}
#sm-quickquote .sq-tier small{display:block;margin-top:7px;line-height:1.55;font-size:13px;color:#c6d0d4}
#sm-quickquote .sq-budget-note{font-size:13px;line-height:1.6;color:#c6d0d4;margin:0 0 24px}
@media(max-width:700px){#sm-quickquote .sq-tier-grid{grid-template-columns:1fr}#sm-quickquote .sq-tier{padding:14px 16px}#sm-quickquote .sq-tier small{margin-top:3px}}
@media print{.sq-tiers,.sq-budget-note{display:none!important}}

@media(max-width:1023px){.smn-desktop-header .smn-cart-link{display:none!important}}

/* Contract styling travels with the article when html2pdf clones it. */
body.cn-design .sm-contract-document,.sm-contract-document.sm-export-document{box-sizing:border-box!important;background:#fff!important;color:#172b3b!important;padding:24px!important;font:14px/1.6 Arial,sans-serif!important;text-shadow:none!important;overflow:visible!important}
body.cn-design .sm-contract-document *, .sm-contract-document.sm-export-document *{box-sizing:border-box!important;color:#172b3b!important;font-family:Arial,sans-serif!important;text-shadow:none!important;overflow-wrap:anywhere}
body.cn-design .sm-contract-document :is(p,li,small),.sm-contract-document.sm-export-document :is(p,li,small){font-size:14px!important;line-height:1.6!important}
body.cn-design .sm-contract-document p,.sm-contract-document.sm-export-document p{margin:0 0 10px!important}
body.cn-design .sm-contract-document h2,.sm-contract-document.sm-export-document h2{font-size:21px!important;line-height:1.25!important;margin:24px 0 14px!important;break-after:avoid!important;text-transform:none!important}
body.cn-design .sm-contract-document h3,.sm-contract-document.sm-export-document h3{font-size:17px!important;line-height:1.35!important;margin:20px 0 10px!important;break-after:avoid!important;text-transform:none!important}
.sm-contract-document .sm-contract-brand{font-size:26px!important;font-weight:700;border-bottom:2px solid #3857a5;padding-bottom:12px;margin-bottom:16px;color:#3857a5!important}
.sm-contract-document .sm-contract-brand small{display:block;font-weight:400}
.sm-contract-document .sm-draft-notice{padding:10px!important;background:#fff2b9!important;border-left:3px solid #d2b140}
.sm-contract-document table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:12px}
.sm-contract-document :is(td,th){padding:7px!important;border:1px solid #c7ccd1!important;font-size:12px!important;line-height:1.5!important;text-align:left!important}
.sm-contract-document th:first-child{width:39%}
.sm-contract-document :is(th:nth-child(2),th:nth-child(3)){width:10%}
.sm-contract-document tr{break-inside:avoid}
.sm-contract-document .total-row{display:flex!important;justify-content:space-between;gap:18px;padding:10px 0;border-bottom:1px solid #ddd}
.sm-contract-document .sm-contract-parties{display:grid;grid-template-columns:1fr 1fr;gap:24px;break-inside:avoid}
.sm-contract-document.sm-export-document{width:700px!important}
.sm-contract-document.sm-export-document .sm-contract-annex{break-before:page}
@media(max-width:600px){body.cn-design #contract-copy .sm-contract-document{padding:16px!important}#contract-copy .sm-contract-parties{grid-template-columns:1fr}#contract-copy .sm-contract-table{overflow-x:auto}#contract-copy table{min-width:550px}}
@media print{.sm-contract-document .sm-contract-annex{break-before:page}.sm-contract-document .sm-contract-parties{grid-template-columns:1fr 1fr!important}.sm-contract-document{width:auto!important;padding:0!important}}
.sm-contract-document.sm-export-document{padding:0!important}
body.cn-design .sm-contract-document.sm-export-document :is(p,li,small){font-size:13px!important;line-height:1.5!important}
.sm-contract-document .sm-heading-group{break-inside:avoid}
/* Keep consent visibly selectable inside narrow enquiry panels. */
body.cn-design #smn-consent{display:inline-block!important;appearance:auto!important;position:static!important;opacity:1!important;width:18px!important;min-width:18px!important;height:18px!important;min-height:18px!important;flex:0 0 18px!important;margin:4px 10px 0 0!important;padding:0!important;accent-color:#aa7855}

/* Native selects retain keyboard/mobile behavior with a visible affordance. */
body.cn-design #sm-project select {
 appearance:none!important;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m4 7 6 6 6-6' fill='none' stroke='%23e5dcec' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
 background-repeat:no-repeat!important;
 background-position:right 14px center!important;
 background-size:18px 18px!important;
 padding-right:46px!important;
}
@media(forced-colors:active){body.cn-design #sm-project select{appearance:auto!important;background-image:none!important}}

/* Crisp existing Safemode identity, without the raster's black surround. */
body.cn-design :is(#sm-project,#sm-product-dialog) .sm-safemode-visual {
 background:#002342!important;
 border:0;
  box-shadow:none;
 padding:20px!important;
}
body.cn-design :is(#sm-project,#sm-product-dialog) .sm-safemode-visual .sm-product-photo {
 width:100%!important;
 max-width:400px!important;
 height:auto!important;
 max-height:100%;
 margin:auto!important;
 padding:0!important;
 clip-path:none!important;
 object-fit:contain!important;
}

/* Catalogue add and pagination actions share the lavender accent. */
body.cn-design :is(#sm-project,#sm-product-dialog) button:is([data-add],[data-page]) {
 background:#c6b8d0!important;
 color:#1d2732!important;
 border:1px solid #ded2e5!important;
 box-shadow:none;
 transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease;
}
/* The WordPress theme paints a red ::after layer over .button on hover. */
body.cn-design :is(#sm-project,#sm-product-dialog) button:is([data-add],[data-page])::after {
 content:none!important;
 display:none!important;
}
body.cn-design :is(#sm-project,#sm-product-dialog) button:is([data-add],[data-page]):is(:hover,:focus-visible):not(:disabled) {
 background:#e0d5e7!important;
 color:#18232e!important;
 border-color:#f0e9f4!important;
 transform:none!important;
 box-shadow:0 0 0 1px #e0d5e74d,0 0 16px #c6b8d029!important;
}
body.cn-design :is(#sm-project,#sm-product-dialog) button:is([data-add],[data-page]):focus-visible {
 outline:2px solid #f4edf8;
 outline-offset:3px;
}
@media(prefers-reduced-motion:reduce){
 body.cn-design :is(#sm-project,#sm-product-dialog) button:is([data-add],[data-page]){transition:none}
}
@media(max-width:1023px){
 body.cn-design #smn-sidebar .smn-side-extra { text-align:left!important; }
 body.cn-design #smn-sidebar .smn-side-extra p { margin:18px 0 12px!important; }
 body.cn-design #smn-sidebar .smn-side-extra > a { margin-left:0!important; margin-right:0!important; }
 body.cn-design #smn-sidebar .smn-side-extra > a:not(.smn-btn) { display:block; width:fit-content; padding:8px 0; text-align:left; overflow-wrap:anywhere; }
 body.cn-design #smn-sidebar .smn-side-extra > .smn-btn { display:inline-flex; justify-content:center; }
}
body.cn-design label:has(> #smn-consent){display:flex!important;align-items:flex-start!important;text-align:left!important;font-weight:400!important;line-height:1.65!important}

body.cn-design #sm-project #sm-pagination button:disabled {
 background:#2b3b45!important;
 color:#8999a4!important;
 border:1px solid #4b5e6a!important;
 opacity:1;
 box-shadow:none!important;
 cursor:not-allowed;
}

/* Center the language code without a native arrow reserving uneven space. */
body.cn-design #smn-topbar .smn-language { display:block; margin:0; }
body.cn-design #smn-topbar #smn-language {
 display:block;
 box-sizing:border-box;
 width:44px!important;
 min-width:44px;
 height:44px!important;
 min-height:44px!important;
 padding:0!important;
 appearance:none!important;
 -webkit-appearance:none;
 background-image:none!important;
 text-align:center!important;
 text-align-last:center!important;
 text-indent:0;
 line-height:normal;
 color:#f4f5f3!important;
 color-scheme:light;
 background-color:#1b222850!important;
 border:1px solid #ffffff30!important;
 outline:none!important;
 box-shadow:none!important;
}
body.cn-design #smn-topbar #smn-language:is(:hover,:focus,:active) {
 background-color:#1b222850!important;
 border-color:#ffffff30!important;
 outline:none!important;
 box-shadow:none!important;
}
body.cn-design #smn-topbar #smn-language option {
 background:#e0dce6!important;
 color:#202b35!important;
}
body.cn-design #smn-topbar #smn-language:focus-visible { text-decoration:underline; text-underline-offset:4px; }
@media(forced-colors:active){body.cn-design #smn-topbar #smn-language:focus-visible{outline:1px solid CanvasText!important}}
@media(min-width:1024px){body.cn-design #smn-topbar{top:16px!important}}

/* Shared action states: lighten each existing palette, never theme red. */
body.cn-design .button::after,
body.cn-design button[type="submit"]::after,
body.cn-design .smn-btn::after { content:none!important; display:none!important; }
body.cn-design :is(#sm-project,#sm-product-dialog) .button {
 --sm-action-hover:#405159;
 --sm-action-ink:#f4f5f3;
}
body.cn-design #sm-project .button.primary {
 --sm-action-hover:#c28c64;
 --sm-action-ink:#18232e;
}
body.cn-design :is(#smn-home,#smn-sidebar) .smn-btn {
 --sm-action-hover:#ffffff1f;
 --sm-action-ink:#f4f5f3;
}
body.cn-design :is(#smn-home,#smn-sidebar) .smn-btn.pink {
 --sm-action-hover:#c28c64;
 --sm-action-ink:#18232e;
}
body.cn-design #sm-project #sm-quickquote #sq-preview:is(:hover,:focus-visible):not(:disabled),
body.cn-design :is(#sm-project,#sm-product-dialog) .button:is(:hover,:focus-visible):not(:disabled):not([data-add]),
body.cn-design :is(#smn-home,#smn-sidebar) .smn-btn:is(:hover,:focus-visible):not(:disabled) {
 background:var(--sm-action-hover)!important;
 color:var(--sm-action-ink)!important;
 border-color:#a8a8b5!important;
 box-shadow:0 0 0 1px #dce3ec26,0 0 14px #dce3ec14!important;
 transform:none!important;
}
body.cn-design :is(#sm-project,#sm-product-dialog) .button:focus-visible,
body.cn-design :is(#smn-home,#smn-sidebar) .smn-btn:focus-visible {
 outline:2px solid #e0d5e7;
 outline-offset:3px;
}
body.cn-design .sm-print-toolbar button:is(:hover,:focus-visible):not(:disabled),
body.cn-design #sm-project .sm-quantity button:is(:hover,:focus-visible):not(:disabled),
body.cn-design #sm-project .cart-row button.remove:is(:hover,:focus-visible):not(:disabled),
body.cn-design #sm-product-dialog .sm-product-close:is(:hover,:focus-visible) {
 background:#4b606e!important;
 color:#fff!important;
 transform:none!important;
}

/* The shared quote action is more visible without crowding the header. */
@media screen and (min-width:1024px) {
 body.cn-design .smn-desktop-header .smn-desktop-quote {
  min-height:44px;
  padding:11px 18px;
  font-size:13px;
  letter-spacing:.2px;
  gap:12px;
  box-sizing:border-box;
 }
 body.cn-design .smn-desktop-header .smn-desktop-quote > span:last-child { font-size:22px; }
}

/* Counts are indivisible badges even beside a long category name. */
body.cn-design #sm-project #sm-system-panels small {
 flex:0 0 auto;
 white-space:nowrap;
 overflow-wrap:normal;
 word-break:normal;
 min-width:3ch;
 margin-top:0;
 font-variant-numeric:tabular-nums;
}

/* Compact navigation stays clear; long translated links keep their arrow left. */
@media(max-width:1023px) {
 body.cn-design .smn-mobile-toggle {
  background:#354554!important;
  border-color:#91a1b273!important;
  color:#f5f6f7!important;
  transition:background-color .18s ease;
 }
 body.cn-design .smn-mobile-toggle:is(:hover,:focus-visible) { background:#495b6b!important; }
 .cn-design #smn-home .cn-hero-actions .cn-text-link {
  display:inline-flex;
  gap:12px;
  max-width:min(280px,48vw);
 }
 .cn-design #smn-home .cn-hero-actions .cn-text-link > span:last-child { order:-1; flex:none; }
 .cn-design #smn-home .cn-hero-actions .cn-text-link > span:first-child { min-width:0; }
}
.cn-design #smn-home .smn-footer > div { min-width:0; }
.cn-design #smn-home .smn-footer .smn-footer-contact a { display:block; width:fit-content; overflow-wrap:anywhere; }

/* The drawer wordmark and its main action share one rectangular footprint. */
@media(max-width:1023px) {
 body.cn-design #smn-sidebar { --smn-side-action-width:180px; --smn-side-action-height:56px; }
 body.cn-design #smn-sidebar .smn-brand,
 body.cn-design #smn-sidebar:is(.open,:hover,:focus-within) .smn-brand,
 body.cn-design #smn-sidebar .smn-side-extra > .smn-btn {
  width:min(var(--smn-side-action-width),100%)!important;
  height:var(--smn-side-action-height)!important;
  min-height:var(--smn-side-action-height)!important;
  box-sizing:border-box;
  border-radius:0;
  margin-inline:0!important;
  justify-content:center;
 }
 body.cn-design #smn-sidebar .smn-brand,
 body.cn-design #smn-sidebar:is(.open,:hover,:focus-within) .smn-brand {
  background:#002342!important;
  padding:0!important;
  border:0;
  box-shadow:none;
  margin-block:8px 18px;
 }
 body.cn-design #smn-sidebar .smn-logo,
 body.cn-design #smn-sidebar:is(.open,:hover,:focus-within) .smn-logo {
  display:block;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:100%!important;
  margin:0!important;
  object-fit:contain!important;
  clip-path:none!important;
  border-radius:0;
 }
}

/* Contact values sit directly above two equal-width actions. */
@media(min-width:768px) {
 .cn-design #smn-home .smn-contact .smn-contact-details,
 .cn-design #smn-home .smn-contact .smn-actions {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  width:min(600px,100%);
  max-width:600px;
  gap:16px;
  margin-inline:auto;
 }
 .cn-design #smn-home .smn-contact-details a {
  justify-content:center;
  min-width:0;
 }
 .cn-design #smn-home .smn-contact .smn-actions .smn-btn {
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-width:0;
  min-height:54px;
  box-sizing:border-box;
  padding:15px 18px;
  text-align:center;
 }
}

/* 3.5: fixed navigation, native smooth anchors and complete button outlines. */
html:has(body.smn-enabled){scroll-behavior:smooth}
body.cn-design :is(main,section,article)[id]{scroll-margin-top:96px}
body.cn-design :is(.smn-btn,.smn-desktop-quote,.smn-cart-link,.cn-hero-quote),
body.cn-design :is(#sm-project,#sm-product-dialog) .button {
 border-bottom-style:solid!important;
 border-bottom-width:1px!important;
 clip-path:none!important;
}
body.cn-design :is(.smn-btn,.smn-desktop-quote,.cn-hero-quote)::before{content:none!important}
body.cn-design :is(.smn-btn,.smn-desktop-quote,.cn-hero-quote):focus-visible{outline:2px solid #e4d5f0;outline-offset:4px}
@media(min-width:1024px){
 body.cn-design .smn-desktop-header{position:fixed;inset:0 0 auto;background:#1b2429f5;backdrop-filter:blur(14px);border-bottom:1px solid #ffffff26;box-shadow:0 8px 24px #00000020}
 .cn-design .smn-desktop-nav{gap:clamp(16px,1.8vw,28px)}
 .cn-design .smn-desktop-nav>a{font-family:'Trebuchet MS','Segoe UI',Arial,sans-serif;font-size:15px;font-weight:700;letter-spacing:.15px;color:#e0e6e7}
 .cn-design .smn-desktop-nav>a::after{height:2px;bottom:16px;background:#d6ae8a}
 .cn-design .smn-desktop-header .smn-desktop-quote{background:#d2a17b;color:#18232b!important;border:1px solid #e6bd9c;border-radius:4px;font-size:14px;min-height:46px;box-shadow:0 4px 14px #00000026}
 .cn-design .smn-desktop-header .smn-desktop-quote>span{animation:none;color:inherit}
}
@media(min-width:1024px) and (max-width:1199px){
 .cn-design .smn-desktop-brand>span{display:none}
 body.cn-design .smn-desktop-header{gap:18px;padding-left:24px;padding-right:88px}
 .cn-design .smn-desktop-nav{gap:18px}
}
/* Frosted left curtain: one entrance behind the content, then it stays still. */
@media screen {
 .cn-design #smn-home .cn-hero::before {
  inset:0 auto 0 0;width:53%;box-sizing:border-box;mix-blend-mode:normal;
  background:linear-gradient(180deg,#d3e4ee42 0%,#b4c5d12e 22%,#344c6252 45%,#26344787 72%,#1b2228c7 100%);
  border-right:1px solid #dbe8f22e;box-shadow:12px 0 34px #10192424;
  -webkit-backdrop-filter:blur(10px) saturate(.8);backdrop-filter:blur(10px) saturate(.8);
  mask-image:linear-gradient(180deg,#000 0%,#000 82%,transparent 100%);
  transform:translateX(0);animation:cn-curtain-enter 1.25s cubic-bezier(.22,1,.36,1) .12s both;
 }
}
@keyframes cn-curtain-enter {
 from {transform:translateX(-102%);opacity:.15}
 to {transform:translateX(0);opacity:1}
}
@media screen and (max-width:1023px) {
 .cn-design #smn-home .cn-hero::before {
  width:100%;height:var(--smn-curtain-height,60%);bottom:auto;border-right:0;box-shadow:none;
  -webkit-backdrop-filter:blur(6px) saturate(.8);backdrop-filter:blur(6px) saturate(.8);
  mask-image:linear-gradient(180deg,#000 0%,#000 72%,transparent 100%);
  mask-composite:add;-webkit-mask-composite:source-over;
  animation-name:cn-curtain-drop;
 }
}
@keyframes cn-curtain-drop {
 from {transform:translateY(-102%);opacity:.15}
 to {transform:translateY(0);opacity:1}
}
@media screen and (min-width:1024px) {
 .cn-design #smn-home .cn-hero-bottom {
  right:auto;width:calc(53vw - (100vw - min(1160px,84vw))/2 - 24px);
  max-width:100%;gap:20px;
 }
 .cn-design #smn-home .cn-hero-bottom>a{min-width:0;overflow-wrap:anywhere}
}
/* 3.5.2: framed components use the same stroke on all four sides.
   Keep section separators and document rules as lines rather than new boxes. */
@media screen {
 body.cn-design :is(.smn-btn,.smn-desktop-quote,.cn-hero-explore,.cn-hero-quote,.smn-picker-quote),
 body.cn-design .smn-picker-results a,
 body.cn-design .smn-solution-related a,
 body.cn-design .smn-contact-widget>summary,
 body.cn-design .smn-contact-panel a {
  border:1px solid var(--smn-frame-line,#687785)!important;
 }
 body.cn-design .smn-btn{--smn-frame-line:#687785}
 body.cn-design .smn-btn.pink{--smn-frame-line:#e6bd9c}
 body.cn-design #smn-home .smn-btn{--smn-frame-line:#ffffff42}
 body.cn-design #smn-home .smn-btn.pink{--smn-frame-line:#a56942}
 body.cn-design :is(.smn-desktop-quote,.cn-hero-quote){--smn-frame-line:#ebc3a4}
 body.cn-design .cn-hero-explore{--smn-frame-line:#7d909e}
 body.cn-design .smn-picker-quote{--smn-frame-line:#b67f59}
 body.cn-design .smn-picker-results a{--smn-frame-line:#667fa23b}
 body.cn-design .smn-solution-related a{--smn-frame-line:#516370}
 body.cn-design .smn-contact-widget>summary{--smn-frame-line:#99d8c2}
 body.cn-design .smn-contact-panel a{--smn-frame-line:#738c96}
 body.cn-design #smn-home .smn-contact{border:1px solid #9b8cb72d!important}
 body.cn-design .smn-sim-v2 .smn-safe-dial{border-color:#cfc1df}
 body.cn-design :is(.smn-desktop-quote,.cn-hero-quote):is(:hover,:focus-visible,:active){--smn-frame-line:#e8c4a7}
 body.cn-design .cn-hero-explore:is(:hover,:focus-visible,:active){--smn-frame-line:#b4bec6}
 body.cn-design .smn-btn:is(:hover,:focus-visible,:active){--smn-frame-line:#a6b4bf}
 body.cn-design .smn-btn.pink:is(:hover,:focus-visible,:active){--smn-frame-line:#e6bd9c}
 body.cn-design #smn-home .smn-btn:is(:hover,:focus-visible,:active){--smn-frame-line:#a6b4bf}
 body.cn-design #smn-home .smn-btn.pink:is(:hover,:focus-visible,:active){--smn-frame-line:#d0a17c}
}
@media screen and (max-width:600px) {
 .cn-design #smn-home .cn-hero::before {-webkit-backdrop-filter:blur(4px) saturate(.8);backdrop-filter:blur(4px) saturate(.8)}
}
@media(prefers-reduced-motion:reduce) {
 .cn-design #smn-home .cn-hero::before {animation:none;transform:none}
}
/* Purpose-led hero actions: the labels stay still; only their light changes. */
.cn-design #smn-home .cn-hero-actions .cn-text-link {
 gap:12px;min-height:58px;min-width:0;padding:11px 16px;box-sizing:border-box;
 border:1px solid #7d909e;border-radius:6px;
 font-size:12px;line-height:1.45;letter-spacing:.7px;text-decoration:none;
 transition:background-color .2s,border-color .2s,box-shadow .2s;
}
.cn-design #smn-home .cn-hero-actions .cn-text-link>span:first-child {min-width:0;white-space:normal}
.cn-design #smn-home .cn-hero-actions .cn-text-link>span {animation:none;color:inherit}
.cn-design #smn-home .cn-hero-actions .cn-hero-explore {background:#253641ed;color:#f1f4f5;box-shadow:0 4px 16px #0003;animation:none}
.cn-design #smn-home .cn-hero-actions .cn-action-icon,
body.cn-design .smn-desktop-header .cn-action-icon {
 display:grid;place-items:center;flex:0 0 auto;width:32px;height:32px;
 box-sizing:border-box;border:1px solid #ffffff38;border-radius:9px;background:#ffffff20;
}
.cn-design #smn-home .cn-hero-actions .cn-action-icon {order:-1}
.cn-design #smn-home .cn-hero-actions .cn-hero-explore .cn-action-icon {
 border-radius:50%;border-color:#d9b896;background:#d4a57821;color:#f2cda9;
}
.cn-design #smn-home .cn-hero-actions .cn-action-icon svg,
body.cn-design .smn-desktop-header .cn-action-icon svg {
 display:block;width:20px;height:20px;fill:none;stroke:currentColor;
 stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;
}
.cn-design #smn-home .cn-hero-actions .cn-hero-explore svg {width:18px;height:18px;fill:currentColor;stroke-width:1}
.cn-design #smn-home .cn-hero-actions .cn-hero-quote,
body.cn-design .smn-desktop-header .smn-desktop-quote {
 background:linear-gradient(115deg,#e0b48f,#ce9c72);color:#18232b;
 border-color:#ebc3a4;
 animation:none;box-shadow:0 4px 14px #0003;
}
.cn-design #smn-home .cn-hero-actions .cn-hero-quote .cn-action-icon,
body.cn-design .smn-desktop-header .smn-desktop-quote .cn-action-icon {border-color:#5943323b;background:#fff4df40;color:#25343b}
body.cn-design .smn-desktop-header .smn-desktop-quote .cn-action-icon {width:26px;height:26px;border-radius:6px}
body.cn-design .smn-desktop-header .smn-desktop-quote .cn-action-icon svg {width:18px;height:18px}
/* An idle left-to-right sheen, underneath the stationary labels and icons.
   It runs on touch screens too; no pointer or click is needed to start it. */
@media screen {
 .cn-design #smn-home .cn-hero-actions .cn-text-link,
 body.cn-design .smn-desktop-header .smn-desktop-quote {position:relative;isolation:isolate;overflow:hidden}
 .cn-design #smn-home .cn-hero-actions .cn-text-link>span,
 body.cn-design .smn-desktop-header .smn-desktop-quote>span {position:relative;z-index:1}
 .cn-design #smn-home .cn-hero-actions .cn-text-link::after,
 body.cn-design .smn-desktop-header .smn-desktop-quote::after {
  content:"";position:absolute;inset:-15% auto -15% 0;width:50%;z-index:0;
  pointer-events:none;background:linear-gradient(90deg,transparent,#fff4df30,transparent);
  transform:translateX(-210%) skewX(-18deg);opacity:0;
  animation:cn-action-sweep 4.6s ease-in-out infinite;
 }
 .cn-design #smn-home .cn-hero-actions .cn-hero-explore::after {
  background:linear-gradient(90deg,transparent,#d8e5fa38,transparent);animation-delay:.4s;
 }
 .cn-design #smn-home .cn-hero-actions .cn-hero-quote::after,
 body.cn-design .smn-desktop-header .smn-desktop-quote::after {
  background:linear-gradient(90deg,transparent 0%,#fff4df38 28%,#fff9eda8 50%,#fff4df38 72%,transparent 100%);
 }
}
@keyframes cn-action-sweep {
 0%,18% {transform:translateX(-210%) skewX(-18deg);opacity:0}
 22% {opacity:1}
 58% {transform:translateX(310%) skewX(-18deg);opacity:1}
 62%,100% {transform:translateX(310%) skewX(-18deg);opacity:0}
}
@media(hover:hover) and (pointer:fine) {
 .cn-design #smn-home .cn-hero-actions .cn-hero-explore:hover {animation:none;background:#3b4f5d;border-color:#b4c5ce;box-shadow:0 4px 16px #0003,0 0 0 3px #cab6dc30}
 .cn-design #smn-home .cn-hero-actions .cn-hero-quote:hover,
 body.cn-design .smn-desktop-header .smn-desktop-quote:hover {
  background:linear-gradient(115deg,#efcbac,#e2b48e);border-color:#f4d6bd;
  animation:none;box-shadow:0 5px 20px #0003,0 0 0 3px #e2b78e24;
 }
 .cn-design #smn-home .cn-hero-actions .cn-hero-explore:hover .cn-action-icon {animation:none;box-shadow:0 0 0 4px #dbb18a24}
}
.cn-design #smn-home .cn-hero-actions .cn-hero-explore:focus-visible {background:#3b4f5d}
.cn-design #smn-home .cn-hero-actions .cn-text-link:focus-visible,
body.cn-design .smn-desktop-header .smn-desktop-quote:focus-visible {animation:none;outline:2px solid #f0d3b8;outline-offset:4px}
.cn-design #smn-home .cn-hero-actions .cn-text-link:focus-visible .cn-action-icon {animation:none}
.cn-design #smn-home .cn-hero-actions .cn-text-link:active,
body.cn-design .smn-desktop-header .smn-desktop-quote:active {animation:none;box-shadow:inset 0 0 0 2px #ffffff40}
@media(max-width:1023px) {
 .cn-design #smn-home .cn-hero-actions .cn-text-link {width:min(280px,48vw);padding:10px 12px;gap:10px;font-size:11.5px;letter-spacing:.25px}
 .cn-design #smn-home .cn-hero-actions .cn-action-icon {width:28px;height:28px}
}
@media(prefers-reduced-motion:reduce) {
 .cn-design #smn-home .cn-hero-actions .cn-text-link,
 .cn-design #smn-home .cn-hero-actions .cn-hero-explore .cn-action-icon,
 body.cn-design .smn-desktop-header .smn-desktop-quote {animation:none;transition:none}
 .cn-design #smn-home .cn-hero-actions .cn-text-link::after,
 body.cn-design .smn-desktop-header .smn-desktop-quote::after {animation:none;content:none}
}
.cn-design #smn-home .cn-hero-bottom::after{content:none}
.cn-design #smn-home .cn-details-list h3{transition:color .18s}
.cn-design #smn-home .cn-details-list a:hover h3{color:#e5bd9c}

/* Native disclosure cards: readable numbers, full-width hit area and a clear open state. */
.cn-design #smn-home .smn-faq-copy{counter-reset:smn-faq}
.cn-design #smn-home .smn-faq details{
 counter-increment:smn-faq;margin:12px 0;border:1px solid #53616d;border-radius:8px;
 background:linear-gradient(125deg,#23343f,#292d3e)!important;overflow:hidden;
}
.cn-design #smn-home .smn-faq details[open]{border-color:#ad99bd;background:linear-gradient(125deg,#2b3d49,#34354b)!important}
.cn-design #smn-home .smn-faq summary{position:relative;display:flex;align-items:center;gap:16px;padding:20px 56px 20px 20px;list-style:none;font-size:15px;font-weight:600;line-height:1.5;color:#eef3f4;cursor:pointer}
.cn-design #smn-home .smn-faq summary::-webkit-details-marker{display:none}
.cn-design #smn-home .smn-faq summary::before{content:counter(smn-faq,decimal-leading-zero);display:grid;place-items:center;flex:none;width:32px;height:32px;border:1px solid #92829e;border-radius:50%;font:600 11px/1 Arial,sans-serif;color:#e0d4e9;background:#c4adcf12}
.cn-design #smn-home .smn-faq summary::after{content:'+';position:absolute;right:22px;top:50%;transform:translateY(-50%);font:300 24px/1 Arial,sans-serif;color:#e0d4e9}
.cn-design #smn-home .smn-faq details[open]>summary::after{content:'−'}
.cn-design #smn-home .smn-faq summary:is(:hover,:focus-visible){background:#ffffff08}
.cn-design #smn-home .smn-faq summary:focus-visible{outline:2px solid #e0d4e9;outline-offset:-4px;border-radius:8px}
.cn-design #smn-home .smn-faq details p{font-size:15px;line-height:1.8;color:#c8d3d8;margin:0;padding:0 24px 24px 68px}

/* A compact launcher avoids covering content; its panel opens only on request. */
body.cn-design{--smn-contact-size:52px}
body.cn-design .smn-contact-widget{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:1105;margin:0;padding:0;border:0;background:none;max-width:calc(100vw - 36px);font:400 14px/1.5 Arial,sans-serif}
body.cn-design .smn-contact-widget>summary{display:flex;align-items:center;justify-content:center;gap:9px;min-height:var(--smn-contact-size);box-sizing:border-box;padding:12px 18px;border:1px solid #99d8c2;border-bottom:2px solid #64a890;border-radius:28px;list-style:none;cursor:pointer;background:#b0dfcf;color:#15322b;box-shadow:0 5px 22px #0005;font-weight:700}
body.cn-design .smn-contact-widget>summary::-webkit-details-marker{display:none}
body.cn-design .smn-contact-widget>summary::after{content:none}
body.cn-design .smn-contact-widget>summary:hover{background:#cdf1e4}
body.cn-design .smn-contact-widget svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:none}
body.cn-design .smn-contact-panel{position:absolute;right:0;bottom:calc(100% + 12px);width:288px;max-width:calc(100vw - 36px);box-sizing:border-box;padding:22px;border:1px solid #71808f;border-radius:12px;background:linear-gradient(135deg,#243844,#303247);color:#f1f4f6;box-shadow:0 12px 36px #0006}
body.cn-design .smn-contact-panel strong{display:block;font-size:18px;color:#f1f4f6}
body.cn-design .smn-contact-panel p{margin:8px 0 18px;font-size:13px;color:#c2cdd5}
body.cn-design .smn-contact-panel a{display:flex;align-items:center;gap:12px;padding:12px;margin-top:10px;border:1px solid #738c96;border-radius:6px;background:#314954;color:#f1f6f7;text-decoration:none;min-height:48px;box-sizing:border-box}
body.cn-design .smn-contact-panel a:hover{background:#46626e}
body.cn-design .smn-contact-panel a>span:last-child:not(:first-child){min-width:0}
body.cn-design .smn-contact-panel a>span[aria-hidden]{margin-left:auto}
body.cn-design .smn-contact-panel small{display:block;color:#cbd8dd;font-size:12px;white-space:nowrap}
body.cn-design .smn-contact-widget :is(a,summary):focus-visible{outline:2px solid #e2d5f0;outline-offset:3px}
body.cn-design.smn-menu-open .smn-contact-widget{display:none}
body.cn-design:has(dialog[open]) .smn-contact-widget{visibility:hidden}
body.cn-design #sm-project #toast{bottom:calc(var(--smn-contact-size) + 30px + env(safe-area-inset-bottom));z-index:1051}
/* Reserve room at the end of each page so the launcher never traps the last action. */
body.cn-design{padding-bottom:calc(var(--smn-contact-size) + 36px + env(safe-area-inset-bottom))}
@media(max-width:1023px){body.cn-design :is(main,section,article)[id]{scroll-margin-top:84px}}
@media(max-width:767px){
 body.cn-design .smn-contact-widget>summary{width:auto;padding:12px 16px}
 body.cn-design .smn-contact-widget>summary>span{display:inline}
 .cn-design #smn-home .smn-faq summary{padding:18px 46px 18px 16px;gap:12px;font-size:14px}
 .cn-design #smn-home .smn-faq details p{padding:0 18px 22px;font-size:14px}
 .cn-design #smn-home .smn-faq summary::after{right:16px}
}
@media(prefers-reduced-motion:reduce){html:has(body.smn-enabled){scroll-behavior:auto}}
@media print{body.cn-design .smn-contact-widget{display:none!important}body.cn-design{padding-bottom:0!important}}

/* Keep cart, quote and language in one aligned group instead of separate fixed
   coordinates. The existing language and drawer controls are reused, not copied. */
@media screen {
 body.cn-design .smn-desktop-header:has(.smn-header-actions) {
  position:fixed;inset:0 0 auto;isolation:isolate;
  background:linear-gradient(110deg,#202b35f5,#2c2e3cf5);
  -webkit-backdrop-filter:blur(18px) saturate(.85);backdrop-filter:blur(18px) saturate(.85);
  box-shadow:inset 0 1px 0 #e2edf516,0 6px 20px #111c2520;
 }
 /* A continuous frosted layer across the entire header, behind all controls. */
 body.cn-design .smn-desktop-header:has(.smn-header-actions)::before {
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  box-sizing:border-box;background:linear-gradient(180deg,#dbe6f008,transparent);
  animation:cn-curtain-enter 1.25s cubic-bezier(.22,1,.36,1) .12s both;
 }
 body.cn-design .smn-desktop-header .smn-header-actions {display:flex;align-items:center;gap:12px;flex:0 0 auto;min-width:0}
 body.cn-design .smn-header-actions #smn-topbar {
  position:static!important;inset:auto!important;display:block;width:auto;height:auto;
  margin:0;padding:0;flex:none;background:none;z-index:auto;
 }
 body.cn-design .smn-desktop-header .smn-header-actions .smn-cart-link {
  display:inline-flex!important;position:static;height:48px;min-height:48px;padding:0 12px;
  box-sizing:border-box;gap:8px;border:1px solid #788d9a;border-radius:6px;
  /* Override the theme's important bottom-border shorthand on links. */
  border-color:#788d9a!important;
  background:#22323c;color:#f3f5f4!important;flex:none;
  transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease;
 }
 body.cn-design .smn-desktop-header .smn-header-actions .smn-desktop-quote {height:48px;min-height:48px;padding:0 16px}
 body.cn-design .smn-header-actions #smn-topbar #smn-language {width:48px!important;min-width:48px;height:48px!important;min-height:48px!important;border-radius:6px}
 body.cn-design .smn-header-actions .smn-cart-count {min-width:24px;white-space:nowrap;line-height:20px;font-variant-numeric:tabular-nums;transition:background-color .18s ease}
 body.cn-design .smn-desktop-header .smn-header-actions .smn-cart-link[aria-current=page] {background:#354651;border-color:#bfafce!important}
 body.cn-design .smn-desktop-header .smn-header-actions .smn-cart-link:is(:focus-visible,:active) {background:#405766;border-color:#b8cbd7!important;box-shadow:0 0 0 2px #cbbadb30}
 body.cn-design .smn-header-actions .smn-cart-link:focus-visible {outline:2px solid #dfcee8!important;outline-offset:3px!important}
}
@media screen and (min-width:1024px) {
 body.cn-design .smn-desktop-header:has(.smn-header-actions) {padding-right:clamp(24px,4vw,72px)}
}
@media screen and (min-width:1280px) {
 body.cn-design .smn-header-actions .smn-cart-label {display:inline}
}
@media screen and (max-width:1023px) {
 body.cn-design .smn-desktop-header:has(.smn-header-actions) {justify-content:flex-end;padding:10px 12px 10px 72px}
 body.cn-design .smn-desktop-header .smn-header-actions {gap:10px}
 body.cn-design .smn-desktop-header .smn-header-actions .smn-cart-link {height:44px;min-height:44px;padding:0 11px}
 body.cn-design .smn-header-actions #smn-topbar #smn-language {width:44px!important;min-width:44px;height:44px!important;min-height:44px!important}
}
@media screen and (hover:hover) and (pointer:fine) {
 body.cn-design .smn-desktop-header .smn-header-actions .smn-cart-link:hover {background:#405766;border-color:#b8cbd7!important;box-shadow:0 0 0 2px #cbbadb30}
 body.cn-design .smn-header-actions .smn-cart-link:hover .smn-cart-count {background:#f0e8f7}
}
@media(prefers-reduced-motion:reduce) {
 body.cn-design .smn-desktop-header:has(.smn-header-actions)::before {animation:none;transform:none}
 body.cn-design .smn-desktop-header .smn-header-actions .smn-cart-link,
 body.cn-design .smn-header-actions .smn-cart-count {transition:none}
}

/* 3.5.3: softer petrol glass and readable, naturally growing hero links. */
@media screen {
 body.cn-design .smn-desktop-header:has(.smn-header-actions)::before{animation:none;transform:none}
 body.cn-design .smn-desktop-nav>a{font-size:16px;font-weight:650;letter-spacing:.1px;color:#f3f6f7!important}
 body.cn-design .smn-desktop-nav>a:hover{color:#f5d6b9!important}
 body.cn-design .smn-header-actions #smn-topbar #smn-language{background:#ffffff0d!important;border:1px solid #c5d6dd55!important;color:#f6f8f9!important}
 body.cn-design .smn-mobile-toggle{background:#47616fe8!important;border:1px solid #c5d6dd55!important;border-radius:8px!important}
 body.cn-design .smn-desktop-header .smn-header-actions .smn-cart-link{background:#2f4853;border-radius:8px}
 .cn-design #smn-home .cn-hero{height:auto;min-height:calc(100svh - 76px)}
 .cn-design #smn-home .cn-hero-inner{height:auto;padding-top:80px;padding-bottom:44px}
 .cn-design #smn-home .cn-hero-bottom{position:relative;bottom:auto;left:0;margin-top:44px;gap:12px;border-bottom:0;padding-bottom:0}
 .cn-design #smn-home .cn-hero-bottom>a{display:flex;flex-direction:column;gap:12px;padding:18px 16px;border:1px solid #bacdd133!important;border-radius:12px;background:#263d47a6;text-decoration:none!important;transition:background-color .2s ease,border-color .2s ease}
 .cn-design #smn-home .cn-hero-bottom .cn-kicker{font-size:15px;line-height:1.5;letter-spacing:.5px;color:#eef4f5;min-height:0}
 .cn-design #smn-home .cn-hero-bottom p{font-size:16px;line-height:1.6;max-width:none;min-height:0;margin:0;color:#d6e0e3}
 .cn-design #smn-home .cn-hero-bottom strong{font-size:14px;line-height:1.5;letter-spacing:.3px;margin-top:auto;color:#e8c6a8}
 .cn-design #smn-home .cn-hero-bottom>a:focus-visible{outline:2px solid #edc7a7;outline-offset:4px;background:#36545f}
}
@media screen and (min-width:1024px) and (max-width:1279px){
 body.cn-design .smn-desktop-nav{gap:14px}
 body.cn-design .smn-desktop-nav>a{font-size:15px}
 .cn-design #smn-home .cn-hero-bottom{grid-template-columns:1fr}
}
@media screen and (max-width:1023px){
 .cn-design #smn-home .cn-hero{min-height:0}
 .cn-design #smn-home .cn-hero-inner{padding-top:48px;padding-bottom:36px}
 .cn-design #smn-home .cn-hero-bottom{width:100%;margin-top:36px}
}
@media screen and (max-width:767px){
 .cn-design #smn-home .cn-hero-bottom{grid-template-columns:1fr}
 .cn-design #smn-home .cn-hero-bottom>a{padding:18px 20px}
 .cn-design #smn-home .cn-hero-bottom .cn-kicker{font-size:16px}
 .cn-design #smn-home .cn-hero-bottom p{font-size:17px}
 .cn-design #smn-home .cn-hero-bottom strong{font-size:15px}
}
@media screen and (hover:hover) and (pointer:fine){
 .cn-design #smn-home .cn-hero-bottom>a:hover{background:#36545f;border-color:#d2b397!important}
}
@media(prefers-reduced-motion:reduce){.cn-design #smn-home .cn-hero-bottom>a{transition:none}}

/* 3.5.4: quiet editorial shortcuts; the full header gives way to one menu button. */
@media screen {
 body.cn-design .smn-desktop-header:has(.smn-header-actions)::before{animation:none!important;transform:none!important}
 body.cn-design .smn-desktop-header .smn-header-actions .smn-cart-link{background:#293640}
 body.cn-design .smn-mobile-toggle{background:#303d4b!important;border-color:#8e9ba855!important;box-shadow:0 4px 16px #10161b26}
 body.cn-design.smn-header-compact .smn-desktop-header{visibility:hidden;opacity:0;pointer-events:none}
 body.cn-design.smn-header-compact .smn-mobile-toggle{display:block!important;position:fixed;top:12px!important;left:16px!important;width:48px!important;height:48px!important;min-height:48px!important;line-height:46px!important;padding:0!important;font-size:24px!important;z-index:1200}
 body.cn-design #smn-sidebar.open{display:block!important;position:fixed;width:min(320px,85vw)!important;left:0;top:76px!important;bottom:0;height:auto;padding:20px 22px 28px!important;box-sizing:border-box;overflow-y:auto;visibility:visible;transform:translateX(0)!important;background:#252e3b;z-index:1150}
 body.cn-design #smn-sidebar:not(.open){visibility:hidden;transform:translateX(-100%)!important}
 body.cn-design.smn-menu-open{overflow:hidden}
 body.cn-design #smn-sidebar .smn-brand{width:180px!important;height:56px!important;padding:0!important;justify-content:flex-start}
 body.cn-design #smn-sidebar .smn-logo{width:180px!important;height:56px!important;object-fit:contain!important}
 body.cn-design #smn-sidebar .smn-logo-mark{display:none!important}
 body.cn-design #smn-sidebar nav{margin-top:24px}
 body.cn-design #smn-sidebar .smn-navlink{padding:14px 0;gap:16px}
 body.cn-design #smn-sidebar .smn-navlink span{font-size:14px;letter-spacing:.2px}
 body.cn-design #smn-sidebar .smn-side-extra{margin-top:22px}
 body.cn-design .smn-menu-backdrop{top:76px;left:min(320px,85vw)}
 .cn-design #smn-home .cn-hero-bottom{gap:26px}
 .cn-design #smn-home .cn-hero-bottom>a{position:relative;background:transparent!important;border:0!important;border-radius:0;padding:20px 0 4px;gap:14px;box-shadow:none}
 .cn-design #smn-home .cn-hero-bottom>a::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,#d7b99b80,#c0cbd32e);pointer-events:none}
 .cn-design #smn-home .cn-hero-bottom .cn-kicker{font-size:16px;color:#f0eeeb}
 .cn-design #smn-home .cn-hero-bottom p{font-size:17px;color:#d3d5d5}
 .cn-design #smn-home .cn-hero-bottom strong{font-size:15px;color:#dbb390}
 .cn-design #smn-home .cn-hero-bottom>a:focus-visible{outline:2px solid #e5bd99;outline-offset:6px}
}
@media screen and (min-width:1024px){body.cn-design .smn-mobile-toggle{display:none!important}}
@media screen and (max-width:1023px){
 body.cn-design #smn-sidebar.open{top:64px!important}
 body.cn-design .smn-menu-backdrop{top:64px}
}
@media screen and (max-width:767px){
 .cn-design #smn-home .cn-hero-bottom{gap:22px}
 .cn-design #smn-home .cn-hero-bottom p{font-size:18px}
}
@media screen and (hover:hover) and (pointer:fine){
 .cn-design #smn-home .cn-hero-bottom>a:hover::before{background:linear-gradient(90deg,#efc29c,#c0cbd355)}
 .cn-design #smn-home .cn-hero-bottom>a:hover .cn-kicker{color:#efc29c}
}

/* Keep the reference's open typography instead of boxed shortcuts. */
@media screen {
 .cn-design #smn-home .cn-hero-bottom{padding-bottom:22px;border-bottom:1px solid #c5ced42e}
 .cn-design #smn-home .cn-hero-bottom>a{padding-top:0}
 .cn-design #smn-home .cn-hero-bottom>a::before{content:none}
}

/* 3.5.5: quieter shortcut typography, constrained text and attached arrows. */
@media screen {
 .cn-design #smn-home .cn-hero-bottom .cn-kicker{font-size:14px;text-transform:none;letter-spacing:.2px}
 .cn-design #smn-home .cn-hero-bottom p{font-size:15px;line-height:1.6}
 .cn-design #smn-home .cn-hero-bottom strong{display:block;min-width:0;max-width:100%;font-size:13px;line-height:1.55;letter-spacing:.1px;text-transform:none;white-space:normal!important;overflow-wrap:anywhere}
}
@media screen and (min-width:768px) and (max-width:1023px), screen and (min-width:1280px){
 .cn-design #smn-home .cn-hero-bottom .cn-kicker{display:block;min-height:3em}
 @supports(grid-template-rows:subgrid){
  .cn-design #smn-home .cn-hero-bottom>a{display:grid;grid-template-rows:subgrid;grid-row:span 3}
  .cn-design #smn-home .cn-hero-bottom strong{margin-top:0;align-self:end}
 }
}

/* 3.5.6: an invisible outside-click target, without a dark band or theme button sizing. */
@media screen {
 body.cn-design .smn-menu-backdrop,
 body.cn-design .smn-menu-backdrop:is(:hover,:focus,:active){
  background:none!important;box-shadow:none!important;border:0!important;border-radius:0!important;
  height:auto!important;min-height:0!important;max-height:none!important;
  width:auto!important;min-width:0!important;max-width:none!important;
  margin:0!important;padding:0!important;bottom:0!important;right:0!important;
  outline:0!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
 }
}
/* The open drawer reaches the screen edge; its close control belongs to the panel. */
@media screen {
 body.cn-design.smn-menu-open .smn-desktop-header{visibility:hidden;opacity:0;pointer-events:none}
 body.cn-design #smn-sidebar.open{top:0!important;bottom:0!important;height:100dvh!important;padding-top:20px!important}
 body.cn-design.smn-menu-open .smn-menu-backdrop{top:0!important}
 body.cn-design.smn-menu-open #smn-sidebar .smn-mobile-toggle{
  display:block!important;position:absolute!important;top:16px!important;right:16px!important;left:auto!important;
  width:40px!important;height:40px!important;min-height:40px!important;line-height:36px!important;
  font-size:28px!important;color:#eef2f5!important;padding:0!important;box-shadow:none;
 }
 body.cn-design #smn-sidebar:is(.open,:hover,:focus-within) .smn-brand{
  width:180px!important;min-width:180px!important;max-width:180px!important;height:62px!important;
  min-height:62px!important;max-height:62px!important;margin:0 0 18px!important;background:none!important;
  border:0!important;box-shadow:none!important;padding:0!important;
 }
 body.cn-design #smn-sidebar:is(.open,:hover,:focus-within) .smn-logo{
  display:block!important;width:180px!important;min-width:180px!important;max-width:180px!important;
  height:62px!important;max-height:62px!important;object-fit:contain!important;transform:none!important;clip-path:none!important;
 }
}
/* Crisp menu strokes and contact symbols; small screens use a clear photo veil. */
/* The scrolled menu stays unobtrusive until it is used. An open drawer and
   keyboard/touch interaction always restore the control's full opacity. */
@media screen {
 body.cn-design .smn-mobile-toggle {opacity:1;transition:opacity .18s ease,background-color .18s ease,border-color .18s ease}
 body.cn-design.smn-header-compact:not(.smn-menu-open)>.smn-mobile-toggle {opacity:.62}
 body.cn-design.smn-header-compact:not(.smn-menu-open)>.smn-mobile-toggle:is(:focus-visible,:active) {opacity:1}
 body.cn-design.smn-header-compact:not(.smn-menu-open)>.smn-mobile-toggle:is(:hover,:focus-visible,:active) {
  background:var(--smn-menu-rest-bg,#303d4b)!important;border-color:var(--smn-menu-rest-border,#8e9ba855)!important;
 }
 body.cn-design.smn-menu-open #smn-sidebar .smn-mobile-toggle {opacity:1}
}
@media screen and (hover:hover) and (pointer:fine) {
 body.cn-design.smn-header-compact:not(.smn-menu-open)>.smn-mobile-toggle:hover {opacity:1}
}
@media(prefers-reduced-motion:reduce) {body.cn-design .smn-mobile-toggle {transition:none}}
/* These three hero links retain their plain layout in every pointer state.
   Keyboard focus keeps an outline without painting a card behind the copy. */
@media screen {
 body.cn-design #smn-home .cn-hero-bottom>a,
 body.cn-design #smn-home .cn-hero-bottom>a:is(:hover,:focus-visible,:active) {
  background:none!important;box-shadow:none!important;transform:none!important;text-decoration:none!important;
 }
 body.cn-design #smn-home .cn-hero-bottom>a:is(:hover,:focus-visible,:active) strong {text-decoration:none!important}
 body.cn-design #smn-home .cn-hero-bottom .cn-kicker {color:#f0eeeb!important}
 body.cn-design #smn-home .cn-hero-bottom strong {color:#dbb390!important}
 body.cn-design #smn-home .cn-hero-bottom>a:focus-visible {outline:2px solid #efd0b3;outline-offset:5px}
 body.cn-design #smn-sidebar .smn-navlink:is(:hover,:focus-visible,:active) {box-shadow:none!important}
 body.cn-design #smn-home .smn-contact .smn-btn:not(.pink):is(:hover,:focus-visible,:active) {
  background:#314752;color:#f3f5f4;border-color:#d1ae88!important;box-shadow:0 4px 14px #0002;
 }
}
@media screen {
 body.cn-design .smn-mobile-toggle,
 body.cn-design .smn-mobile-toggle:is(:hover,:focus-visible,:active) {color:#fff!important}
 body.cn-design .smn-contact-panel .smn-contact-method-icon {
  width:24px;height:24px;flex:0 0 24px;stroke-width:1.65;
  fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;
 }
}
@media screen and (max-width:1279px) {
 body.cn-design #smn-home .cn-hero::before {
  inset:0;width:100%;height:100%;border:0;box-shadow:none;
  background:linear-gradient(180deg,#17242dba 0%,#17242d85 38%,#17242d35 68%,#1b2429a6 100%);
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  mask-image:none!important;-webkit-mask-image:none!important;
  animation:none!important;transform:none!important;
 }
}
