/*
Theme Name: IST Hungary
Theme URI: https://isthungary.com
Author: IST Hungary
Description: Premium private jets and yachts brokerage theme. Classic PHP theme with Customizer settings, ACF-powered Aircraft/Yacht catalog and a Journal blog section.
Version: 1.0.0
Requires PHP: 7.4
Text Domain: ist-hungary
*/

  /* ---------- tokens ---------- */
  :root{
    --bg:            #0E1A1F;
    --bg-soft:       #132329;
    --bg-panel:      #172A31;
    --paper:         #F9F5EC;
    --paper-dim:     #E4DAC3;
    --ink:           #12201F;
    --text:          #E9E2D2;
    --text-dim:      #A9B7B9;
    --text-faint:    #728487;
    --brass:         #C6A059;
    --brass-soft:    #E4C888;
    --brass-dim:     #8C7038;
    --steel:         #5F8089;
    --accent:        #C93C00;
    --accent-dark:   #A03000;
    --header-bg:     #F9F5EC;
    --header-text:   #12201F;
    --header-text-dim: #57655F;
    --line:          rgba(233,226,210,0.14);
    --line-strong:   rgba(233,226,210,0.28);
    --radius-s:       3px;
    --radius-m:       5px;
    --serif: 'Cormorant', 'Iowan Old Style', Georgia, serif;
    --sans:  'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --maxw: 1180px;
  }

  :root:not([data-theme="light"]){ color-scheme: dark; }
  @media (prefers-color-scheme: dark){
    :root:not([data-theme="light"]){
      --bg:#0E1A1F; --bg-soft:#132329; --bg-panel:#172A31; --text:#E9E2D2;
    }
  }
  :root[data-theme="dark"]{
    --bg:#0E1A1F; --bg-soft:#132329; --bg-panel:#172A31; --text:#E9E2D2;
  }

  *{ box-sizing:border-box; }
  html{ scroll-behavior:smooth; }
  body{
    margin:0;
    background:var(--bg);
    color:var(--text);
    font-family:var(--sans);
    font-weight:400;
    line-height:1.55;
    -webkit-font-smoothing:antialiased;
  }
  img,svg{ max-width:100%; display:block; }
  a{ color:inherit; }
  .wrap{ max-width:var(--maxw); margin:0 auto; padding:0 32px; }
  @media (max-width:640px){ .wrap{ padding:0 20px; } }

  h1,h2,h3,h4{ font-family:var(--serif); font-weight:600; margin:0; color:var(--text); }
  html[lang="zh"] h1, html[lang="zh"] h2, html[lang="zh"] h3, html[lang="zh"] h4{ font-family:'Noto Sans SC', var(--serif); }
  html[lang="zh"] body{ font-family:'Noto Sans SC', var(--sans); }
  html[lang="ja"] h1, html[lang="ja"] h2, html[lang="ja"] h3, html[lang="ja"] h4{ font-family:'Noto Sans JP', var(--serif); }
  html[lang="ja"] body{ font-family:'Noto Sans JP', var(--sans); }
  html[lang="hy"] h1, html[lang="hy"] h2, html[lang="hy"] h3, html[lang="hy"] h4{ font-family:'Noto Sans Armenian', var(--serif); }
  html[lang="hy"] body{ font-family:'Noto Sans Armenian', var(--sans); }
  p{ margin:0; }

  ::selection{ background:var(--brass); color:var(--ink); }

  .overflow-x{ overflow-x:auto; }

  /* ---------- section rhythm ---------- */
  section{ position:relative; padding:112px 0; border-bottom:1px solid var(--line); }
  @media (max-width:768px){ section{ padding:72px 0; } }
  section.on-paper{ background:var(--paper); color:var(--ink); border-bottom:1px solid rgba(18,32,31,0.12); }
  section.on-paper.journal-white{ background:#FFFFFF; }
  section.on-paper .text-dim{ color:#516260; }
  section.on-paper h1, section.on-paper h2, section.on-paper h3{ color:var(--ink); }

  .kicker{
    font-family:var(--sans); font-size:14px; letter-spacing:0.01em;
    color:var(--brass-soft); margin-bottom:18px; font-weight:500;
  }
  .on-paper .kicker{ color:var(--brass-dim); }

  .section-head{ max-width:640px; margin-bottom:56px; }
  .section-head h2{ font-size:clamp(28px,3.6vw,40px); line-height:1.15; letter-spacing:-0.01em; }
  .section-head .lede{ margin-top:16px; color:var(--text-dim); font-size:17px; max-width:520px; }
  .on-paper .section-head .lede{ color:#57655f; }

  /* ---------- nav ---------- */
  header{
    position:sticky; top:0; z-index:50;
    background:rgba(239,231,214,0.94);
    backdrop-filter:blur(10px);
    border-bottom:1px solid rgba(18,32,31,0.12);
  }
  body.isth-blog-white-header header{
    background:rgba(255,255,255,0.94);
  }
  .nav-row{ display:flex; align-items:center; justify-content:space-between; height:78px; }
  .logo{ display:flex; align-items:center; text-decoration:none; height:100%; }
  .logo-img{ height:calc(100% - 10px); max-height:68px; width:auto; border-radius:2px; display:block; }
  nav.links{ display:flex; align-items:center; gap:34px; }
  nav.links li{ list-style:none; margin:0; padding:0; }
  nav.links a{ text-decoration:none; font-size:16px; color:var(--header-text-dim); transition:color .2s ease; }
  nav.links a:hover{ color:var(--header-text); }
  .nav-right{ display:flex; align-items:center; gap:26px; }
  /* ---------- language dropdown ---------- */
  .lang-dropdown{ position:relative; font-size:13px; }
  .lang-dropdown summary{
    list-style:none; cursor:pointer; display:flex; align-items:center; gap:6px;
    color:var(--header-text-dim); border:1px solid rgba(18,32,31,0.18); border-radius:var(--radius-s);
    padding:7px 12px; user-select:none;
  }
  .lang-dropdown summary::-webkit-details-marker{ display:none; }
  .lang-dropdown summary:hover{ color:var(--header-text); border-color:rgba(18,32,31,0.32); }
  .lang-dropdown[open] summary{ color:var(--header-text); border-color:var(--accent); }
  .lang-caret{ width:14px; height:14px; transition:transform .15s ease; }
  .lang-dropdown[open] .lang-caret{ transform:rotate(180deg); }
  .lang-menu{
    position:absolute; top:calc(100% + 8px); right:0; z-index:60;
    background:var(--paper); border:1px solid rgba(18,32,31,0.14); border-radius:var(--radius-m);
    box-shadow:0 10px 30px rgba(18,32,31,0.18); padding:6px; min-width:120px;
    display:flex; flex-direction:column; gap:2px;
  }
  .lang-menu-item{
    display:block; padding:8px 12px; border-radius:var(--radius-s); font-size:13px;
    color:var(--ink); text-decoration:none; white-space:nowrap;
  }
  a.lang-menu-item:hover{ background:rgba(18,32,31,0.06); }
  .lang-menu-item.active{ color:var(--accent); font-weight:600; cursor:default; }
  html[dir="rtl"] .lang-menu{ right:auto; left:0; }
  .btn{
    display:inline-flex; align-items:center; justify-content:center; gap:8px;
    padding:12px 22px; border-radius:var(--radius-s);
    font-size:14.5px; font-weight:500; text-decoration:none; cursor:pointer;
    border:1px solid transparent; transition:all .2s ease; white-space:nowrap;
  }
  .btn-primary{ background:var(--accent); color:#FFF7EE; }
  .btn-primary:hover{ background:var(--accent-dark); }
  .btn-ghost{ border-color:var(--line-strong); color:var(--text); background:transparent; }
  .btn-ghost:hover{ border-color:var(--brass-dim); color:var(--brass-soft); }
  .btn-block{ width:100%; }
  .on-paper .btn-ghost{ border-color:rgba(18,32,31,0.3); color:var(--ink); }
  header .btn-ghost{ border-color:rgba(18,32,31,0.3); color:var(--header-text); }
  header .btn-ghost:hover{ border-color:var(--accent); color:var(--accent); }
  .burger{ display:none; }
  .nav-btn-short{ display:none; }
  @media (max-width:900px){
    nav.links{ display:none; }
    .burger{ display:block; }
  }
  @media (max-width:480px){
    .nav-row{ height:66px; }
    .logo-img{ height:calc(100% - 10px); max-height:56px; }
    .nav-right{ gap:10px; }
    .nav-right .btn-primary{ padding:8px 12px; font-size:12px; }
    .nav-btn-full{ display:none; }
    .nav-btn-short{ display:inline; }
  }

  /* ---------- hero ---------- */
  .hero{
    padding:0; border-bottom:none; position:relative; overflow:hidden;
    min-height:640px; display:flex; align-items:center;
  }
  .hero-bg{ position:absolute; inset:0; z-index:0; overflow:hidden; }
  .hero-bg-img{ width:100%; height:100%; object-fit:cover; object-position:center; display:block; }
  .hero-bg-mobile{ display:none; }
  @media (max-width:680px){
    .hero-bg-desktop{ display:none; }
    .hero-bg-mobile{ display:block; }
    .hero{ min-height:760px; }
  }
  .hero-overlay{
    position:absolute; inset:0;
    background:
      linear-gradient(180deg, rgba(6,10,12,0.55) 0%, rgba(6,10,12,0.28) 30%, rgba(6,10,12,0.5) 68%, rgba(6,10,12,0.82) 100%),
      radial-gradient(ellipse at 50% 40%, rgba(6,10,12,0.15) 0%, rgba(6,10,12,0.55) 70%);
  }
  .hero-center{ position:relative; z-index:1; text-align:center; padding-top:150px; padding-bottom:96px; margin:0 auto; }
  @media (max-width:640px){ .hero-center{ padding-top:120px; padding-bottom:72px; } }
  .hero-eyebrow{ color:var(--text-dim); font-size:14.5px; margin-bottom:22px; display:flex; align-items:center; gap:10px;}
  .hero-eyebrow.center{ justify-content:center; }
  .hero-eyebrow .dot{ width:6px; height:6px; border-radius:50%; background:var(--brass); flex:none; }
  .hero h1{ font-size:clamp(38px,5.4vw,62px); line-height:1.08; letter-spacing:-0.015em; max-width:900px; margin:0 auto; text-shadow:0 2px 24px rgba(0,0,0,0.4); }
  .hero h1 em{ font-style:italic; font-weight:400; color:var(--brass-soft); }
  .hero .sub{ margin-top:26px; font-size:18px; color:var(--text-dim); max-width:460px; }
  .hero .sub.center{ margin-left:auto; margin-right:auto; }
  .hero .ctas{ margin-top:38px; display:flex; gap:16px; flex-wrap:wrap; }
  .hero .ctas.center{ justify-content:center; }
  .btn-ghost.light{ border-color:rgba(233,226,210,0.5); backdrop-filter:blur(4px); background:rgba(14,26,31,0.25); }
  .btn-ghost.light:hover{ border-color:var(--brass-soft); color:var(--brass-soft); }

  /* Thank You confirmation page: same hero background as the homepage, text block instead of stats. */
  .thanks-hero{ min-height:640px; }
  .thanks-hero .hero-center{ padding-top:140px; padding-bottom:90px; }
  .thanks-hero h1{ font-size:clamp(34px,4.6vw,54px); }
  .thanks-text{ max-width:640px; margin:28px auto 0; font-size:17px; line-height:1.65; color:var(--text); text-shadow:0 1px 14px rgba(0,0,0,0.45); }
  .thanks-text p{ margin:0 0 14px; }
  .thanks-text a{ color:var(--brass-soft); text-decoration:underline; text-underline-offset:3px; white-space:nowrap; }
  .thanks-text a:hover{ color:#fff; }
  .thanks-text .thanks-sign{ margin-top:22px; color:var(--text-dim); }
  .thanks-hero .ctas{ margin-top:30px; }
  @media (max-width:680px){ .thanks-hero{ min-height:0; } .thanks-hero .hero-center{ padding-top:110px; padding-bottom:64px; } .thanks-text{ font-size:16px; } }

  /* Brand-colored messenger/social buttons (contact block + article CTAs). */
  .btn-whatsapp{ background:#25D366; color:#083618; border-color:#25D366; }
  .btn-whatsapp:hover{ background:#1EBE59; border-color:#1EBE59; color:#083618; }
  .btn-telegram{ background:#229ED9; color:#FFFFFF; border-color:#229ED9; }
  .btn-telegram:hover{ background:#1B87BB; border-color:#1B87BB; color:#FFFFFF; }
  .btn-instagram{ background:linear-gradient(45deg,#FEDA75 0%,#FA7E1E 20%,#D62976 55%,#962FBF 80%,#4F5BD5 100%); color:#FFFFFF; border-color:transparent; }
  .btn-instagram:hover{ filter:brightness(1.08); color:#FFFFFF; }

  .stat-strip{ display:flex; gap:40px; margin-top:64px; padding-top:32px; border-top:1px solid var(--line); flex-wrap:wrap; }
  .stat-strip.center{ justify-content:center; }
  .stat-strip .stat b{ display:block; font-family:var(--serif); font-size:26px; color:var(--brass-soft); font-weight:500; }
  .stat-strip .stat span{ font-size:13.5px; color:var(--text-faint); }

  /* ---------- why ist ---------- */
  .value-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
  @media (max-width:700px){ .value-grid{ grid-template-columns:1fr; } }
  .value-cell{ background:var(--bg); padding:40px; }
  .value-cell .glyph{
    width:38px; height:38px; border:1px solid var(--brass-dim); border-radius:50%;
    display:flex; align-items:center; justify-content:center; margin-bottom:22px;
    color:var(--brass-soft); font-family:var(--serif); font-style:italic; font-size:17px;
  }
  .value-cell h3{ font-size:21px; margin-bottom:12px; font-weight:600; }
  .value-cell p{ color:var(--text-dim); font-size:15.5px; }
  .value-cell.span-2{ grid-column:span 2; }
  @media (max-width:700px){ .value-cell.span-2{ grid-column:span 1; } }

  /* ---------- media banner ---------- */
  .media-banner{
    border:1px solid var(--line-strong); border-radius:var(--radius-m); overflow:hidden;
    margin-bottom:40px; line-height:0;
  }
  .media-banner svg{ width:100%; height:auto; display:block; }

  /* ---------- category tags ---------- */
  .tag-row{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:36px; }
  .tag{
    padding:8px 16px; border:1px solid var(--line-strong); border-radius:999px;
    font-size:13.5px; color:var(--text-dim);
  }
  .on-paper .tag{ border-color:rgba(18,32,31,0.25); color:#3d4a47; }

  .offer-columns{ display:grid; grid-template-columns:1fr 1fr; gap:64px; }
  @media (max-width:760px){ .offer-columns{ grid-template-columns:1fr; gap:40px; } }
  .offer-columns ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:14px; }
  .offer-columns li{ padding-left:22px; position:relative; color:var(--text); font-size:15.5px; }
  .offer-columns li::before{ content:''; position:absolute; left:0; top:9px; width:9px; height:1px; background:var(--brass); }

  .partner-row{ margin-top:44px; padding-top:28px; border-top:1px solid var(--line); }
  .partner-row .label{ font-size:13px; color:var(--text-faint); margin-bottom:16px; }
  .wordmarks{ display:flex; flex-wrap:wrap; gap:14px 30px; }
  .wordmarks span{ font-family:var(--serif); font-size:18px; font-weight:600; color:var(--text-dim); }

  /* ---------- manufacturers two column ---------- */
  .mfr-grid{ display:grid; grid-template-columns:1fr 1fr; gap:64px; }
  @media (max-width:760px){ .mfr-grid{ grid-template-columns:1fr; gap:48px; } }
  .mfr-col h3{ font-size:14px; color:var(--text-faint); font-weight:500; margin-bottom:26px; padding-bottom:16px; border-bottom:1px solid var(--line); }
  .mfr-item{ padding:26px 0; border-bottom:1px solid var(--line); display:flex; flex-direction:column; gap:16px; align-items:flex-start; }
  .mfr-item:last-child{ border-bottom:none; }
  .mfr-logo{
    flex:none; width:184px; height:120px; display:flex; align-items:center; justify-content:center;
    background:#FAFAF8; border:1px solid rgba(18,32,31,0.12); border-radius:var(--radius-s);
    padding:3px; overflow:hidden;
  }
  .mfr-logo img{ max-width:100%; max-height:100%; object-fit:contain; display:block; }
  a.mfr-logo{ transition:opacity .15s, border-color .15s; }
  a.mfr-logo:hover{ opacity:.75; border-color:var(--accent); }
  .mfr-item .name a{ color:inherit; text-decoration:none; border-bottom:1px solid rgba(18,32,31,0.25); }
  .mfr-item .name a:hover{ color:var(--accent); border-color:var(--accent); }
  .mfr-item .name{ font-family:var(--serif); font-size:19px; font-weight:600; margin-bottom:5px; }
  .mfr-item .desc{ font-size:14.5px; color:var(--text-dim); }
  @media (max-width:760px){
    .mfr-col{ display:grid; grid-template-columns:1fr 1fr; gap:28px 16px; }
    .mfr-col h3{ grid-column:1 / -1; }
    .mfr-item{ grid-column:span 1; flex-direction:column; align-items:center; text-align:center; gap:10px; padding:0; border-bottom:none; }
    .mfr-item > div{ width:100%; }
    .mfr-logo{ width:100%; height:92px; }
    .mfr-item .name{ font-size:15px; margin-bottom:0; }
    .mfr-item .desc{ display:none; }
  }
  @media (max-width:480px){ .mfr-logo{ height:82px; } }

  /* ---------- events table ---------- */
  table.events{ width:100%; border-collapse:collapse; min-width:640px; }
  table.events th{
    text-align:left; font-weight:500; font-size:13px; color:var(--brass-dim);
    padding:14px 18px; border-bottom:1px solid rgba(18,32,31,0.25);
  }
  table.events td{ padding:18px; font-size:15px; border-bottom:1px solid rgba(18,32,31,0.12); vertical-align:top; }
  table.events tr:last-child td{ border-bottom:none; }
  table.events .date{ font-variant-numeric:tabular-nums; color:#3d4a47; white-space:nowrap; }
  table.events .event{ font-family:var(--serif); font-size:17.5px; font-weight:600; }
  table.events .focus{ color:#57655f; }
  .events-note{ margin-top:22px; font-size:14px; color:#57655f; }

  /* ---------- process ---------- */
  .process-list{ display:flex; flex-direction:column; }
  .process-item{ display:grid; grid-template-columns:80px 1fr; gap:28px; padding:30px 0; border-top:1px solid var(--line); }
  .process-item:last-child{ border-bottom:1px solid var(--line); }
  .process-item .num{ font-family:var(--serif); font-size:34px; color:var(--brass-dim); font-style:italic; }
  .process-item h3{ font-size:20px; margin-bottom:8px; font-weight:600; }
  .process-item p{ color:var(--text-dim); font-size:15.5px; max-width:560px; }
  @media (max-width:600px){ .process-item{ grid-template-columns:44px 1fr; gap:16px; } .process-item .num{ font-size:24px; } }

  /* ---------- services ---------- */
  .service-list{ display:grid; grid-template-columns:repeat(5,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
  @media (max-width:900px){ .service-list{ grid-template-columns:repeat(2,1fr); } }
  @media (max-width:520px){ .service-list{ grid-template-columns:1fr; } }
  .service-cell{ background:var(--bg); padding:30px 24px; }
  .service-icon{ width:34px; height:34px; color:var(--brass-soft); margin-bottom:18px; }
  .service-icon svg{ width:100%; height:100%; }
  .service-cell h3{ font-size:17px; font-weight:600; margin-bottom:8px; }
  .service-cell p{ font-size:14px; color:var(--text-dim); }

  /* ---------- results ---------- */
  .results-grid{ display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line); border:1px solid var(--line); margin-bottom:48px; }
  @media (max-width:760px){ .results-grid{ grid-template-columns:1fr; } }
  .result-cell{ background:var(--bg); padding:34px; }
  .result-cell .tag-label{ font-size:12.5px; margin-bottom:14px; }
  .result-cell h3{ font-size:20px; margin-bottom:8px; font-weight:600; }
  .result-cell p{ font-size:15px; }
  .on-paper .result-cell .tag-label{ color:var(--brass-soft); }
  .on-paper .result-cell h3{ color:var(--text); }
  .on-paper .result-cell p{ color:var(--text-dim); }

  /* "Back to top" floating button, bottom-right, hidden until scrolled. */
  .isth-back-to-top{
    position:fixed; right:24px; bottom:24px; z-index:60;
    width:46px; height:46px; border-radius:50%;
    background:var(--accent); color:#FFF7EE; border:none;
    display:flex; align-items:center; justify-content:center;
    cursor:pointer; box-shadow:0 6px 18px rgba(18,32,31,0.25);
    opacity:0; visibility:hidden; transform:translateY(12px);
    transition:opacity .2s, transform .2s, visibility .2s, background .15s;
  }
  .isth-back-to-top svg{ width:20px; height:20px; }
  .isth-back-to-top.is-visible{ opacity:1; visibility:visible; transform:translateY(0); }
  .isth-back-to-top:hover{ background:var(--accent-dark); }
  html[dir="rtl"] .isth-back-to-top{ right:auto; left:24px; }
  @media (max-width:480px){ .isth-back-to-top{ right:16px; bottom:16px; width:42px; height:42px; } html[dir="rtl"] .isth-back-to-top{ left:16px; } }

  /* Our Team section */
  .team-wrap{ display:grid; grid-template-columns:minmax(220px,340px) 1fr; gap:56px; align-items:center; text-align:left; }
  .team-photo{ border-radius:var(--radius-m); overflow:hidden; }
  .team-photo img{ width:100%; height:auto; display:block; aspect-ratio:1/1; object-fit:cover; }
  .team-people{ display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
  .team-person{ padding:22px 0; border-top:1px solid var(--line); width:100%; max-width:420px; }
  .team-person:last-child{ border-bottom:1px solid var(--line); }
  .team-person h3{ font-size:22px; margin-bottom:6px; font-weight:600; }
  .team-person p{ color:var(--text-dim); font-size:15px; }
  html[dir="rtl"] .team-wrap{ text-align:right; }
  @media (max-width:700px){
    .team-wrap{ grid-template-columns:1fr; gap:28px; }
    .team-photo{ max-width:340px; }
    .team-person{ max-width:none; padding:18px 0; }
  }
  .quote{ border-left:2px solid var(--brass-dim); padding-left:28px; max-width:640px; }
  .quote p{ font-family:var(--serif); font-size:22px; line-height:1.4; color:var(--text); font-style:italic; }
  .quote cite{ display:block; margin-top:16px; font-style:normal; font-size:14px; color:var(--text-faint); }
  .on-paper .quote{ border-left-color:var(--brass-dim); }
  .on-paper .quote p{ color:var(--ink); }
  .on-paper .quote cite{ color:#57655f; }

  /* ---------- faq ---------- */
  .faq-item{ border-top:1px solid var(--line); }
  .faq-item:last-child{ border-bottom:1px solid var(--line); }
  .faq-item summary{
    padding:24px 0; cursor:pointer; list-style:none; display:flex; justify-content:space-between; gap:24px;
    font-family:var(--serif); font-size:19px; font-weight:600; align-items:center;
  }
  .faq-item summary::-webkit-details-marker{ display:none; }
  .faq-item summary .plus{ font-family:var(--sans); font-size:22px; color:var(--brass); flex:none; transition:transform .25s ease; font-weight:300;}
  .faq-item[open] summary .plus{ transform:rotate(45deg); }
  .faq-item .a{ padding-bottom:26px; color:var(--text-dim); font-size:15.5px; max-width:640px; }

  /* ---------- contact ---------- */
  .contact-grid{ display:grid; grid-template-columns:1fr 1fr; gap:70px; }
  @media (max-width:820px){ .contact-grid{ grid-template-columns:1fr; gap:44px; } }
  .field{ margin-bottom:20px; }
  .field label{ display:block; font-size:13px; color:var(--text-faint); margin-bottom:8px; }
  .field input, .field select, .field textarea{
    width:100%; background:var(--bg-soft); border:1px solid var(--line-strong); border-radius:var(--radius-s);
    color:var(--text); font-family:var(--sans); font-size:15px; padding:13px 14px;
  }
  .field textarea{ resize:vertical; min-height:100px; }
  .field input:focus, .field select:focus, .field textarea:focus{ outline:2px solid var(--brass-dim); outline-offset:1px; }
  .row-2{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
  @media (max-width:480px){ .row-2{ grid-template-columns:1fr; } }
  .alt-actions{ display:flex; gap:12px; margin-top:18px; flex-wrap:wrap; }
  .alt-actions .btn-ghost{ flex:1; min-width:130px; }
  .form-note{ margin-top:16px; font-size:13px; color:var(--text-faint); }

  .contact-side .item{ padding:20px 0; border-top:1px solid var(--line); }
  .contact-side .item:last-child{ border-bottom:1px solid var(--line); }
  .contact-side .item .k{ font-size:13px; color:var(--text-faint); margin-bottom:6px; }
  .contact-side .item .v{ font-family:var(--serif); font-size:19px; font-weight:600; }

  /* ---------- footer ---------- */
  footer{ padding:56px 0 40px; }
  .foot-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:36px; margin-bottom:48px; }
  @media (max-width:760px){ .foot-grid{ grid-template-columns:1fr 1fr; } }
  @media (max-width:480px){ .foot-grid{ grid-template-columns:1fr; } }
  .foot-grid h4{ font-family:var(--sans); font-size:17px; color:var(--text); font-weight:600; letter-spacing:.01em; margin-bottom:18px; }
  .foot-acc-btn{ all:unset; display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; cursor:default; font:inherit; color:inherit; }
  .foot-acc-chev{ display:none; width:9px; height:9px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg); transition:transform .2s ease; margin-top:-4px; }
  @media (max-width:480px){
    .foot-acc{ border-top:1px solid var(--line); padding-top:14px; }
    .foot-acc-btn{ cursor:pointer; }
    .foot-acc-btn:focus-visible{ outline:2px solid var(--brass-dim); outline-offset:3px; }
    .foot-acc-chev{ display:block; }
    .foot-acc .foot-acc-btn[aria-expanded="false"] .foot-acc-chev{ transform:rotate(-45deg); margin-top:0; }
    .foot-acc h4{ margin-bottom:0; }
    .foot-acc-body{ padding-top:16px; }
    .foot-acc.is-collapsed .foot-acc-body{ display:none; }
  }
  .foot-grid p, .foot-grid a{ font-size:14.5px; color:var(--text-dim); text-decoration:none; display:block; margin-bottom:10px; }
  .foot-grid a:hover{ color:var(--brass-soft); }
  .foot-grid li{ list-style:none; margin:0; padding:0; }
  .foot-legal-info{ margin:6px 0 0; padding:0; max-width:320px; }
  .foot-legal-info li{ font-size:12.5px; line-height:1.6; color:var(--text-faint); margin-bottom:4px; }
  .foot-legal-info .k{ color:var(--text-dim); }
  .foot-bottom{ display:flex; justify-content:space-between; align-items:center; padding-top:28px; border-top:1px solid var(--line); flex-wrap:wrap; gap:16px; }
  .foot-bottom .copy{ font-size:13px; color:var(--text-faint); }
  .foot-langs{ display:flex; gap:14px; font-size:13px; color:var(--text-faint); }
  .foot-langs span.active{ color:var(--brass-soft); }
  .foot-langs a{ color:var(--text-faint); text-decoration:none; }
  .foot-langs a:hover{ color:var(--text-dim); }
  .foot-socials{ display:flex; gap:16px; }
  .foot-socials a{ color:var(--text-dim); font-size:13.5px; }

  @media (prefers-reduced-motion: reduce){ *{ scroll-behavior:auto !important; transition:none !important; } }

  .journal-teaser-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-bottom:40px; }
  @media (max-width:900px){ .journal-teaser-grid{ grid-template-columns:1fr; } }
  .journal-card{ border:1px solid rgba(18,32,31,0.12); border-radius:var(--radius-m); overflow:hidden; background:#FBF8F2; text-decoration:none; color:inherit; display:flex; flex-direction:column; transition:box-shadow .2s ease, transform .2s ease; }
  .journal-card:hover{ box-shadow:0 12px 32px rgba(18,32,31,0.12); transform:translateY(-2px); }
  .journal-card .thumb{ aspect-ratio:16/10; overflow:hidden; background:#12201F; }
  .journal-card .thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
  .journal-card .body{ padding:20px 22px 24px; }
  .journal-card .tag-label{ font-size:12px; color:var(--brass-dim); text-transform:uppercase; letter-spacing:0.04em; margin-bottom:8px; }
  .journal-card h3{ font-size:19px; margin-bottom:8px; line-height:1.3; font-weight:600; }
  .journal-card p{ font-size:14px; color:#57655f; line-height:1.55; }
  .cat-hero{ padding:64px 0 40px; border-bottom:1px solid rgba(18,32,31,0.12); }
  .cat-hero h1{ font-size:clamp(30px,4vw,44px); line-height:1.15; letter-spacing:-0.01em; }
  .cat-hero .lede{ margin-top:14px; font-size:16px; color:#57655f; max-width:600px; }
  .cat-body{ padding-top:56px; padding-bottom:96px; }
  .mfr-heading{ display:flex; align-items:baseline; gap:16px; margin-bottom:28px; padding-bottom:14px; border-bottom:1px solid rgba(18,32,31,0.12); }
  .mfr-heading h2{ font-size:24px; }
  .mfr-heading .count{ font-size:13px; color:#728487; }
  .model-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-bottom:64px; }
  @media (max-width:900px){ .model-grid{ grid-template-columns:1fr 1fr; } }
  @media (max-width:600px){ .model-grid{ grid-template-columns:1fr; } }
  .model-card{ border:1px solid rgba(18,32,31,0.12); border-radius:var(--radius-m); overflow:hidden; background:#FBF8F2; text-decoration:none; color:inherit; display:flex; flex-direction:column; transition:box-shadow .2s ease, transform .2s ease; }
  .model-card:hover{ box-shadow:0 12px 32px rgba(18,32,31,0.12); transform:translateY(-2px); }
  .model-card .thumb{ aspect-ratio:16/10; overflow:hidden; background:#12201F; }
  .model-card .thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
  .model-card .body{ padding:20px 22px 24px; }
  .model-card .tag-label{ font-size:12px; color:var(--brass-dim); text-transform:uppercase; letter-spacing:0.04em; margin-bottom:8px; }
  .model-card h3{ font-size:19px; margin-bottom:8px; }
  .model-card p{ font-size:14px; color:#57655f; line-height:1.55; margin-bottom:14px; }
  .model-card .specs-mini{ display:flex; gap:16px; font-size:12.5px; color:#728487; border-top:1px solid rgba(18,32,31,0.1); padding-top:12px; }
  .model-card .specs-mini b{ display:block; color:var(--ink); font-family:var(--serif); font-size:14px; font-weight:500; }
  .catalog-note{ margin-top:8px; font-size:13px; color:#728487; }

  .model-hero{ padding:0; border-bottom:none; position:relative; }
  .model-hero .frame{ aspect-ratio:16/7; overflow:hidden; }
  .model-hero .frame img{ width:100%; height:100%; object-fit:cover; display:block; }
  .model-hero-caption{ padding:36px 0 8px; }
  .model-hero-caption .kicker{ color:var(--brass-dim); }
  .model-hero-caption h1{ font-size:clamp(28px,4vw,42px); letter-spacing:-0.01em; }
  .model-hero-caption .sub{ margin-top:10px; font-size:15px; color:#57655f; }
  .model-desc{ max-width:720px; margin:28px 0 40px; font-size:15.5px; line-height:1.7; color:#3d4a47; }
  .spec-table{ width:100%; border-collapse:collapse; margin-bottom:48px; max-width:640px; }
  .spec-table tr{ border-bottom:1px solid rgba(18,32,31,0.1); }
  .spec-table tr:last-child{ border-bottom:none; }
  .spec-table td{ padding:14px 4px; font-size:15px; }
  .spec-table td:first-child{ color:#728487; width:40%; }
  .spec-table td:last-child{ font-family:var(--serif); font-size:16px; color:var(--ink); }
  .model-back{ display:inline-flex; align-items:center; gap:8px; font-size:14px; color:#57655f; text-decoration:none; margin:28px 0 8px; }
  .model-back:hover{ color:var(--brass-dim); }
  .model-cta{ margin-top:8px; }
  .cat-hero{ padding:64px 0 40px; border-bottom:1px solid rgba(18,32,31,0.12); }
  .cat-hero h1{ font-size:clamp(30px,4vw,44px); line-height:1.15; letter-spacing:-0.01em; }
  .cat-hero .lede{ margin-top:14px; font-size:16px; color:#57655f; max-width:600px; }
  .cat-body{ padding-top:56px; padding-bottom:96px; }
  .journal-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
  @media (max-width:900px){ .journal-grid{ grid-template-columns:1fr 1fr; } }
  @media (max-width:600px){ .journal-grid{ grid-template-columns:1fr; } }
  .journal-card{ border:1px solid rgba(18,32,31,0.12); border-radius:var(--radius-m); overflow:hidden; background:#FBF8F2; text-decoration:none; color:inherit; display:flex; flex-direction:column; transition:box-shadow .2s ease, transform .2s ease; }
  .journal-card:hover{ box-shadow:0 12px 32px rgba(18,32,31,0.12); transform:translateY(-2px); }
  .journal-card .thumb{ aspect-ratio:16/10; overflow:hidden; background:#12201F; }
  .journal-card .thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
  .journal-card .body{ padding:20px 22px 24px; }
  .journal-card .tag-label{ font-size:12px; color:var(--brass-dim); text-transform:uppercase; letter-spacing:0.04em; margin-bottom:8px; }
  .journal-card h3{ font-size:19px; margin-bottom:8px; line-height:1.3; font-weight:600; }
  .journal-card p{ font-size:14px; color:#57655f; line-height:1.55; }

  .article-hero{ padding:0; border-bottom:none; position:relative; }
  .article-hero .frame{ aspect-ratio:16/7; overflow:hidden; }
  .article-hero .frame img{ width:100%; height:100%; object-fit:cover; display:block; }
  .article-hero-caption{ padding:36px 0 8px; max-width:760px; }
  .article-hero-caption .kicker{ color:var(--brass-dim); }
  .article-hero-caption h1{ font-size:clamp(28px,4vw,42px); letter-spacing:-0.01em; line-height:1.2; }
  .article-hero-caption .sub{ margin-top:12px; font-size:16px; color:#57655f; }
  .article-body{ max-width:720px; padding:28px 0 64px; }
  .article-body h2{ font-size:22px; margin-top:36px; margin-bottom:14px; }
  .article-body p{ font-size:15.5px; line-height:1.75; color:#3d4a47; margin-bottom:18px; }
  .article-body ul{ margin:0 0 18px; padding-left:22px; }
  .article-body li{ font-size:15.5px; line-height:1.7; color:#3d4a47; margin-bottom:8px; }
  .isth-cta-contacts{ font-size:16px; line-height:1.9; }
  .isth-cta-contacts a{ color:var(--ink); font-weight:600; text-decoration:none; border-bottom:1px solid rgba(18,32,31,0.3); }
  .isth-cta-contacts a:hover{ color:var(--accent); border-color:var(--accent); }
  .isth-cta-buttons{ display:flex; gap:12px; flex-wrap:wrap; margin-top:8px; }
  .isth-cta-buttons .btn{ padding:10px 22px; font-size:14px; }
  .article-back{ display:inline-flex; align-items:center; gap:8px; font-size:14px; color:#57655f; text-decoration:none; margin:28px 0 8px; }
  .article-back:hover{ color:var(--brass-dim); }

  .journal-teaser{ }
  .journal-teaser-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-bottom:40px; }
  @media (max-width:900px){ .journal-teaser-grid{ grid-template-columns:1fr; } }
  .legal-hero{ padding:64px 0 40px; border-bottom:1px solid rgba(18,32,31,0.12); }
  .legal-hero .kicker{ color:var(--brass-dim); }
  .legal-hero h1{ font-size:clamp(30px,4vw,44px); line-height:1.15; letter-spacing:-0.01em; }
  .legal-hero .updated{ margin-top:14px; font-size:14px; color:#57655f; }
  .legal-body{ padding:56px 0 96px; max-width:760px; }
  .legal-body h2{ font-size:24px; margin-top:48px; margin-bottom:16px; padding-bottom:12px; border-bottom:1px solid rgba(18,32,31,0.12); }
  .legal-body h2:first-child{ margin-top:0; }
  .legal-body h3{ font-size:20px; margin-top:32px; margin-bottom:12px; font-weight:600; }
  .legal-body h4{ font-family:var(--sans); font-size:15px; text-transform:uppercase; letter-spacing:0.03em; color:var(--brass-dim); margin-top:24px; margin-bottom:10px; font-weight:600; }
  .legal-body p{ font-size:15.5px; line-height:1.7; color:#3d4a47; margin-bottom:16px; }
  .legal-body ul{ margin:0 0 16px; padding-left:22px; }
  .legal-body li{ font-size:15.5px; line-height:1.7; color:#3d4a47; margin-bottom:8px; }
  .legal-body a{ color:var(--brass-dim); text-decoration:underline; }
  .legal-back{ display:inline-flex; align-items:center; gap:8px; font-size:14px; color:#57655f; text-decoration:none; margin-bottom:28px; }
  .legal-back:hover{ color:var(--brass-dim); }

/* ---------- Contact Form 7 styling (matches original .field look) ---------- */
.isth-cf7-wrap .wpcf7-form p{ margin:0 0 14px; }
.isth-cf7-wrap .wpcf7-form label{ display:block; font-size:13px; line-height:1.3; color:var(--text-faint); margin:0 0 6px; }
.isth-cf7-wrap .wpcf7-form input[type="text"],
.isth-cf7-wrap .wpcf7-form input[type="email"],
.isth-cf7-wrap .wpcf7-form input[type="tel"],
.isth-cf7-wrap .wpcf7-form select,
.isth-cf7-wrap .wpcf7-form textarea{
  width:100%; padding:12px 14px; border:1px solid var(--line); border-radius:8px;
  background:var(--bg-soft); color:var(--ink-on-dark, inherit); font-family:var(--sans); font-size:14.5px;
}
.isth-cf7-wrap .wpcf7-form textarea{ resize:vertical; min-height:100px; }
.isth-cf7-wrap .wpcf7-form input:focus,
.isth-cf7-wrap .wpcf7-form select:focus,
.isth-cf7-wrap .wpcf7-form textarea:focus{ outline:2px solid var(--brass-dim); outline-offset:1px; }
.isth-cf7-wrap .wpcf7-form .row-2{ display:grid; grid-template-columns:1fr 1fr; gap:0 14px; }
@media (max-width:480px){ .isth-cf7-wrap .wpcf7-form .row-2{ grid-template-columns:1fr; } }
.isth-cf7-wrap .wpcf7-form input[type="submit"]{
  display:inline-block; width:100%; padding:12px 22px; border:none; border-radius:var(--radius-s);
  background:var(--accent); color:#FFF7EE; font-family:var(--sans); font-weight:600; font-size:15px; cursor:pointer;
  transition:background .2s ease;
}
.isth-cf7-wrap .wpcf7-form input[type="submit"]:hover{ background:var(--accent-dark); }
.isth-cf7-wrap .wpcf7-response-output{ margin-top:16px; border-radius:8px; font-size:13.5px; }
.isth-cf7-wrap .wpcf7-not-valid-tip{ font-size:12.5px; color:#C93C00; margin-top:4px; }

/* Homepage / catalog / journal grids used by PHP templates */
.jets-empty, .yacht-empty{ padding:40px; text-align:center; color:#728487; border:1px dashed rgba(18,32,31,0.2); border-radius:var(--radius-m); }

/* ---------- Team: personal links ---------- */
.team-links{ display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
.team-link{ display:inline-flex; align-items:center; gap:8px; padding:7px 14px; border:1px solid var(--line-strong); border-radius:999px; font-size:13px; font-weight:500; color:var(--text-dim); text-decoration:none; transition:color .2s ease,border-color .2s ease,background .2s ease; }
.team-link:hover, .team-link:focus-visible{ color:var(--brass-soft); border-color:var(--brass-dim); background:rgba(198,160,89,.08); }
.team-link svg{ flex:none; }
.on-paper .team-link{ color:#57655F; border-color:rgba(18,32,31,.22); }
.on-paper .team-link:hover{ color:var(--accent); border-color:var(--accent); background:rgba(201,60,0,.05); }

/* ---------- Request form: Yacht / Jet toggle buttons + consent ---------- */
.isth-cf7-wrap .isth-interest{ display:block; font-size:13px; line-height:1.3; color:var(--text-faint); margin:0 0 6px; }
.isth-cf7-wrap .wpcf7-checkbox.isth-toggle{ display:flex; gap:12px; flex-wrap:wrap; }
.isth-cf7-wrap .isth-toggle .wpcf7-list-item{ margin:0; flex:1 1 0; min-width:130px; }
.isth-cf7-wrap .isth-toggle label{ position:relative; display:block; margin:0; cursor:pointer; }
.isth-cf7-wrap .isth-toggle input[type="checkbox"]{ position:absolute; opacity:0; width:1px; height:1px; pointer-events:none; }
.isth-cf7-wrap .isth-toggle .wpcf7-list-item-label{ display:flex; align-items:center; justify-content:center; gap:10px; padding:13px 16px; border:1px solid var(--line-strong); border-radius:var(--radius-s); background:var(--bg-soft); color:var(--text-dim); font-size:15px; font-weight:600; transition:background .2s ease,border-color .2s ease,color .2s ease; user-select:none; }
.isth-cf7-wrap .isth-toggle .wpcf7-list-item-label::before{ content:""; width:16px; height:16px; border:1.5px solid currentColor; border-radius:50%; flex:none; opacity:.55; transition:all .2s ease; }
.isth-cf7-wrap .isth-toggle label:hover .wpcf7-list-item-label{ border-color:var(--brass-dim); color:var(--text); }
.isth-cf7-wrap .isth-toggle input:checked + .wpcf7-list-item-label{ background:var(--accent); border-color:var(--accent); color:#FFF7EE; }
.isth-cf7-wrap .isth-toggle input:checked + .wpcf7-list-item-label::before{ opacity:1; border-color:#FFF7EE; background:#FFF7EE url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-6.5' fill='none' stroke='%23C93C00' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat; }
.isth-cf7-wrap .isth-toggle input:focus-visible + .wpcf7-list-item-label{ outline:2px solid var(--brass-soft); outline-offset:2px; }

.isth-cf7-wrap .isth-consent .wpcf7-list-item{ margin:0; }
.isth-cf7-wrap .isth-consent label{ display:flex; align-items:flex-start; gap:12px; margin:0; font-size:13px; line-height:1.55; color:var(--text-dim); cursor:pointer; }
.isth-cf7-wrap .isth-consent input[type="checkbox"]{ flex:none; width:18px; height:18px; margin:2px 0 0; accent-color:var(--accent); cursor:pointer; }
.isth-cf7-wrap .isth-consent a{ color:var(--brass-soft); text-decoration:underline; text-underline-offset:2px; }
.isth-cf7-wrap .isth-consent a:hover{ color:var(--text); }
@media (max-width:480px){ .isth-cf7-wrap .isth-toggle{ gap:10px; } .isth-cf7-wrap .isth-toggle .wpcf7-list-item{ min-width:0; } .isth-cf7-wrap .isth-toggle .wpcf7-list-item-label{ padding:13px 10px; } }

/* Form spacing: one uniform 14px rhythm between all fields */
.isth-cf7-wrap .wpcf7-form br{ display:none; }
.isth-cf7-wrap .wpcf7-form .wpcf7-form-control-wrap{ display:block; }
.isth-cf7-wrap .wpcf7-form .row-2 > p{ margin:0 0 14px; }
.isth-cf7-wrap .wpcf7-form p:empty{ display:none; }
.isth-cf7-wrap .wpcf7-form .wpcf7-spinner{ display:none; }

/* ---------- Homepage: catalog call-to-action buttons ---------- */
.catalog-cta{ margin:40px 0 8px; display:flex; flex-wrap:wrap; gap:14px; }
.btn.btn-lg{ padding:16px 30px; font-size:16px; }
.catalog-cta .arr{ display:inline-block; margin-left:8px; transition:transform .2s ease; }
.catalog-cta .btn:hover .arr{ transform:translateX(4px); }
html[dir="rtl"] .catalog-cta .arr{ margin-left:0; margin-right:8px; }
html[dir="rtl"] .catalog-cta .btn:hover .arr{ transform:translateX(-4px); }
@media (max-width:600px){ .catalog-cta .btn{ width:100%; text-align:center; } }

/* ---------- Catalog pages: manufacturer jump chips ---------- */
.cat-chips{ display:flex; flex-wrap:wrap; gap:10px; margin:0 0 40px; }
.cat-chips a{ display:inline-block; padding:8px 16px; border:1px solid rgba(18,32,31,0.22); border-radius:999px; font-size:13.5px; font-weight:500; color:#12201F; text-decoration:none; transition:all .2s ease; }
.cat-chips a:hover{ border-color:var(--accent); color:var(--accent); background:rgba(201,60,0,.05); }
.mfr-heading{ scroll-margin-top:96px; }

/* Demo / illustration note on model pages */
.model-note{ max-width:640px; margin:-24px 0 40px; font-size:13px; line-height:1.6; color:var(--text-faint); }
