/* ============ Orphia Mobile Pro — design system ============ */
:root{
  --ink:#0F172A;
  --muted:#475569;
  --line:#E2E8F0;
  --bg:#F8FAFC;
  --surface:#FFFFFF;
  --brand:#0B1324;
  --accent:#155EEF;

  --font:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;

  --s1:12px; --s2:16px; --s3:24px; --s4:32px; --s5:48px; --s6:72px;
  --radius:18px; --radius-lg:22px;
  --shadow-sm:0 1px 2px rgba(2,8,23,.06), 0 1px 1px rgba(2,8,23,.04);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:var(--font);color:var(--ink);background:var(--bg)}

.wp-block-group.section-hero {
    margin-top: 10px;
}

/* Typography with clamps for mobile */
h1{font-size:clamp(26px,5vw,44px);line-height:1.15;margin:0}
h2{font-size:clamp(22px,4vw,32px);line-height:1.2;margin:0}
h3{font-size:clamp(18px,3.5vw,20px);line-height:1.3;margin:0}
p{color:var(--muted);line-height:1.7;margin:0}
.lead{font-size:clamp(16px,3.5vw,18px)}

/* Layout primitives */
.container{max-width:1180px;margin:0 auto;padding:0 var(--s3)}
.section{padding:var(--s6) 0}
.section-alt{background:#F7F9FC}
.box{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--s4)}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--s4)}
.grid{display:grid;gap:var(--s3)}
.grid-2{grid-template-columns:1.15fr .85fr}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.stack>*+*{margin-top:var(--s3)}
.stack-2>*+*{margin-top:var(--s2)}
img,.custom-logo{max-width:100%;height:auto}

/* Lists */
.list{list-style:none;margin:0;padding:0}
.list li{display:flex;gap:10px;align-items:flex-start;color:var(--muted)}
.dot{width:10px;height:10px;border-radius:9999px;background:var(--brand);margin-top:8px}

/* Buttons */
.wp-block-buttons{display:flex;gap:12px;flex-wrap:wrap}
.wp-block-button .wp-element-button,
.btn{display:inline-flex;align-items:center;gap:.6rem;background-color: #299c94;padding:12px 18px;border-radius:14px;border:1px solid var(--line);font-weight:600;text-decoration:none}
.btn-primary,.wp-block-button.is-style-fill .wp-element-button
.btn-ghost{color:var(--ink)}

/* Header & navigation */
.header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.9);backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid var(--line)}
.brand{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--brand);color:#fff;font-weight:700}
.nav ul{margin:0;padding:0;list-style:none;display:flex;gap:20px}
.nav a{text-decoration:none;color:var(--ink)}

/* CSS-only mobile menu */
.nav-toggle{display:none}
#menu-toggle{position:absolute;left:-9999px}
@media (max-width:900px){
  .nav-toggle{display:inline-flex;align-items:center;gap:.5rem;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font-weight:600;cursor:pointer}
  .nav{display:none}
  #menu-toggle:checked ~ nav.nav{display:block}
  .nav ul{flex-direction:column;gap:12px;padding:12px 0}
}
@media (min-width:901px){
  .nav{display:block}
}

/* Responsive grids and overrides for editor inline grids */
@media (max-width:1024px){
  .container{padding-left:16px;padding-right:16px}
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr}
  [style*="grid-template-columns"]{grid-template-columns:1fr !important}
  [style*="display:grid"][style*="grid-template-columns"]{display:grid !important}
}
@media (max-width:640px){
  .card,.box{padding:var(--s3)}
  .section{padding:48px 0}
}

/* Footer */
.footer{border-top:1px solid var(--line);padding:var(--s6) 0}
.small{font-size:12px;color:#64748b}

/* Resize site logo */
.custom-logo {
  max-height: 140px;  /* adjust this value */
  width: auto;       /* keeps proportions */
  height: auto;
}
@media (max-width: 640px) {
  .custom-logo {
    max-height: 80px;
  }
}
/* ===== CF7 — Corporate form styling ===== */
.wpcf7 form {
  display: block;
}

/* Optional grid wrapper for two columns on desktop */
.form-grid {
  display: grid;
  gap: var(--s3);
  grid-template-columns: 1fr 1fr;
}
@media (max-width: 900px){
  .form-grid { grid-template-columns: 1fr }
}

/* Rows that should span full width */
.form-row {
  grid-column: 1 / -1;
}

/* Labels */
.wpcf7 form label {
  display: block;
  font-weight: 600;
  color: var(--ink);
  margin-bottom: 8px;
}

/* Inputs, selects, textareas */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 select,
.wpcf7 textarea {
  width: 100%;
  appearance: none;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
  border-radius: 12px;
  padding: 12px 14px;
  line-height: 1.5;
  transition: border-color .15s ease, box-shadow .15s ease;
  outline: none;
}
.wpcf7 textarea {
  min-height: 140px;
  resize: vertical;
}

/* Placeholder colour */
.wpcf7 ::placeholder {
  color: var(--muted);
  opacity: .8;
}

/* Focus state */
.wpcf7 input:focus,
.wpcf7 select:focus,
.wpcf7 textarea:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(21,94,239,.12);
}

/* Invalid state from CF7 */
.wpcf7 .wpcf7-not-valid {
  border-color: #dc2626;
  box-shadow: 0 0 0 3px rgba(220,38,38,.10);
}
.wpcf7 .wpcf7-not-valid-tip {
  margin-top: 6px;
  font-size: 13px;
  color: #dc2626;
}

/* Form level response message */
.wpcf7 form .wpcf7-response-output {
  margin: 16px 0 0 0;
  border: 1px solid var(--line);
  border-left: 4px solid var(--brand);
  background: #fff;
  color: var(--ink);
  border-radius: 10px;
  padding: 12px 14px;
}
.wpcf7 form.sent .wpcf7-response-output {
  border-left-color: #16a34a; /* green for success */
}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output {
  border-left-color: #dc2626; /* red for error */
}

/* Checkbox and radio groups */
.wpcf7-list-item {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 6px 16px 6px 0;
}
.wpcf7-list-item input[type="checkbox"],
.wpcf7-list-item input[type="radio"] {
  width: 18px; height: 18px;
}

/* Submit button */
.wpcf7 input[type="submit"] {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  padding: 12px 18px;
  border-radius: 14px;
  border: 1px solid var(--brand);
  background: var(--brand);
  color: #fff;
  font-weight: 700;
  cursor: pointer;
  transition: filter .15s ease, transform .02s ease-in;
}
.wpcf7 input[type="submit"]:hover { filter: brightness(1.05) }
.wpcf7 input[type="submit"]:active { transform: tran
	
	/* Center the homepage buttons */
.hero-buttons {
  justify-content: center;
}
/* ===== Orphia Menu (scoped, won’t clash) ===== */
.omp-header-bar{
  display:flex; justify-content:space-between; align-items:center; padding:14px 0;
}

/* Desktop: visible by default */
.omp-nav-desktop{ display:block }
.omp-nav-desktop .omp-list{
  display:flex; gap:20px; margin:0; padding:0; list-style:none;
}
.omp-nav-desktop a{ text-decoration:none; color:var(--ink) }

/* Hide mobile by default (reinforces inline style) */
.omp-nav-mobile-wrap{ display:none !important }

/* Mobile brea/* ============ Orphia Mobile Pro — design system ============ */
:root{
  --ink:#0F172A;
  --muted:#475569;
  --line:#E2E8F0;
  --bg:#F8FAFC;
  --surface:#FFFFFF;
  --brand:#0B1324;
  --accent:#155EEF;

  --font:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;

  --s1:12px; --s2:16px; --s3:24px; --s4:32px; --s5:48px; --s6:72px;
  --radius:18px; --radius-lg:22px;
  --shadow-sm:0 1px 2px rgba(2,8,23,.06), 0 1px 1px rgba(2,8,23,.04);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:var(--font);color:var(--ink);background:var(--bg)}

/* Typography with clamps for mobile */
h1{font-size:clamp(26px,5vw,44px);line-height:1.15;margin:0}
h2{font-size:clamp(22px,4vw,32px);line-height:1.2;margin:0}
h3{font-size:clamp(18px,3.5vw,20px);line-height:1.3;margin:0}
p{color:var(--muted);line-height:1.7;margin:0}
.lead{font-size:clamp(16px,3.5vw,18px)}

/* Layout primitives */
.container{max-width:1180px;margin:0 auto;padding:0 var(--s3)}
.section{padding:var(--s6) 0}
.section-alt{background:#F7F9FC}
.box{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--s4)}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--s4)}
.grid{display:grid;gap:var(--s3)}
.grid-2{grid-template-columns:1.15fr .85fr}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.stack>*+*{margin-top:var(--s3)}
.stack-2>*+*{margin-top:var(--s2)}
img,.custom-logo{max-width:100%;height:auto}

/* Lists */
.list{list-style:none;margin:0;padding:0}
.list li{display:flex;gap:10px;align-items:flex-start;color:var(--muted)}
.dot{width:10px;height:10px;border-radius:9999px;background:var(--brand);margin-top:8px}

/* Buttons */
.wp-block-buttons{display:flex;gap:12px;flex-wrap:wrap}
.wp-block-button .wp-element-button,
.btn{
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  padding:12px 18px;
  border-radius:14px;
  border:1px solid var(--line);
  font-weight:600;
  text-decoration:none;
}

/* Primary (filled) */
.btn-primary,
.wp-block-button.is-style-fill .wp-element-button{
  background:var(--brand);
  border-color:var(--brand);
  color:#fff;
}

/* Ghost / outline */
.btn-ghost,
.wp-block-button.is-style-outline .wp-element-button{
  background:#fff;
  border-color:var(--line);
  color:var(--ink);
}

/* Optional: centre specific button groups */
.hero-buttons{justify-content:center}

/* Header & generic navigation (kept for legacy blocks) */
.header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.9);backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid var(--line)}
.brand{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--brand);color:#fff;font-weight:700}
.nav ul{margin:0;padding:0;list-style:none;display:flex;gap:20px}
.nav a{text-decoration:none;color:var(--ink)}

/* CSS-only mobile toggle for legacy header */
.nav-toggle{display:none}
#menu-toggle{position:absolute;left:-9999px}
@media (max-width:900px){
  .nav-toggle{display:inline-flex;align-items:center;gap:.5rem;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font-weight:600;cursor:pointer}
  .nav{display:none}
  #menu-toggle:checked ~ nav.nav{display:block}
  .nav ul{flex-direction:column;gap:12px;padding:12px 0}
}
@media (min-width:901px){
  .nav{display:block}
}

/* Responsive grids and overrides for editor inline grids */
@media (max-width:1024px){
  .container{padding-left:16px;padding-right:16px}
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr}
  [style*="grid-template-columns"]{grid-template-columns:1fr !important}
  [style*="display:grid"][style*="grid-template-columns"]{display:grid !important}
}
@media (max-width:640px){
  .card,.box{padding:var(--s3)}
  .section{padding:48px 0}
}

/* Footer */
.footer{border-top:1px solid var(--line);padding:var(--s6) 0}
.small{font-size:12px;color:#64748b}

/* Resize site logo */
.custom-logo{max-height:140px;width:auto;height:auto}
@media (max-width:640px){.custom-logo{max-height:80px}}

/* ===== CF7 — Corporate form styling ===== */
.wpcf7 form{display:block}

/* Optional grid wrapper for two columns on desktop */
.form-grid{display:grid;gap:var(--s3);grid-template-columns:1fr 1fr}
@media (max-width:900px){.form-grid{grid-template-columns:1fr}}

/* Rows that should span full width */
.form-row{grid-column:1 / -1}

/* Labels */
.wpcf7 form label{display:block;font-weight:600;color:var(--ink);margin-bottom:8px}

/* Inputs, selects, textareas */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 select,
.wpcf7 textarea{
  width:100%;
  appearance:none;
  border:1px solid var(--line);
  background:#fff;
  color:var(--ink);
  border-radius:12px;
  padding:12px 14px;
  line-height:1.5;
  transition:border-color .15s ease, box-shadow .15s ease;
  outline:none;
}
.wpcf7 textarea{min-height:140px;resize:vertical}

/* Placeholder colour */
.wpcf7 ::placeholder{color:var(--muted);opacity:.8}

/* Focus state */
.wpcf7 input:focus,
.wpcf7 select:focus,
.wpcf7 textarea:focus{
  border-color:var(--accent);
  box-shadow:0 0 0 3px rgba(21,94,239,.12);
}

/* Invalid state from CF7 */
.wpcf7 .wpcf7-not-valid{border-color:#dc2626;box-shadow:0 0 0 3px rgba(220,38,38,.10)}
.wpcf7 .wpcf7-not-valid-tip{margin-top:6px;font-size:13px;color:#dc2626}

/* Form level response message */
.wpcf7 form .wpcf7-response-output{
  margin:16px 0 0 0;
  border:1px solid var(--line);
  border-left:4px solid var(--brand);
  background:#fff;
  color:var(--ink);
  border-radius:10px;
  padding:12px 14px;
}
.wpcf7 form.sent .wpcf7-response-output{border-left-color:#16a34a}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output{border-left-color:#dc2626}

/* Checkbox and radio groups */
.wpcf7-list-item{display:flex;align-items:center;gap:10px;margin:6px 16px 6px 0}
.wpcf7-list-item input[type="checkbox"],
.wpcf7-list-item input[type="radio"]{width:18px;height:18px}

/* Submit button */
.wpcf7 input[type="submit"]{
  display:inline-flex;align-items:center;gap:.6rem;
  padding:12px 18px;border-radius:14px;
  border:1px solid var(--brand);
  background:var(--brand);color:#fff;
  font-weight:700;cursor:pointer;
  transition:filter .15s ease, transform .02s ease-in;
}
.wpcf7 input[type="submit"]:hover{filter:brightness(1.05)}
.wpcf7 input[type="submit"]:active{transform:translateY(1px)}

/* ===== Orphia Menu (scoped, stable) ===== */
/* Header bar */
.omp-header-bar{
  display:flex;justify-content:space-between;align-items:center;padding:14px 0;
}

/* Desktop: visible by default */
.omp-nav-desktop{display:block}
.omp-nav-desktop .omp-list{display:flex;gap:20px;margin:0;padding:0;list-style:none}
.omp-nav-desktop a{text-decoration:none;color:var(--ink)}

/* Hide mobile by default (reinforces inline style safeguard) */
.omp-nav-mobile-wrap{display:none !important}

/* Mobile breakpoint */
@media (max-width:900px){
  /* Top bar: centre logo; hide desktop nav */
  .omp-header-bar{justify-content:center}
  .omp-nav-desktop{display:none !important}

  /* Show the centred Menu button with dropdown */
  .omp-nav-mobile-wrap{display:block !important;padding-bottom:10px}
  .omp-nav-mobile{width:100%;display:flex;flex-direction:column;align-items:center}
  .omp-nav-mobile > summary{
    list-style:none;cursor:pointer;
    display:inline-flex;align-items:center;gap:.5rem;
    padding:10px 16px;border:1px solid var(--line);border-radius:12px;
    background:#fff;color:var(--ink);font-weight:600;
  }
  .omp-nav-mobile > summary::-webkit-details-marker{display:none}

  /* Dropdown panel */
  .omp-nav-mobile > nav{display:none}
  .omp-nav-mobile[open] > nav{
    display:block;width:100%;
    background:#fff;border:1px solid var(--line);border-radius:12px;
    box-shadow:var(--shadow-sm,0 1px 2px rgba(16,24,40,.06));
    margin-top:8px;padding:8px 12px;
  }
  .omp-nav-mobile .omp-list{
    display:flex;flex-direction:column;align-items:center;
    gap:12px;margin:0;padding:12px 0;list-style:none;
  }
  .omp-nav-mobile a{padding:8px 6px;display:block;text-decoration:none;color:var(--ink)}
}

/* Keep logo sensible across all screens */
.custom-logo{max-height:48px;height:auto;width:auto}
@media (max-width:640px){.custom-logo{max-height:40px}}
kpoint */
@media (max-width: 900px){
  /* Top bar: centre logo; hide desktop nav */
  .omp-header-bar{ justify-content:center }
  .omp-nav-desktop{ display:none !important }

  /* Show the centred Menu button with dropdown */
  .omp-nav-mobile-wrap{ display:block !important; padding-bottom:10px }
  .omp-nav-mobile{
    width:100%; display:flex; flex-direction:column; align-items:center;
  }
  .omp-nav-mobile > summary{
    list-style:none; cursor:pointer;
    display:inline-flex; align-items:center; gap:.5rem;
    padding:10px 16px; border:1px solid var(--line); border-radius:12px;
    background:#fff; color:var(--ink); font-weight:600;
  }
  .omp-nav-mobile > summary::-webkit-details-marker{ display:none }

  /* Dropdown panel */
  .omp-nav-mobile > nav{ display:none; }
  .omp-nav-mobile[open] > nav{
    display:block; width:100%;
    background:#fff; border:1px solid var(--line); border-radius:12px;
    box-shadow: var(--shadow-sm, 0 1px 2px rgba(16,24,40,.06));
    margin-top:8px; padding:8px 12px;
  }
  .omp-nav-mobile .omp-list{
    display:flex; flex-direction:column; align-items:center;
    gap:12px; margin:0; padding:12px 0; list-style:none;
  }
  .omp-nav-mobile a{ padding:8px 6px; display:block; text-decoration:none; color:var(--ink) }
}

/* Keep logo sensible */
.custom-logo{ max-height:48px; height:auto; width:auto }
@media (max-width: 640px){ .custom-logo{ max-height:40px } }
	
