.lipicode-bold .contact-hero { background:radial-gradient(ellipse at 85% 50%,#cbe9ff99,transparent 60%),linear-gradient(110deg,#f2f9ff,#e9f5ff); border-bottom:1px solid #deebfb; padding:20px 0 24px; }
.contact-hero > .container { padding-top:0; padding-bottom:0; }
.contact-breadcrumb { margin-bottom:17px; font-size:.76rem; color:#536c91; }
.contact-hero-grid { grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr); gap:35px; align-items:center; }
.lipicode-bold .contact-hero-copy h1 { font-size:clamp(2.5rem,4vw,3.5rem); line-height:1.15; letter-spacing:-.045em; margin:0 0 12px; color:#091541; }.contact-hero-copy h1 span { color:#0067ff; }
.contact-hero-copy p { max-width:650px; font-size:.96rem; line-height:1.7; color:#496389; }
.contact-illustration { height:180px; transform:scale(.8); transform-origin:center; }
.contact-letter { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:10px; padding:20px; }
.contact-letter > span { display:block; width:100%; height:6px; border-radius:4px; background:#90c3ff; }.contact-letter > span:nth-child(2) { width:70%; }
.lipicode-bold .contact-section { padding:22px 0 28px; background:linear-gradient(180deg,#fafdff,#fff); }
.contact-grid { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:20px; align-items:start; }
.lipicode-bold .contact-card { padding:22px; border:1px solid #dce9fb; border-radius:12px; background:#fff; box-shadow:0 5px 20px #1b62ad05; }
.lipicode-bold .contact-card h2 { margin:0 0 16px; font-size:1.08rem; color:#14264b; letter-spacing:-.02em; }
.contact-form-card > header { border-bottom:1px solid #ecf2fb; margin-bottom:20px; padding-bottom:13px; }.contact-form-card > header h2 { margin-bottom:5px; }.contact-form-card > header p { color:#647792; font-size:.8rem; line-height:1.6; margin:0; }
.contact-form { display:grid; gap:18px; }.contact-form-row { gap:15px; }.contact-field label { display:block; font-size:.8rem; font-weight:600; color:#243b60; margin-bottom:7px; }
.lipicode-bold .contact-input,.lipicode-bold .contact-field select,.lipicode-bold .contact-field textarea { border:1px solid #d3e2f6; border-radius:8px; background:#fff; box-shadow:none; }
.contact-input input { font:inherit; font-size:.84rem; min-height:43px; color:#273f63; }.contact-input svg { color:#6681a5; width:18px; height:18px; }
.lipicode-bold .contact-field select { width:100%; min-height:44px; padding:10px 12px; font:inherit; font-size:.84rem; color:#294363; }
.lipicode-bold .contact-field textarea { width:100%; min-height:150px; padding:12px 14px; font:inherit; font-size:.87rem; line-height:1.7; color:#273f63; resize:vertical; }
.lipicode-bold .contact-submit { width:100%; border:0; border-radius:9px; min-height:46px; color:#fff; background:linear-gradient(110deg,#168aff,#005cff); font-size:.9rem; font-weight:600; box-shadow:0 4px 12px #0875ff16; }
.contact-privacy-note { text-align:center; color:#6d7f99; font-size:.72rem; line-height:1.6; margin:14px 0 0; }.contact-privacy-note a { color:#0069ed; }
.contact-support-column { display:grid; gap:16px; min-width:0; }.contact-method { min-width:0; border:1px solid #e4edfa; border-radius:9px; padding:12px; margin:0 0 8px; background:#fff; }.contact-method:last-child { margin-bottom:0; }.contact-method > span:last-child { min-width:0; }.contact-method strong { font-size:.82rem; color:#1c355c; }.contact-method em { font-size:.77rem; color:#086ce6; overflow-wrap:anywhere; }.contact-method small { color:#677e9e; font-size:.72rem; }.contact-method-icon { width:35px; height:38px; border-radius:9px; color:#0875ff; background:#e8f3ff; }.contact-method-icon svg { width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.7; }.contact-method:nth-of-type(2) .contact-method-icon { color:#00ac7c; background:#e0f9f1; }.contact-method:nth-of-type(3) .contact-method-icon { color:#8640e5; background:#f0e9ff; }
.contact-faq details { border-top:1px solid #eaf1fb; padding:11px 0; }.contact-faq summary { cursor:pointer; font-size:.79rem; color:#314c74; line-height:1.5; }.contact-faq p { color:#5c7293; font-size:.78rem; line-height:1.75; margin:9px 0 0; }.contact-faq a { color:#0067ed; }
.contact-assurances { margin-top:20px; padding:16px 0 0; border-top:1px solid #e3edf9; }.contact-assurances > div { background:transparent; box-shadow:none; border:0; }.contact-assurances strong { font-size:.78rem; }.contact-assurances small { font-size:.72rem; }
.contact-section :is(a,button,input,textarea,select,summary):focus-visible { outline:3px solid #7bb5ff; outline-offset:3px; }
@media(max-width:850px) { .contact-grid { grid-template-columns:minmax(0,1fr); }.contact-hero-grid { grid-template-columns:minmax(0,1fr); }.contact-illustration { display:none; }.contact-assurances { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:500px) { .lipicode-bold .contact-card { padding:17px; }.contact-form-row { grid-template-columns:1fr; }.lipicode-bold .contact-hero-copy h1 { font-size:2.6rem; }.contact-hero-copy p { font-size:.87rem; }.contact-assurances { grid-template-columns:1fr; } }
/* Match the compact reference proportions and override legacy type scaling. */
.contact-hero > .container,.contact-section > .container { max-width:1360px; }
.lipicode-bold .contact-hero { padding:14px 0 18px; overflow:hidden; }
.contact-breadcrumb { padding-top:0; margin-bottom:15px; font-size:.7rem; }
.contact-hero-grid { min-height:0; grid-template-columns:minmax(0,1.35fr) minmax(260px,1fr); gap:30px; }
.contact-hero-copy { padding:0; }
.lipicode-bold .contact-hero-copy h1 { font-size:clamp(2.4rem,3.9vw,3.4rem); line-height:1.12; margin:0 0 9px; }
.lipicode-bold .contact-hero-copy p { font-size:.86rem!important; line-height:1.5!important; }
.contact-hero .contact-assurances { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:17px 0 0; padding:0; border:0; gap:12px; }
.contact-hero .contact-assurances > div { display:flex; align-items:center; gap:8px; min-width:0; padding:0; }
.contact-hero .contact-assurances > div > span { width:34px; height:36px; flex:0 0 34px; border-radius:9px; background:white; color:#0875ff; }
.contact-hero .contact-assurances svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.7; }
.lipicode-bold .contact-hero .contact-assurances p { margin:0; font-size:.65rem!important; line-height:1.5!important; }
.contact-hero .contact-assurances strong { display:block; font-size:.64rem; color:#1e3e70; }
.lipicode-bold .contact-hero .contact-assurances small { display:block; font-size:.63rem!important; color:#587094; }
.contact-illustration { height:180px; min-height:180px; transform:none; }
.contact-illustration::before { width:360px; height:155px; right:5%; bottom:0; background:linear-gradient(130deg,#d4efff,#bcdfff88); border-radius:48%; }
.contact-illustration::after { border-color:#2188ff66; }
.contact-envelope { width:190px; height:115px; right:25%; bottom:3px; background:linear-gradient(135deg,#32acff,#0062f3); box-shadow:0 13px 25px #0069d82b; }
.contact-envelope::before,.contact-envelope::after { width:95px; }
.contact-envelope::before { background:linear-gradient(145deg,#45b9ff,#0875ff); }.contact-envelope::after { background:linear-gradient(215deg,#229eff,#0054dd); }.contact-envelope > b { background:linear-gradient(180deg,#168bff,#0056ef); }
.contact-letter { bottom:58px; height:90px; }.contact-letter::after { display:none; }
.contact-chat { background:linear-gradient(135deg,#21afff,#005fff); }.contact-plane .plane-body { fill:#148fff; }.contact-plane .plane-fold { fill:#0061de; }.contact-plane .plane-shadow { fill:#0057cc; }
.lipicode-bold .contact-section { padding:17px 0 22px; }
.contact-grid { grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:16px; }
.lipicode-bold .contact-card { padding:17px; border-radius:10px; }
.contact-form-card > header { margin-bottom:14px; padding-bottom:11px; }.lipicode-bold .contact-card h2 { font-size:.98rem; margin-bottom:10px; }.contact-form-card > header h2 { margin:0; }
.contact-form { margin-top:0; gap:15px; }.contact-field { gap:0; }
.lipicode-bold .contact-section .contact-field label { font-size:.75rem!important; line-height:1.4!important; margin-bottom:7px; }.contact-required { color:#ee4262; }
.lipicode-bold .contact-section .contact-input { border:0; background:transparent; }
.lipicode-bold .contact-section .contact-input input { height:37px; min-height:37px; padding:8px 12px 8px 39px!important; font-size:.77rem!important; line-height:1.4; }
.contact-input svg { left:12px; width:17px; height:17px; }
.lipicode-bold .contact-section .contact-field select { height:37px; min-height:37px; padding:7px 12px!important; font-size:.77rem!important; }
.lipicode-bold .contact-section .contact-field textarea { min-height:116px; height:116px; padding:10px 12px!important; font-size:.79rem!important; line-height:1.6!important; }
.lipicode-bold .contact-submit { min-height:42px; height:42px; font-size:.85rem; }
.lipicode-bold .contact-section .contact-privacy-note { font-size:.67rem!important; margin-top:12px; }
.contact-support-column { gap:13px; }
.contact-method { display:flex; align-items:center; gap:12px; padding:9px; margin-bottom:5px; }
.contact-method strong { font-size:.73rem; }.contact-method em { font-size:.7rem; }
.lipicode-bold .contact-section .contact-method small { font-size:.68rem!important; line-height:1.4!important; }
.contact-method-icon { width:32px; height:34px; flex:0 0 32px; }
.contact-faq details { padding:9px 0; }.contact-faq summary { font-size:.74rem; }
.lipicode-bold .contact-section .contact-faq p { font-size:.75rem!important; }
@media(max-width:850px) { .contact-hero-grid,.contact-grid { grid-template-columns:1fr; }.contact-hero .contact-assurances { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; } }
@media(max-width:500px) { .contact-form-row { grid-template-columns:1fr; }.lipicode-bold .contact-card { padding:15px; }.contact-hero .contact-assurances { gap:12px 8px; } }
/* Reference contact layout, using the shared site typography. */
.contact-hero>.container,.contact-section>.container{max-width:1320px;width:calc(100% - 112px)}
.contact-hero-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:24px}
.contact-hero-art{position:relative;height:205px;display:flex;align-items:center;padding-right:100px}
.contact-hero-art img{width:100%;height:240px;object-fit:contain}
.contact-hero-art>span{position:absolute;right:0;top:38%;color:#0059f4;font-size:1.35rem;font-weight:700;font-style:italic;transform:rotate(-9deg);line-height:1.25;border-bottom:3px solid #0063ff;padding-bottom:8px}
.contact-hero .contact-assurances>div>span{display:grid;place-items:center;width:42px;height:44px;flex-basis:42px;border:1px solid #deedff;box-shadow:0 3px 8px #086fff08}
.contact-hero .contact-assurances .green{color:#00b888}
.contact-hero .contact-assurances strong{font-weight:500}
.lipicode-bold .contact-card h2{display:flex;align-items:center;gap:10px}
.contact-card h2>svg{width:23px;height:23px;flex:0 0 23px;stroke:#0074ff;stroke-width:2;fill:none}
.lipicode-bold .contact-section .contact-method{display:flex;width:100%;text-align:left;gap:12px;padding:5px 7px;margin:0;border-radius:8px;min-height:51px;font:inherit}
.contact-method>span:nth-child(2){flex:1;min-width:0;display:grid;gap:2px}
.contact-method>em{font-style:normal;font-size:.67rem;white-space:nowrap}
.contact-method-icon{width:39px;height:41px;flex:0 0 39px;display:grid;place-items:center}
.contact-method:nth-of-type(2) .contact-method-icon{color:#00b987;background:#e1faf3}
.contact-method:nth-of-type(3) .contact-method-icon{color:#963aff;background:#f2e8ff}
.contact-method:nth-of-type(4) .contact-method-icon{color:#ff9900;background:#fff2e1}
.contact-faq-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:5px}
.contact-faq-heading>a{font-size:.66rem;white-space:nowrap;color:#0068ff}
.lipicode-bold .contact-faq-heading h2{margin:0;font-size:.9rem}
.contact-faq summary{list-style:none;display:flex;justify-content:space-between;gap:10px}
.contact-faq summary::-webkit-details-marker{display:none}
.contact-faq summary::after{content:'›';color:#0073ff;font-size:1.2rem;line-height:1}
.contact-faq details[open] summary::after{transform:rotate(90deg)}
@media(max-width:1000px){.contact-method>em{white-space:normal;text-align:right;max-width:100px}.contact-hero-art{padding-right:65px}.contact-hero-art>span{font-size:1rem}}
@media(max-width:850px){.contact-hero-art{display:none}.contact-hero-grid{grid-template-columns:1fr}.contact-hero>.container,.contact-section>.container{width:calc(100% - 36px)}}
@media(max-width:500px){.contact-faq-heading{align-items:flex-start}.contact-method>em{font-size:.6rem;max-width:95px}}
/* Give assurance icons breathing room from the legacy card dividers. */
.lipicode-bold .contact-hero .contact-assurances{background:transparent;border:0;box-shadow:none;overflow:visible;gap:12px}
.lipicode-bold .contact-hero .contact-assurances>div{padding:6px 8px;border:0!important;border-radius:0;background:transparent;box-shadow:none;overflow:visible}
.lipicode-bold .contact-hero .contact-assurances>div::before,.lipicode-bold .contact-hero .contact-assurances>div::after{display:none}
@media(max-width:500px){.lipicode-bold .contact-section .contact-method{display:grid;grid-template-columns:43px minmax(0,1fr);column-gap:10px;row-gap:3px;padding:8px}.contact-method>.contact-method-icon{grid-column:1;grid-row:1/3}.contact-method>span:nth-child(2){grid-column:2}.contact-method>em{grid-column:2;max-width:none;white-space:normal;text-align:left;font-size:.68rem}}
