/* ═══════════════════════════════════════════════
   PETRICHOR — DESIGN SYSTEM
   ═══════════════════════════════════════════════ */
:root {
  --sand-50:   #faf6f0;
  --sand-100:  #f4ede3;
  --sand-200:  #e8d8c3;
  --taupe-400: #b79e84;
  --mocha-600: #8a6b4f;
  --mocha-700: #6e543f;
  --ink-900:   #2a241f;
  --slate-800: #2f3b52;
  --olive-500: #96a05b;
  --olive-600: #7a8449;
  --white:     #ffffff;

  --container-main: 1160px;
  --container-text: 760px;

  --sp-1: 8px;  --sp-2: 12px; --sp-3: 16px;
  --sp-4: 24px; --sp-5: 32px; --sp-6: 48px;
  --sp-7: 64px; --sp-8: 88px; --sp-9: 120px;

  --r-sm: 10px; --r-md: 16px; --r-lg: 22px; --r-xl: 30px; --r-pill: 999px;

  --shadow-soft:   0 4px 20px rgba(42,36,31,0.06);
  --shadow-medium: 0 10px 36px rgba(42,36,31,0.09);
  --shadow-large:  0 20px 56px rgba(42,36,31,0.12);

  --ease-out: cubic-bezier(0.22,1,0.36,1);
  --ease-std: cubic-bezier(0.25,0.46,0.45,0.94);
  --t-fast: 140ms; --t-std: 200ms; --t-slow: 320ms;
}

/* ── RESET ── */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink-900);background:var(--sand-50);font-family:"Inter",system-ui,sans-serif;font-size:17px;line-height:1.75;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
a{color:var(--slate-800);text-decoration:none;transition:color var(--t-std) var(--ease-std)}
a:hover,a:focus-visible{color:var(--mocha-700)}
p,ul,ol{margin:0 0 var(--sp-4)}
h1,h2,h3,h4,h5,h6{margin:0 0 var(--sp-4);color:var(--ink-900);line-height:1.1}
h1,.ph-hero-h1{font-family:"Georgia","Times New Roman",serif;font-size:clamp(2.4rem,4.5vw,3.8rem);letter-spacing:-0.02em}
h2{font-family:"Georgia","Times New Roman",serif;font-size:clamp(1.8rem,3.5vw,3rem);letter-spacing:-0.02em}
h3{font-size:clamp(1.2rem,2vw,1.5rem);font-weight:600}
img{display:block;max-width:100%;height:auto}
input,select,textarea,button{font:inherit}

/* ── SKIP LINK ── */
.ph-skip-link{position:absolute;top:-100px;left:16px;z-index:9999;padding:12px 20px;background:var(--slate-800);color:var(--white);font-weight:700;border-radius:var(--r-sm);transition:top var(--t-fast)}
.ph-skip-link:focus{top:16px;color:var(--white)}

/* ── CONTAINER ── */
.petrichor-container{width:min(calc(100% - 40px),var(--container-main));margin:0 auto}

/* ── MOTION ── */
[data-reveal]{opacity:1;transform:none;transition:opacity var(--t-slow) var(--ease-out),transform var(--t-slow) var(--ease-out)}
[data-reveal].animate-ready{opacity:0;transform:translateY(16px)}
[data-reveal].is-revealed{opacity:1;transform:translateY(0)}
@media (prefers-reduced-motion:reduce){[data-reveal].animate-ready{opacity:1;transform:none}}

/* ══════════════════════════════════
   HEADER / NAV
   ══════════════════════════════════ */
.ph-site-header{position:sticky;top:0;z-index:200;background:rgba(250,246,240,0.94);backdrop-filter:blur(16px);border-bottom:1px solid rgba(183,158,132,0.18);transition:box-shadow var(--t-std) var(--ease-std)}
.ph-site-header.is-scrolled{box-shadow:0 8px 32px rgba(42,36,31,0.1)}
.ph-header-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);height:68px}

.ph-brand-link{display:inline-flex;align-items:center;text-decoration:none}
.ph-brand-mark{line-height:1.2}
.ph-brand-mark span{display:block;font-size:16px;font-weight:700;color:var(--ink-900);letter-spacing:-0.01em}
.ph-brand-mark small{display:block;font-size:10px;font-weight:500;color:var(--mocha-600);text-transform:uppercase;letter-spacing:0.08em}
.custom-logo{max-height:56px;width:auto;border-radius:0}

.ph-nav-menu{display:flex;align-items:center;gap:4px;margin:0;padding:0;list-style:none}
.ph-nav-menu li{margin:0}
.ph-nav-menu a{display:block;padding:8px 12px;font-size:14px;font-weight:600;color:var(--ink-900);border-radius:var(--r-sm);transition:background var(--t-fast),color var(--t-fast);opacity:0.75}
.ph-nav-menu a:hover{opacity:1;background:var(--sand-100);color:var(--ink-900)}

.ph-primary-nav{display:flex;align-items:center;gap:var(--sp-4)}
.ph-nav-cta{display:inline-flex;align-items:center;padding:10px 20px;background:var(--slate-800);color:var(--white);font-size:13px;font-weight:700;border-radius:var(--r-pill);white-space:nowrap;transition:background var(--t-std),transform var(--t-std)}
.ph-nav-cta:hover{background:var(--ink-900);color:var(--white);transform:translateY(-1px)}

.ph-menu-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:10px;background:rgba(255,255,255,0.7);border:1px solid var(--sand-200);border-radius:var(--r-sm);cursor:pointer}
.ph-menu-toggle-bar{display:block;width:100%;height:1.5px;background:var(--ink-900);border-radius:2px;transition:transform var(--t-std),opacity var(--t-std)}

/* ══════════════════════════════════
   EYEBROW / SECTION LABELS
   ══════════════════════════════════ */
.ph-eyebrow{display:inline-flex;align-items:center;gap:8px;margin-bottom:var(--sp-3);color:var(--mocha-700);font-size:12px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase}
.ph-eyebrow::before{content:'';width:20px;height:1.5px;background:currentColor;display:inline-block}
.ph-eyebrow--light{color:rgba(255,255,255,0.55)}
.ph-eyebrow--light::before{background:rgba(255,255,255,0.4)}

/* ══════════════════════════════════
   HERO
   ══════════════════════════════════ */
.ph-hero{display:grid;grid-template-columns:1.1fr 0.9fr;min-height:560px;overflow:hidden}
.ph-hero-copy{padding:clamp(48px,7vw,88px) clamp(32px,5vw,64px) clamp(48px,7vw,88px) clamp(20px,3vw,40px);display:flex;flex-direction:column;justify-content:center;background:var(--sand-50)}
.ph-hero-h1{font-size:clamp(2.2rem,4vw,3.6rem);margin-bottom:var(--sp-4);line-height:1.05}
.ph-hero-sub{font-size:15px;line-height:1.75;color:var(--mocha-700);margin-bottom:var(--sp-5);max-width:52ch}
.ph-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:var(--sp-5)}

.ph-btn-primary{display:inline-flex;align-items:center;gap:6px;padding:14px 26px;background:var(--slate-800);color:var(--white);font-size:14px;font-weight:700;border-radius:var(--r-pill);transition:background var(--t-std),transform var(--t-std),box-shadow var(--t-std)}
.ph-btn-primary:hover{background:var(--ink-900);color:var(--white);transform:translateY(-2px);box-shadow:var(--shadow-medium)}
.ph-btn-secondary{display:inline-flex;align-items:center;gap:6px;padding:13px 26px;background:transparent;color:var(--slate-800);font-size:14px;font-weight:700;border-radius:var(--r-pill);border:1.5px solid var(--taupe-400);transition:border-color var(--t-std),background var(--t-std),transform var(--t-std)}
.ph-btn-secondary:hover{border-color:var(--mocha-600);background:var(--sand-100);color:var(--ink-900);transform:translateY(-2px)}

.ph-reg-badges{display:flex;gap:10px;flex-wrap:wrap}
.ph-reg-badge{display:flex;align-items:center;gap:8px;background:var(--white);border:1px solid var(--sand-200);border-radius:var(--r-sm);padding:8px 12px}
.ph-reg-dot{width:8px;height:8px;border-radius:50%;background:var(--olive-500);flex-shrink:0}
.ph-reg-dot--pending{background:var(--taupe-400)}
.ph-reg-badge strong{display:block;font-size:12px;font-weight:700;color:var(--ink-900)}
.ph-reg-badge span{display:block;font-size:11px;color:var(--mocha-600)}

.ph-hero-media{position:relative;overflow:hidden;min-height:480px}
.ph-hero-media img{width:100%;height:100%;object-fit:cover;object-position:center}
.ph-hero-media-card{position:absolute;bottom:24px;right:24px;background:rgba(250,246,240,0.96);border:1px solid var(--sand-200);border-radius:var(--r-lg);padding:16px 20px;backdrop-filter:blur(8px)}
.ph-hero-media-card span{display:block;font-size:11px;color:var(--mocha-600);text-transform:uppercase;letter-spacing:0.08em;font-weight:600;margin-bottom:4px}
.ph-hero-media-card strong{display:block;font-family:"Georgia",serif;font-size:28px;color:var(--ink-900);line-height:1}
.ph-hero-media-card small{display:block;font-size:12px;color:var(--mocha-600);margin-top:4px}

/* ══════════════════════════════════
   TRUST BAR
   ══════════════════════════════════ */
.ph-trust-bar{background:var(--slate-800);padding:16px 0}
.ph-trust-bar-inner{display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap}
.ph-trust-item{display:flex;align-items:center;gap:10px}
.ph-trust-item span{display:block;font-size:11px;color:rgba(255,255,255,0.45);text-transform:uppercase;letter-spacing:0.08em;font-weight:600}
.ph-trust-item strong{display:block;font-size:13px;color:var(--white);font-weight:700}
.ph-trust-divider{width:1px;height:32px;background:rgba(255,255,255,0.15)}

/* ══════════════════════════════════
   SECTIONS
   ══════════════════════════════════ */
.ph-section{padding:clamp(48px,7vw,88px) 0}
.ph-section--white{background:var(--white)}
.ph-section--light{background:var(--sand-50)}
.ph-section--sand{background:var(--sand-100)}
.ph-section-head{margin-bottom:var(--sp-6)}
.ph-section-sub{font-size:16px;color:var(--mocha-700);max-width:56ch;margin-top:var(--sp-2)}

/* ══════════════════════════════════
   JOURNEY ROUTER
   ══════════════════════════════════ */
.ph-journey-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-4)}
.ph-journey-card{position:relative;background:var(--sand-50);border:1px solid var(--sand-200);border-radius:var(--r-lg);padding:var(--sp-5);transition:border-color var(--t-std),background var(--t-std),transform var(--t-std),box-shadow var(--t-std);overflow:hidden}
.ph-journey-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;border-radius:0 0 var(--r-lg) var(--r-lg)}
.ph-journey-card--blue::after{background:#378add}
.ph-journey-card--green::after{background:var(--olive-500)}
.ph-journey-card--amber::after{background:#ba7517}
.ph-journey-card:hover{border-color:var(--taupe-400);background:var(--white);transform:translateY(-4px);box-shadow:var(--shadow-medium)}
.ph-journey-card h3{font-size:18px;margin-bottom:var(--sp-3);color:var(--ink-900)}
.ph-journey-card p{font-size:14px;color:var(--mocha-700);line-height:1.65;margin-bottom:var(--sp-4)}
.ph-journey-icon{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;margin-bottom:var(--sp-4);font-size:22px}
.ph-journey-icon--blue{background:#e6f1fb}
.ph-journey-icon--green{background:#eaf3de}
.ph-journey-icon--amber{background:#faeeda}
.ph-journey-link{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--slate-800)}
.ph-journey-link:hover{color:var(--mocha-700)}

/* ══════════════════════════════════
   STATS BAR
   ══════════════════════════════════ */
.ph-stats-bar{display:grid;grid-template-columns:repeat(4,1fr);background:var(--sand-100);border-top:1px solid var(--sand-200);border-bottom:1px solid var(--sand-200)}
.ph-stat-item{padding:var(--sp-6) var(--sp-4);text-align:center;border-right:1px solid var(--sand-200)}
.ph-stat-item:last-child{border-right:none}
.ph-stat-val{font-family:"Georgia",serif;font-size:clamp(2rem,3.5vw,3rem);color:var(--ink-900);line-height:1;margin-bottom:var(--sp-2)}
.ph-stat-val sub{font-size:1rem;font-family:"Inter",sans-serif;vertical-align:baseline;color:var(--mocha-600)}
.ph-stat-label{font-size:12px;color:var(--mocha-700);line-height:1.5;max-width:160px;margin:0 auto}

/* ══════════════════════════════════
   SERVICES GRID
   ══════════════════════════════════ */
.ph-services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-4)}
.ph-service-card{border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--sand-200);background:var(--white);transition:transform var(--t-std),box-shadow var(--t-std)}
.ph-service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-medium)}
.ph-service-img{position:relative;height:200px;overflow:hidden;background:var(--sand-100)}
.ph-service-img img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform var(--t-slow) var(--ease-std)}
.ph-service-card:hover .ph-service-img img{transform:scale(1.04)}
.ph-service-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(42,36,31,0.35) 100%)}
.ph-service-tag{position:absolute;top:12px;left:12px;background:rgba(250,246,240,0.92);border-radius:var(--r-pill);padding:4px 10px;font-size:11px;font-weight:700;color:var(--ink-900);letter-spacing:0.04em}
.ph-service-img-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:var(--sand-100)}
.ph-service-img-placeholder span{font-size:32px}
.ph-service-img-placeholder p{font-size:13px;font-weight:700;color:var(--mocha-600);margin:0}
.ph-service-body{padding:var(--sp-4) var(--sp-4) var(--sp-5)}
.ph-service-body h3{font-size:17px;margin-bottom:var(--sp-2);color:var(--ink-900)}
.ph-service-body p{font-size:13px;color:var(--mocha-700);line-height:1.65;margin-bottom:var(--sp-3)}

.ph-inline-link{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--slate-800);transition:gap var(--t-std),color var(--t-std)}
.ph-inline-link:hover{gap:10px;color:var(--mocha-700)}

/* ══════════════════════════════════
   PROPERTIES GRID
   ══════════════════════════════════ */
.ph-properties-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-4)}
.ph-property-card{background:var(--white);border:1px solid var(--sand-200);border-radius:var(--r-lg);overflow:hidden;transition:transform var(--t-std),box-shadow var(--t-std)}
.ph-property-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-medium)}
.ph-property-card--coming-soon{opacity:0.75}
.ph-property-photos{display:grid;grid-template-columns:1.4fr 0.6fr;height:200px;gap:2px}
.ph-property-main,.ph-property-secondary{width:100%;height:100%;object-fit:cover;object-position:center}
.ph-property-placeholder{height:200px;background:var(--sand-100);display:flex;align-items:center;justify-content:center}
.ph-property-placeholder span{font-size:13px;color:var(--taupe-400);font-weight:600;text-transform:uppercase;letter-spacing:0.06em}
.ph-property-body{padding:var(--sp-4) var(--sp-5) var(--sp-5)}
.ph-property-meta{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-2)}
.ph-property-status{padding:4px 10px;border-radius:var(--r-pill);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.06em}
.ph-property-status--available{background:#eaf3de;color:#3b6d11}
.ph-property-status--coming-soon{background:var(--sand-100);color:var(--taupe-400)}
.ph-property-rooms{font-size:12px;color:var(--taupe-400);font-weight:600}
.ph-property-body h3{font-size:19px;margin-bottom:4px;color:var(--ink-900)}
.ph-property-area{font-size:13px;color:var(--taupe-400);font-weight:600;margin-bottom:var(--sp-2);text-transform:uppercase;letter-spacing:0.04em}
.ph-property-body p{font-size:14px;color:var(--mocha-700);line-height:1.65;margin-bottom:var(--sp-3)}

/* ══════════════════════════════════
   PILLARS
   ══════════════════════════════════ */
.ph-pillars-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-4)}
.ph-pillar-card{padding:var(--sp-5);background:var(--sand-50);border:1px solid var(--sand-200);border-radius:var(--r-lg);position:relative}
.ph-pillar-card::before{content:'';display:block;width:12px;height:12px;border-radius:50%;background:linear-gradient(135deg,var(--olive-500),var(--mocha-600));margin-bottom:var(--sp-4)}
.ph-pillar-eyebrow{font-size:11px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--mocha-600);margin-bottom:var(--sp-2)}
.ph-pillar-card h3{font-size:17px;margin-bottom:var(--sp-3);color:var(--ink-900)}
.ph-pillar-card p{font-size:14px;color:var(--mocha-700);line-height:1.65;margin:0}

/* ══════════════════════════════════
   REGULATORY BAND
   ══════════════════════════════════ */
.ph-regulatory-band{background:var(--ink-900);padding:clamp(48px,6vw,72px) 0}
.ph-regulatory-inner{display:grid;grid-template-columns:1.2fr 0.8fr;gap:var(--sp-7);align-items:center}
.ph-regulatory-text h2{color:var(--white);margin-bottom:var(--sp-3)}
.ph-regulatory-text p{color:rgba(255,255,255,0.6);font-size:15px;line-height:1.7;margin:0}
.ph-regulatory-cards{display:flex;flex-direction:column;gap:var(--sp-3)}
.ph-regulatory-card{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.12);border-radius:var(--r-lg);padding:var(--sp-4) var(--sp-5)}
.ph-regulatory-card p{font-size:11px;text-transform:uppercase;letter-spacing:0.08em;color:rgba(255,255,255,0.4);font-weight:600;margin-bottom:6px}
.ph-regulatory-card strong{display:block;font-size:18px;color:var(--white);font-weight:700;margin-bottom:4px}
.ph-regulatory-card span{font-size:12px;color:rgba(255,255,255,0.45)}

/* ══════════════════════════════════
   CTA BAND
   ══════════════════════════════════ */
.ph-cta-band{background:var(--olive-500);padding:clamp(40px,5vw,64px) 0}
.ph-cta-band-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-5);flex-wrap:wrap}
.ph-cta-band-inner h2{color:var(--white);margin:0;max-width:500px}
.ph-cta-buttons{display:flex;gap:var(--sp-3);flex-wrap:wrap;flex-shrink:0}
.ph-cta-white{display:inline-flex;align-items:center;gap:6px;padding:13px 24px;background:var(--white);color:var(--ink-900);font-size:14px;font-weight:700;border-radius:var(--r-pill);transition:transform var(--t-std),box-shadow var(--t-std)}
.ph-cta-white:hover{transform:translateY(-2px);box-shadow:var(--shadow-medium)}
.ph-cta-outline{display:inline-flex;align-items:center;gap:6px;padding:12px 24px;background:transparent;color:var(--white);font-size:14px;font-weight:700;border-radius:var(--r-pill);border:1.5px solid rgba(255,255,255,0.5);transition:border-color var(--t-std),background var(--t-std),transform var(--t-std)}
.ph-cta-outline:hover{border-color:var(--white);background:rgba(255,255,255,0.1);transform:translateY(-2px)}

/* ══════════════════════════════════
   FOOTER
   ══════════════════════════════════ */
.petrichor-site-footer{background:var(--slate-800);padding:clamp(48px,6vw,72px) 0 0}
.petrichor-footer-grid{display:grid;grid-template-columns:1.3fr 0.8fr 1fr;gap:var(--sp-5);margin-bottom:var(--sp-6)}
.petrichor-footer-panel{padding:var(--sp-4)}
.ph-footer-eyebrow{display:block;font-size:11px;text-transform:uppercase;letter-spacing:0.08em;color:rgba(255,255,255,0.35);font-weight:600;margin-bottom:var(--sp-2)}
.petrichor-footer-title{font-family:"Georgia",serif;font-size:clamp(1.6rem,2.5vw,2.2rem);color:var(--white);margin-bottom:var(--sp-3)}
.petrichor-footer-copy{font-size:14px;color:rgba(255,255,255,0.55);line-height:1.7;margin-bottom:var(--sp-2)}
.ph-footer-reg{font-size:11px;color:rgba(255,255,255,0.25);margin:0}
.petrichor-footer-heading{font-size:12px;text-transform:uppercase;letter-spacing:0.08em;color:rgba(255,255,255,0.4);font-weight:700;margin-bottom:var(--sp-3)}
.petrichor-footer-menu,.petrichor-contact-list{margin:0;padding:0;list-style:none}
.petrichor-footer-menu li,.petrichor-contact-list li{margin-bottom:10px}
.petrichor-footer-menu a{font-size:14px;color:rgba(255,255,255,0.6);transition:color var(--t-fast)}
.petrichor-footer-menu a:hover{color:var(--white)}
.petrichor-contact-list span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:0.06em;color:rgba(255,255,255,0.35);font-weight:600;margin-bottom:3px}
.petrichor-contact-list a{font-size:14px;color:rgba(255,255,255,0.65);transition:color var(--t-fast)}
.petrichor-contact-list a:hover{color:var(--white)}
.petrichor-footer-meta{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-4);border-top:1px solid rgba(255,255,255,0.1);flex-wrap:wrap}
.petrichor-footer-meta p{font-size:12px;color:rgba(255,255,255,0.3);margin:0}
.petrichor-footer-meta nav{display:flex;gap:var(--sp-4)}
.petrichor-footer-meta a{font-size:12px;color:rgba(255,255,255,0.3);transition:color var(--t-fast)}
.petrichor-footer-meta a:hover{color:rgba(255,255,255,0.7)}

/* ══════════════════════════════════
   INTERIOR PAGES
   ══════════════════════════════════ */
.petrichor-main{display:block}

/* Page hero */
.petrichor-page-hero{padding:clamp(48px,7vw,80px) 0;background:var(--sand-50);border-bottom:1px solid var(--sand-200)}
.petrichor-page-hero-grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:clamp(32px,5vw,64px);align-items:center}
.petrichor-page-title{font-size:clamp(2rem,3.5vw,3rem);margin-bottom:var(--sp-3)}
.petrichor-page-intro{font-size:16px;color:var(--mocha-700);line-height:1.7;margin-bottom:var(--sp-5);max-width:54ch}

/* Aside panel */
.petrichor-page-panel{background:var(--white);border:1px solid var(--sand-200);border-radius:var(--r-xl);padding:var(--sp-5);box-shadow:var(--shadow-soft)}
.petrichor-proof-label{display:inline-flex;padding:5px 12px;border-radius:var(--r-pill);background:rgba(150,160,91,0.12);color:var(--mocha-700);font-size:12px;font-weight:700;margin-bottom:var(--sp-3)}
.petrichor-page-panel-title{font-size:1.2rem;font-weight:700;margin-bottom:var(--sp-2);color:var(--ink-900)}

/* Page signals */
.petrichor-page-signals{padding:clamp(32px,5vw,56px) 0;background:var(--white)}
.petrichor-signal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-4)}
.petrichor-card{padding:var(--sp-5);background:var(--sand-50);border:1px solid var(--sand-200);border-radius:var(--r-lg);position:relative;transition:transform var(--t-std),box-shadow var(--t-std),border-color var(--t-std)}
.petrichor-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-medium);border-color:var(--taupe-400)}
.petrichor-card::before{content:'';display:block;width:10px;height:10px;border-radius:50%;background:linear-gradient(135deg,var(--olive-500),var(--mocha-600));margin-bottom:var(--sp-3)}
.petrichor-signal-title{font-size:1.1rem;font-weight:700;margin-bottom:var(--sp-2);color:var(--ink-900)}
.petrichor-card p{font-size:14px;color:var(--mocha-700);line-height:1.65;margin:0}

/* Content shell */
.petrichor-content-section{padding:clamp(40px,6vw,72px) 0}
.petrichor-content-shell{width:min(100%,var(--container-text));margin:0 auto;padding:clamp(28px,5vw,48px);background:var(--white);border:1px solid var(--sand-200);border-radius:var(--r-xl);box-shadow:var(--shadow-soft)}
.petrichor-content-shell.is-framed-content{width:min(100%,var(--container-main))}

/* Buttons in content */
button,.petrichor-button,.wp-element-button,.wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:13px 24px;border:1.5px solid transparent;border-radius:var(--r-pill);background:var(--slate-800);color:var(--white);font-size:14px;font-weight:700;cursor:pointer;transition:background var(--t-std),transform var(--t-std),box-shadow var(--t-std)}
button:hover,.petrichor-button:hover{background:var(--ink-900);transform:translateY(-2px);box-shadow:var(--shadow-medium)}
.petrichor-button--secondary{background:transparent;color:var(--slate-800);border-color:var(--taupe-400)}
.petrichor-button--secondary:hover{background:var(--sand-100);border-color:var(--mocha-600);color:var(--ink-900)}

/* Focus */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(150,160,91,0.6);outline-offset:3px}

/* Hero actions */
.petrichor-hero-actions{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin-top:var(--sp-5)}

/* Entry content */
.entry-content{color:var(--ink-900)}
.entry-content h2,.entry-content h3{margin-top:var(--sp-6)}
.entry-content blockquote{margin:var(--sp-6) 0;padding:var(--sp-5);border-left:4px solid var(--mocha-600);background:var(--sand-100);border-radius:var(--r-md)}
.entry-content ul,.entry-content ol{padding-left:var(--sp-5)}
.entry-content img{border-radius:var(--r-md)}

/* ══════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════ */
@media (max-width:1024px){
  .ph-hero{grid-template-columns:1fr}
  .ph-hero-media{min-height:320px;max-height:400px}
  .ph-journey-grid,.ph-services-grid{grid-template-columns:repeat(2,1fr)}
  .ph-stats-bar{grid-template-columns:repeat(2,1fr)}
  .ph-stat-item:nth-child(2){border-right:none}
  .ph-stat-item:nth-child(3){border-right:1px solid var(--sand-200)}
  .ph-stat-item:nth-child(3),.ph-stat-item:nth-child(4){border-top:1px solid var(--sand-200)}
  .ph-pillars-grid{grid-template-columns:1fr 1fr}
  .ph-regulatory-inner{grid-template-columns:1fr}
  .ph-cta-band-inner{flex-direction:column;align-items:flex-start}
  .petrichor-footer-grid{grid-template-columns:1fr 1fr}
  .petrichor-page-hero-grid{grid-template-columns:1fr}
  .petrichor-signal-grid{grid-template-columns:repeat(2,1fr)}
  .ph-properties-grid{grid-template-columns:1fr}
  .ph-menu-toggle{display:flex}
  .ph-primary-nav{position:absolute;top:calc(100% + 8px);left:12px;right:12px;flex-direction:column;align-items:stretch;padding:var(--sp-4);background:rgba(250,246,240,0.98);border:1px solid var(--sand-200);border-radius:var(--r-lg);box-shadow:var(--shadow-large);display:none}
  .ph-primary-nav.is-open{display:flex}
  .ph-nav-menu{flex-direction:column;align-items:stretch;gap:2px}
  .ph-nav-menu a{padding:10px 12px}
  .ph-site-header{position:relative}
  .ph-trust-bar-inner{flex-direction:column;gap:var(--sp-3);align-items:flex-start}
  .ph-trust-divider{display:none}
}

@media (max-width:767px){
  body{font-size:16px}
  .ph-journey-grid,.ph-services-grid,.ph-pillars-grid,.petrichor-signal-grid{grid-template-columns:1fr}
  .ph-stats-bar{grid-template-columns:1fr 1fr}
  .ph-stat-item:nth-child(3){border-right:none}
  .petrichor-footer-grid{grid-template-columns:1fr}
  .petrichor-footer-meta{flex-direction:column;align-items:flex-start}
  .ph-hero-actions{flex-direction:column}
  .ph-btn-primary,.ph-btn-secondary{justify-content:center}
  .ph-reg-badges{flex-direction:column}
  .ph-property-photos{grid-template-columns:1fr}
  .ph-property-secondary{display:none}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:0ms!important;transition-duration:0ms!important}
  [data-reveal]{opacity:1!important;transform:none!important}
}

/* ══════════════════════════════════
   PAGE HERO INTERIOR
   ══════════════════════════════════ */
.petrichor-page-hero{padding:clamp(56px,8vw,96px) 0;background:var(--sand-50);border-bottom:1px solid var(--sand-200)}
.petrichor-page-hero-grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:clamp(32px,5vw,72px);align-items:center}
.petrichor-page-title{font-size:clamp(2rem,3.5vw,3.2rem);margin-bottom:var(--sp-3);line-height:1.05}
.petrichor-page-intro{font-size:16px;color:var(--mocha-700);line-height:1.75;margin-bottom:var(--sp-5);max-width:52ch}
.petrichor-hero-actions{display:flex;flex-wrap:wrap;gap:var(--sp-3)}
.petrichor-page-media{margin:0 0 var(--sp-4);border-radius:var(--r-lg);overflow:hidden}
.petrichor-page-media img{width:100%;height:240px;object-fit:cover}
.petrichor-page-panel{background:var(--white);border:1px solid var(--sand-200);border-radius:var(--r-xl);padding:var(--sp-5);box-shadow:var(--shadow-soft)}
.petrichor-proof-label{display:inline-flex;align-items:center;padding:5px 12px;border-radius:var(--r-pill);background:rgba(150,160,91,0.12);color:var(--olive-600);font-size:11px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;margin-bottom:var(--sp-3)}
.petrichor-page-panel-title{font-size:1.25rem;font-weight:700;margin-bottom:var(--sp-2);color:var(--ink-900)}
.petrichor-page-panel-copy{font-size:14px;color:var(--mocha-700);line-height:1.7;margin:0}
.petrichor-page-signals{padding:clamp(32px,4vw,56px) 0;background:var(--white);border-bottom:1px solid var(--sand-200)}
.petrichor-signal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--sp-4)}
.petrichor-card{background:var(--sand-50);border:1px solid var(--sand-200);border-radius:var(--r-lg);padding:var(--sp-5);position:relative;transition:transform var(--t-std),box-shadow var(--t-std),border-color var(--t-std)}
.petrichor-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-medium);border-color:var(--taupe-400)}
.petrichor-card::before{content:'';display:block;width:10px;height:10px;border-radius:50%;background:linear-gradient(135deg,var(--olive-500),var(--mocha-600));margin-bottom:var(--sp-3)}
.petrichor-signal-title{font-size:1.1rem;font-weight:700;margin-bottom:var(--sp-2);color:var(--ink-900)}
.petrichor-card p{font-size:14px;color:var(--mocha-700);line-height:1.65;margin:0}
.petrichor-content-section{padding:clamp(40px,6vw,72px) 0}
.petrichor-content-shell{max-width:760px;margin:0 auto;padding:clamp(28px,4vw,48px);background:var(--white);border:1px solid var(--sand-200);border-radius:var(--r-xl);box-shadow:var(--shadow-soft)}
.entry-content h2,.entry-content h3{margin-top:var(--sp-6)}
.entry-content ul,.entry-content ol{padding-left:var(--sp-5)}

/* ══════════════════════════════════
   ABOUT PAGE
   ══════════════════════════════════ */
.ph-about-grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:clamp(32px,5vw,72px);align-items:center}
.ph-about-main h2{margin-bottom:var(--sp-4)}
.ph-about-main p{font-size:15px;color:var(--mocha-700);line-height:1.8}
.ph-about-img-wrap{border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--shadow-large)}
.ph-about-img-wrap img{width:100%;height:380px;object-fit:cover}
.ph-steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-4)}
.ph-steps-grid--2col{grid-template-columns:repeat(2,1fr)}
.ph-step-card{padding:var(--sp-5);background:var(--sand-50);border:1px solid var(--sand-200);border-radius:var(--r-lg)}
.ph-step-num{font-family:"Georgia",serif;font-size:2.5rem;color:var(--sand-200);font-weight:700;line-height:1;margin-bottom:var(--sp-3)}
.ph-step-card h3{font-size:16px;font-weight:700;margin-bottom:var(--sp-2);color:var(--ink-900)}
.ph-step-card p{font-size:13px;color:var(--mocha-700);line-height:1.65;margin:0}

/* ══════════════════════════════════
   CARE SERVICES PAGE
   ══════════════════════════════════ */
.ph-services-full-grid{display:flex;flex-direction:column;gap:var(--sp-5)}
.ph-service-full-card{display:grid;grid-template-columns:1fr 1.5fr;border:1px solid var(--sand-200);border-radius:var(--r-xl);overflow:hidden;background:var(--white);transition:box-shadow var(--t-std)}
.ph-service-full-card:hover{box-shadow:var(--shadow-medium)}
.ph-service-full-card:nth-child(even){direction:rtl}
.ph-service-full-card:nth-child(even)>*{direction:ltr}
.ph-service-full-img{position:relative;min-height:280px;overflow:hidden;background:var(--sand-100)}
.ph-service-full-img img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform var(--t-slow) var(--ease-std)}
.ph-service-full-card:hover .ph-service-full-img img{transform:scale(1.04)}
.ph-service-full-body{padding:var(--sp-6) var(--sp-6)}
.ph-service-full-body h3{font-size:1.4rem;margin-bottom:var(--sp-3)}
.ph-service-full-body p{font-size:15px;color:var(--mocha-700);line-height:1.75;margin-bottom:var(--sp-4)}
.ph-service-bullets{margin:0 0 var(--sp-5);padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:8px var(--sp-3)}
.ph-service-bullets li{font-size:13px;color:var(--mocha-700);padding-left:18px;position:relative}
.ph-service-bullets li::before{content:'✓';position:absolute;left:0;top:0;color:var(--olive-500);font-weight:700;font-size:12px}

/* ══════════════════════════════════
   ACCOMMODATION PAGE
   ══════════════════════════════════ */
.ph-property-full-card{display:grid;grid-template-columns:1fr 1.2fr;border:1px solid var(--sand-200);border-radius:var(--r-xl);overflow:hidden;background:var(--white);margin-bottom:var(--sp-5);box-shadow:var(--shadow-soft);transition:box-shadow var(--t-std)}
.ph-property-full-card:hover{box-shadow:var(--shadow-large)}
.ph-property-full-card--coming-soon{opacity:0.75}
.ph-property-full-card:nth-child(even){direction:rtl}
.ph-property-full-card:nth-child(even)>*{direction:ltr}
.ph-property-full-photos{display:grid;grid-template-rows:1fr 1fr;height:100%;min-height:320px;gap:2px;background:var(--sand-200)}
.ph-property-full-main,.ph-property-full-secondary{width:100%;height:100%;object-fit:cover;object-position:center}
.ph-property-full-placeholder{min-height:320px;background:var(--sand-100);display:flex;align-items:center;justify-content:center}
.ph-property-full-placeholder span{font-size:13px;color:var(--taupe-400);font-weight:700;text-transform:uppercase;letter-spacing:0.08em}
.ph-property-full-body{padding:clamp(28px,4vw,48px)}
.ph-property-type-tag{font-size:11px;color:var(--taupe-400);font-weight:600;text-transform:uppercase;letter-spacing:0.06em}
.ph-property-full-body h3{font-size:1.5rem;margin-bottom:4px}
.ph-property-full-body p{font-size:14px;color:var(--mocha-700);line-height:1.7;margin-bottom:var(--sp-4)}
.ph-features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-4)}
.ph-feature-card{padding:var(--sp-5);background:var(--white);border:1px solid var(--sand-200);border-radius:var(--r-lg);text-align:center}
.ph-feature-icon{font-size:28px;margin-bottom:var(--sp-3)}
.ph-feature-card h3{font-size:16px;margin-bottom:var(--sp-2)}
.ph-feature-card p{font-size:13px;color:var(--mocha-700);line-height:1.6;margin:0}

/* ══════════════════════════════════
   REFERRALS PAGE
   ══════════════════════════════════ */
.ph-referrals-grid{display:grid;grid-template-columns:1.2fr 0.8fr;gap:var(--sp-7);align-items:start}
.ph-referrals-main h2{margin-bottom:var(--sp-4)}
.ph-referrals-main>p{font-size:15px;color:var(--mocha-700);line-height:1.8;margin-bottom:var(--sp-4)}
.ph-info-block h3{font-size:1.2rem;font-weight:700;margin-bottom:var(--sp-3)}
.ph-checklist{margin:0;padding:0;list-style:none}
.ph-checklist li{padding:10px 0 10px 28px;border-bottom:1px solid var(--sand-200);font-size:14px;color:var(--mocha-700);position:relative}
.ph-checklist li:last-child{border-bottom:none}
.ph-checklist li::before{content:'✓';position:absolute;left:0;color:var(--olive-500);font-weight:700}
.ph-contact-card{background:var(--white);border:1px solid var(--sand-200);border-radius:var(--r-xl);padding:var(--sp-5);box-shadow:var(--shadow-soft)}
.ph-contact-card h3{font-size:1.2rem;font-weight:700;margin-bottom:var(--sp-5)}
.ph-contact-detail{margin-bottom:var(--sp-4);padding-bottom:var(--sp-4);border-bottom:1px solid var(--sand-200)}
.ph-contact-detail:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}
.ph-contact-detail span{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:var(--taupe-400);margin-bottom:4px}
.ph-contact-detail a{font-size:16px;font-weight:700;color:var(--ink-900);display:block;margin-bottom:2px}
.ph-contact-detail small{font-size:12px;color:var(--mocha-600)}
.ph-turnaround-card{background:var(--slate-800);border-radius:var(--r-lg);padding:var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-3)}
.ph-turnaround-item{display:flex;align-items:center;gap:var(--sp-3)}
.ph-turnaround-item strong{font-family:"Georgia",serif;font-size:1.4rem;color:var(--white);min-width:72px}
.ph-turnaround-item span{font-size:13px;color:rgba(255,255,255,0.55)}

/* ══════════════════════════════════
   CAREERS / STAFF PAGE
   ══════════════════════════════════ */
.ph-vacancy-list{display:flex;flex-direction:column;gap:var(--sp-3)}
.ph-vacancy-card{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);padding:var(--sp-5);background:var(--white);border:1px solid var(--sand-200);border-radius:var(--r-lg);flex-wrap:wrap;transition:box-shadow var(--t-std),border-color var(--t-std)}
.ph-vacancy-card:hover{box-shadow:var(--shadow-medium);border-color:var(--taupe-400)}
.ph-vacancy-info h3{font-size:17px;margin-bottom:var(--sp-2)}
.ph-vacancy-meta{display:flex;gap:var(--sp-2);margin-bottom:var(--sp-2)}
.ph-vacancy-meta span{background:var(--sand-100);border-radius:var(--r-pill);padding:3px 10px;font-size:12px;font-weight:600;color:var(--mocha-700)}
.ph-vacancy-info p{font-size:13px;color:var(--mocha-700);margin:0}

/* ══════════════════════════════════
   RESPONSIVE ADDITIONS
   ══════════════════════════════════ */
@media (max-width:1024px){
  .petrichor-page-hero-grid{grid-template-columns:1fr}
  .petrichor-page-aside{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4)}
  .ph-about-grid{grid-template-columns:1fr}
  .ph-about-img-wrap{max-height:280px}
  .ph-about-img-wrap img{height:280px}
  .ph-steps-grid{grid-template-columns:1fr 1fr}
  .ph-service-full-card{grid-template-columns:1fr}
  .ph-service-full-card:nth-child(even){direction:ltr}
  .ph-service-full-img{min-height:220px}
  .ph-property-full-card{grid-template-columns:1fr}
  .ph-property-full-card:nth-child(even){direction:ltr}
  .ph-property-full-photos{min-height:240px}
  .ph-referrals-grid{grid-template-columns:1fr}
  .ph-features-grid{grid-template-columns:repeat(2,1fr)}
  .ph-vacancy-card{flex-direction:column;align-items:flex-start}
}

@media (max-width:767px){
  .petrichor-page-aside{grid-template-columns:1fr}
  .ph-steps-grid,.ph-steps-grid--2col{grid-template-columns:1fr}
  .ph-features-grid{grid-template-columns:1fr}
  .ph-service-bullets{grid-template-columns:1fr}
  .ph-service-full-body{padding:var(--sp-4)}
  .ph-property-full-body{padding:var(--sp-4)}
}

/* ══════════════════════════════════
   LOGO FIX
   ══════════════════════════════════ */
.ph-brand-link{display:inline-flex;align-items:center;gap:0;text-decoration:none;line-height:1}
.ph-brand-link .custom-logo{height:52px;width:auto;max-width:160px;object-fit:contain;display:block}
.ph-brand-link img{height:52px;width:auto;max-width:160px;object-fit:contain;display:block}
.ph-brand-mark{display:flex;flex-direction:column;gap:2px}
.ph-brand-name{font-size:15px;font-weight:700;color:var(--ink-900);letter-spacing:-0.01em;line-height:1}
.ph-brand-sub{font-size:10px;font-weight:600;color:var(--mocha-600);text-transform:uppercase;letter-spacing:0.08em;line-height:1}
/* Override WordPress logo wrapper */
.site-branding,.wp-block-site-logo{margin:0;padding:0}
.custom-logo-link{display:block;line-height:0}

/* ══════════════════════════════════
   NAV DIVIDER
   ══════════════════════════════════ */
.ph-nav-divider{display:block;width:1px;height:24px;background:var(--sand-200);flex-shrink:0}

/* ══════════════════════════════════
   CQC WIDGET
   ══════════════════════════════════ */
.ph-cqc-widget{margin-top:var(--sp-4)}
.ph-cqc-widget iframe,.ph-cqc-widget>*{max-width:100%;border-radius:var(--r-sm);overflow:hidden}

/* ══════════════════════════════════
   MOBILE HERO FIXES
   ══════════════════════════════════ */
@media (max-width:1024px){
  .ph-hero{grid-template-columns:1fr;min-height:auto}
  .ph-hero-copy{padding:clamp(40px,6vw,64px) var(--sp-5);order:2}
  .ph-hero-media{order:1;min-height:280px;max-height:380px}
  .ph-hero-media img{height:100%;width:100%;object-fit:cover}
  .ph-hero-media-card{bottom:16px;right:16px;padding:12px 16px}
  .ph-hero-h1{font-size:clamp(2rem,5vw,3rem)}
  .ph-reg-badges{flex-direction:row;flex-wrap:wrap}
}

@media (max-width:767px){
  .ph-hero-copy{padding:var(--sp-5) var(--sp-4) var(--sp-6)}
  .ph-hero-h1{font-size:clamp(1.8rem,6vw,2.6rem)}
  .ph-hero-sub{font-size:14px}
  .ph-hero-actions{flex-direction:column;gap:var(--sp-3)}
  .ph-btn-primary,.ph-btn-secondary{width:100%;justify-content:center;padding:15px 20px;font-size:15px}
  .ph-reg-badges{flex-direction:column;gap:8px}
  .ph-trust-bar-inner{flex-direction:column;gap:12px;align-items:flex-start}
  .ph-trust-divider{display:none}
  .ph-stats-bar{grid-template-columns:1fr 1fr}
  .ph-stat-item:nth-child(odd){border-right:1px solid var(--sand-200)}
  .ph-stat-item:nth-child(n+3){border-top:1px solid var(--sand-200)}
  .ph-journey-grid{grid-template-columns:1fr}
  .ph-services-grid{grid-template-columns:1fr}
  .ph-properties-grid{grid-template-columns:1fr}
  .ph-pillars-grid{grid-template-columns:1fr}
  .ph-regulatory-inner{grid-template-columns:1fr;gap:var(--sp-5)}
  .ph-regulatory-cards{flex-direction:row;flex-wrap:wrap}
  .ph-regulatory-card{flex:1;min-width:160px}
  .ph-cta-band-inner{flex-direction:column;align-items:flex-start}
  .ph-cta-buttons{flex-direction:column;width:100%}
  .ph-cta-white,.ph-cta-outline{width:100%;justify-content:center}
  .petrichor-footer-grid{grid-template-columns:1fr}
  .petrichor-footer-meta{flex-direction:column;align-items:flex-start;gap:var(--sp-3)}
  .petrichor-footer-meta nav{flex-wrap:wrap;gap:var(--sp-2)}
  /* Interior pages mobile */
  .petrichor-page-hero-grid{grid-template-columns:1fr}
  .petrichor-page-aside{display:none}
  .petrichor-hero-actions{flex-direction:column}
  .ph-btn-primary,.ph-btn-secondary{width:100%;justify-content:center}
  .petrichor-signal-grid{grid-template-columns:1fr}
  /* About page */
  .ph-about-grid{grid-template-columns:1fr}
  .ph-about-img-wrap{display:none}
  .ph-steps-grid{grid-template-columns:1fr}
  /* Services page */
  .ph-service-full-card{grid-template-columns:1fr}
  .ph-service-full-card:nth-child(even){direction:ltr}
  .ph-service-full-img{min-height:200px;max-height:240px}
  .ph-service-full-body{padding:var(--sp-4)}
  .ph-service-bullets{grid-template-columns:1fr}
  /* Accommodation */
  .ph-property-full-card{grid-template-columns:1fr}
  .ph-property-full-card:nth-child(even){direction:ltr}
  .ph-property-full-photos{min-height:200px}
  .ph-property-full-body{padding:var(--sp-4)}
  .ph-features-grid{grid-template-columns:1fr}
  /* Referrals */
  .ph-referrals-grid{grid-template-columns:1fr}
  /* Careers */
  .ph-vacancy-card{flex-direction:column;align-items:flex-start;gap:var(--sp-3)}
  .ph-vacancy-card .ph-btn-primary{width:100%;justify-content:center}
}

/* ══════════════════════════════════
   NAV MOBILE
   ══════════════════════════════════ */
@media (max-width:1024px){
  .ph-menu-toggle{display:flex}
  .ph-nav-divider{display:none}
  .ph-primary-nav{
    position:absolute;
    top:calc(100% + 4px);
    left:12px;right:12px;
    flex-direction:column;
    align-items:stretch;
    padding:var(--sp-4);
    background:rgba(250,246,240,0.98);
    border:1px solid var(--sand-200);
    border-radius:var(--r-lg);
    box-shadow:var(--shadow-large);
    display:none;
    z-index:300;
    backdrop-filter:blur(12px);
  }
  .ph-primary-nav.is-open{display:flex}
  .ph-nav-menu{flex-direction:column;align-items:stretch;gap:2px}
  .ph-nav-menu a{padding:12px 14px;font-size:15px;border-radius:var(--r-sm)}
  .ph-nav-cta{text-align:center;padding:14px;border-radius:var(--r-lg);margin-top:var(--sp-2)}
  .ph-site-header{position:relative}
}

/* ══════════════════════════════════
   INTERIOR PAGE HERO — CONSISTENT
   ══════════════════════════════════ */
.petrichor-page-hero{
  padding:clamp(48px,7vw,88px) 0;
  background:var(--sand-50);
  border-bottom:1px solid var(--sand-200);
}
.petrichor-page-hero-grid{
  display:grid;
  grid-template-columns:1.1fr 0.9fr;
  gap:clamp(32px,5vw,72px);
  align-items:center;
}
.petrichor-page-title{
  font-family:"Cormorant Garamond","Georgia",serif;
  font-size:clamp(2rem,3.5vw,3.2rem);
  line-height:1.05;
  margin-bottom:var(--sp-3);
  color:var(--ink-900);
}
.petrichor-page-intro{
  font-size:16px;
  color:var(--mocha-700);
  line-height:1.75;
  margin-bottom:var(--sp-5);
  max-width:52ch;
}
.petrichor-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:var(--sp-3);
}
.petrichor-page-media{
  margin:0 0 var(--sp-4);
  border-radius:var(--r-lg);
  overflow:hidden;
}
.petrichor-page-media img{
  width:100%;
  height:240px;
  object-fit:cover;
  display:block;
}
.petrichor-page-panel{
  background:var(--white);
  border:1px solid var(--sand-200);
  border-radius:var(--r-xl);
  padding:var(--sp-5);
  box-shadow:var(--shadow-soft);
}
.petrichor-proof-label{
  display:inline-flex;
  align-items:center;
  padding:5px 12px;
  border-radius:var(--r-pill);
  background:rgba(150,160,91,0.12);
  color:var(--olive-600);
  font-size:11px;
  font-weight:700;
  letter-spacing:0.06em;
  text-transform:uppercase;
  margin-bottom:var(--sp-3);
}
.petrichor-page-panel-title{
  font-size:1.2rem;
  font-weight:700;
  margin-bottom:var(--sp-2);
  color:var(--ink-900);
}
.petrichor-page-panel-copy{
  font-size:14px;
  color:var(--mocha-700);
  line-height:1.7;
  margin:0;
}
.petrichor-page-signals{
  padding:clamp(32px,4vw,56px) 0;
  background:var(--white);
  border-bottom:1px solid var(--sand-200);
}
.petrichor-signal-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:var(--sp-4);
}

/* ══════════════════════════════════
   AIMS & OBJECTIVES PAGE
   ══════════════════════════════════ */
.ph-aims-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-6);margin-top:var(--sp-6)}
.ph-aims-col h3{font-size:1.3rem;font-weight:700;margin-bottom:var(--sp-4);color:var(--ink-900);padding-bottom:var(--sp-3);border-bottom:2px solid var(--olive-500)}
.ph-aims-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--sp-3)}
.ph-aims-list li{font-size:15px;color:var(--mocha-700);line-height:1.7;padding:var(--sp-3) var(--sp-4) var(--sp-3) var(--sp-6);background:var(--sand-50);border:1px solid var(--sand-200);border-radius:var(--r-sm);position:relative}
.ph-aims-list li::before{content:'✓';position:absolute;left:var(--sp-3);top:var(--sp-3);color:var(--olive-500);font-weight:700;font-size:13px}

/* ══════════════════════════════════
   CONTACT PAGE
   ══════════════════════════════════ */
.ph-contact-page-grid{display:grid;grid-template-columns:1.3fr 0.7fr;gap:var(--sp-7);align-items:start}
.ph-contact-form-wrap{background:var(--white);border:1px solid var(--sand-200);border-radius:var(--r-xl);padding:var(--sp-6);box-shadow:var(--shadow-soft)}
.ph-contact-form-wrap h2{font-size:1.5rem;margin-bottom:var(--sp-5)}
.ph-contact-form input,.ph-contact-form select,.ph-contact-form textarea{
  width:100%;padding:13px 16px;background:var(--sand-50);border:1.5px solid var(--sand-200);border-radius:var(--r-sm);font-size:15px;color:var(--ink-900);transition:border-color var(--t-std)}
.ph-contact-form input:focus,.ph-contact-form select:focus,.ph-contact-form textarea:focus{border-color:var(--mocha-600);outline:none;background:var(--white)}
.ph-contact-form label{display:block;font-size:13px;font-weight:700;color:var(--ink-900);margin-bottom:6px;letter-spacing:0.02em}
.ph-contact-form .ph-field{margin-bottom:var(--sp-4)}
.ph-contact-form textarea{min-height:140px;resize:vertical}
.ph-contact-form .ph-btn-primary{width:100%;justify-content:center;margin-top:var(--sp-2)}

/* ══════════════════════════════════
   FIX: data-reveal — ensure visible if JS fails
   ══════════════════════════════════ */
.no-js [data-reveal]{opacity:1;transform:none}

@media (max-width:767px){
  .ph-aims-grid{grid-template-columns:1fr}
  .ph-contact-page-grid{grid-template-columns:1fr}
}

/* ══════════════════════════════════
   KILL ELEMENTOR HEADER BLEED
   ══════════════════════════════════ */
[data-elementor-type="header"],
[data-elementor-type="footer"],
.elementor-location-header,
.elementor-location-footer,
.e-con[data-element_type="container"].elementor-top-section,
body > .elementor-section-wrap:first-of-type {
  display: none !important;
}

/* ══════════════════════════════════
   MOBILE NAV TOGGLE ANIMATION
   ══════════════════════════════════ */
.ph-menu-toggle-bar{transition:transform var(--t-std),opacity var(--t-std)}

/* ══════════════════════════════════
   MOBILE CTA BAND FIX
   ══════════════════════════════════ */
@media (max-width:767px){
  .ph-cta-band{padding:clamp(32px,5vw,48px) 0}
  .ph-cta-band-inner h2{font-size:clamp(1.4rem,4vw,2rem)}
  .ph-regulatory-band{padding:clamp(40px,5vw,56px) 0}
  .ph-regulatory-text h2{font-size:clamp(1.4rem,4vw,2rem)}
}

/* ══════════════════════════════════
   INTERIOR PAGES — ENSURE VISIBLE
   ══════════════════════════════════ */
.petrichor-page-hero,
.petrichor-page-signals,
.petrichor-content-section,
.ph-section,
.ph-about-grid,
.ph-steps-grid,
.ph-services-full-grid,
.ph-property-full-card,
.ph-features-grid,
.ph-referrals-grid,
.ph-vacancy-list,
.ph-aims-grid,
.ph-regulatory-band,
.ph-cta-band,
.petrichor-site-footer {
  opacity: 1 !important;
  transform: none !important;
}

/* ══════════════════════════════════
   KILL FLOATING ELEMENTOR BUTTON
   — More aggressive rules
   ══════════════════════════════════ */
body > div:not(.petrichor-site-shell):not(#wpadminbar),
body > section:not(#primary),
.elementor-section-wrap,
.elementor-location-header,
.elementor-location-footer,
[data-elementor-type="header"],
[data-elementor-type="footer"],
[data-elementor-type="popup"],
.e-con-boxed > .e-con-inner > [data-element_type="widget"][data-widget_type="button.default"]:only-child {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

/* ══════════════════════════════════
   HAMBURGER ICON FIX
   ══════════════════════════════════ */
.ph-menu-toggle {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  width: 44px;
  height: 44px;
  padding: 10px;
  background: var(--white) !important;
  border: 1.5px solid var(--sand-200) !important;
  border-radius: var(--r-sm);
  cursor: pointer;
  flex-shrink: 0;
  z-index: 201;
}
.ph-menu-toggle-bar {
  display: block;
  width: 22px;
  height: 2px;
  background: var(--ink-900) !important;
  border-radius: 2px;
  transition: transform var(--t-std), opacity var(--t-std);
  flex-shrink: 0;
}
@media (max-width: 1024px) {
  .ph-menu-toggle { display: flex !important; }
}

/* ══════════════════════════════════
   MOBILE TYPOGRAPHY — ALL PAGES
   ══════════════════════════════════ */
@media (max-width: 767px) {

  /* Base */
  body { font-size: 15px; }
  p { font-size: 15px; line-height: 1.7; }

  /* Headings */
  h1, .ph-hero-h1, .petrichor-page-title {
    font-size: clamp(1.7rem, 7vw, 2.4rem) !important;
    line-height: 1.1 !important;
  }
  h2 {
    font-size: clamp(1.4rem, 5.5vw, 2rem) !important;
    line-height: 1.15 !important;
  }
  h3 {
    font-size: clamp(1.1rem, 4.5vw, 1.35rem) !important;
    line-height: 1.2 !important;
  }

  /* Section padding */
  .ph-section { padding: 40px 0; }
  .ph-section-head { margin-bottom: 28px; }
  .ph-section-sub { font-size: 14px; }

  /* Hero */
  .ph-hero-copy { padding: 32px 20px 40px; }
  .ph-hero-sub { font-size: 14px; }
  .ph-hero-actions { gap: 10px; }
  .ph-hero-media { min-height: 240px; max-height: 300px; }
  .ph-hero-media-card {
    bottom: 12px; right: 12px;
    padding: 10px 14px;
  }
  .ph-hero-media-card strong { font-size: 22px; }

  /* Trust bar */
  .ph-trust-bar { padding: 20px 16px; }
  .ph-trust-bar-inner { gap: 14px; }
  .ph-trust-item strong { font-size: 12px; }

  /* Journey cards */
  .ph-journey-card { padding: 20px; }
  .ph-journey-card h3 { font-size: 1.05rem; }
  .ph-journey-icon { width: 40px; height: 40px; font-size: 18px; margin-bottom: 14px; }

  /* Stats */
  .ph-stat-item { padding: 24px 12px; }
  .ph-stat-val { font-size: clamp(1.6rem, 7vw, 2.4rem); }
  .ph-stat-label { font-size: 11px; }

  /* Service cards */
  .ph-service-card { border-radius: var(--r-md); }
  .ph-service-img { height: 180px; }
  .ph-service-body { padding: 16px; }
  .ph-service-body h3 { font-size: 1rem; }
  .ph-service-body p { font-size: 13px; }

  /* Property cards */
  .ph-property-card { border-radius: var(--r-md); }
  .ph-property-body { padding: 16px 18px 20px; }
  .ph-property-body h3 { font-size: 1.2rem; }
  .ph-property-body p { font-size: 13px; }
  .ph-property-photos { height: 200px; grid-template-columns: 1fr; }
  .ph-property-secondary { display: none; }

  /* Pillar cards */
  .ph-pillar-card { padding: 18px 16px; }
  .ph-pillar-card h3 { font-size: 1rem; }
  .ph-pillar-card p { font-size: 13px; }

  /* Regulatory band */
  .ph-regulatory-band { padding: 40px 0; }
  .ph-regulatory-text h2 { font-size: clamp(1.3rem, 5vw, 1.8rem) !important; }
  .ph-regulatory-text p { font-size: 14px; }
  .ph-regulatory-card { padding: 14px 16px; }
  .ph-regulatory-card strong { font-size: 15px; }

  /* CTA band */
  .ph-cta-band { padding: 36px 0; }
  .ph-cta-band-inner h2 { font-size: clamp(1.3rem, 5vw, 1.8rem) !important; }
  .ph-cta-white, .ph-cta-outline { padding: 14px 20px; font-size: 14px; }

  /* Interior page hero */
  .petrichor-page-hero { padding: 36px 0; }
  .petrichor-page-title { font-size: clamp(1.6rem, 6vw, 2.2rem) !important; }
  .petrichor-page-intro { font-size: 14px; }
  .petrichor-page-aside { display: none; }
  .petrichor-hero-actions { gap: 10px; }
  .ph-btn-primary, .ph-btn-secondary { padding: 13px 18px; font-size: 14px; }

  /* Signal cards */
  .petrichor-card { padding: 16px; }
  .petrichor-signal-title { font-size: 1rem; }
  .petrichor-card p { font-size: 13px; }

  /* About page */
  .ph-step-card { padding: 16px; }
  .ph-step-num { font-size: 1.8rem; }
  .ph-step-card h3 { font-size: 1rem; }
  .ph-step-card p { font-size: 13px; }

  /* Services full page */
  .ph-service-full-body { padding: 20px 18px; }
  .ph-service-full-body h3 { font-size: 1.15rem; }
  .ph-service-full-body p { font-size: 14px; }
  .ph-service-bullets li { font-size: 13px; }

  /* Accommodation full page */
  .ph-property-full-body { padding: 20px 18px; }
  .ph-property-full-body h3 { font-size: 1.2rem; }
  .ph-feature-card { padding: 16px; }
  .ph-feature-card h3 { font-size: 1rem; }
  .ph-feature-card p { font-size: 13px; }

  /* Referrals */
  .ph-step-card p { font-size: 13px; }
  .ph-contact-card { padding: 20px 18px; }
  .ph-contact-card h3 { font-size: 1.1rem; }
  .ph-contact-detail a { font-size: 15px; }

  /* Careers */
  .ph-vacancy-card { padding: 18px 16px; }
  .ph-vacancy-info h3 { font-size: 1.05rem; }
  .ph-vacancy-info p { font-size: 13px; }

  /* Footer */
  .petrichor-footer-title { font-size: 1.4rem; }
  .petrichor-footer-copy { font-size: 13px; }
  .petrichor-footer-menu a { font-size: 14px; }
  .petrichor-contact-list a { font-size: 14px; }
  .ph-footer-reg { font-size: 11px; }
  .petrichor-footer-meta p { font-size: 11px; }
  .petrichor-footer-meta a { font-size: 11px; }
}

/* ══════════════════════════════════
   HEADER — MOBILE LAYOUT FIX
   ══════════════════════════════════ */
@media (max-width: 1024px) {
  .ph-header-inner {
    height: 60px;
    padding: 0 16px;
  }
  .ph-brand-link img,
  .ph-brand-link .custom-logo {
    height: 44px;
  }
}

@media (max-width: 767px) {
  .ph-header-inner { height: 56px; padding: 0 14px; }
  .ph-brand-link img,
  .ph-brand-link .custom-logo { height: 38px; }
}

/* ══════════════════════════════════
   NUCLEAR OPTION — HIDE ELEMENTOR
   HEADER CONTAINER COMPLETELY
   ══════════════════════════════════ */
.elementor-location-header,
[data-elementor-type="header"],
[data-elementor-type="header"] *,
.e-con[data-element_type="container"]:not(.petrichor-site-shell *),
body > .elementor,
body > .e-con,
body > .elementor-section-wrap,
body > .elementor-section,
body > [data-elementor-id] {
  display: none !important;
  height: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
  position: absolute !important;
  clip: rect(0,0,0,0) !important;
}

/* ══════════════════════════════════
   MOBILE STICKY CTA BUTTON
   — Replaces the Elementor one
   — Only shows on mobile
   ══════════════════════════════════ */
.ph-sticky-cta {
  display: none;
}

@media (max-width: 1024px) {
  .ph-sticky-cta {
    display: flex;
    position: fixed;
    bottom: 20px;
    right: 16px;
    z-index: 999;
    align-items: center;
    gap: 8px;
    padding: 13px 20px;
    background: var(--slate-800);
    color: var(--white);
    font-size: 14px;
    font-weight: 700;
    border-radius: var(--r-pill);
    box-shadow: 0 4px 20px rgba(47,59,82,0.35);
    text-decoration: none;
    transition: background var(--t-std), transform var(--t-std), box-shadow var(--t-std);
    font-family: system-ui, sans-serif;
  }
  .ph-sticky-cta:hover,
  .ph-sticky-cta:focus {
    background: var(--ink-900);
    color: var(--white);
    transform: translateY(-2px);
    box-shadow: 0 8px 28px rgba(47,59,82,0.45);
  }
  .ph-sticky-cta svg {
    width: 16px;
    height: 16px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    flex-shrink: 0;
  }
}

/* ══════════════════════════════════
   HIDE ELEMENTOR FLOATING BUTTON
   COMPLETELY ON ALL SCREENS
   ══════════════════════════════════ */
.elementor-location-header,
[data-elementor-type="header"],
.elementor-section-wrap > .elementor-section:first-child,
.elementor-section-wrap > .e-con:first-child,
body > .elementor,
body > .e-con,
body > .elementor-section-wrap {
  display: none !important;
}

/* ══════════════════════════════════
   FIX 1 — NAV CTA VISIBLE ON MOBILE
   ══════════════════════════════════ */
@media (max-width: 1024px) {
  .ph-primary-nav {
    position: absolute;
    top: calc(100% + 4px);
    left: 12px;
    right: 12px;
    flex-direction: column;
    align-items: stretch;
    padding: 16px;
    background: rgba(250,246,240,0.98);
    border: 1px solid var(--sand-200);
    border-radius: var(--r-lg);
    box-shadow: var(--shadow-large);
    display: none;
    z-index: 300;
    backdrop-filter: blur(12px);
  }
  .ph-primary-nav.is-open { display: flex; }
  .ph-nav-divider { display: none; }
  .ph-nav-cta {
    display: block;
    text-align: center;
    padding: 14px;
    border-radius: var(--r-lg);
    margin-top: 8px;
    background: var(--slate-800);
    color: var(--white);
    font-weight: 700;
    font-size: 15px;
  }
  .ph-nav-menu { flex-direction: column; gap: 2px; }
  .ph-nav-menu a { padding: 12px 14px; font-size: 15px; opacity: 1; }
}

/* ══════════════════════════════════
   FIX 2 — PROPERTY CARD RESPONSIVE
   ══════════════════════════════════ */
.ph-property-photos {
  display: grid;
  grid-template-columns: 1.4fr 0.6fr;
  height: 200px;
  gap: 2px;
  overflow: hidden;
  border-radius: var(--r-lg) var(--r-lg) 0 0;
}
.ph-property-main,
.ph-property-secondary {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}
@media (max-width: 767px) {
  .ph-property-photos {
    grid-template-columns: 1fr;
    height: 200px;
  }
  .ph-property-secondary { display: none; }
  .ph-property-main { border-radius: var(--r-md) var(--r-md) 0 0; }
  .ph-property-card { border-radius: var(--r-md); }
  .ph-property-body { padding: 14px 16px 18px; }
  .ph-property-body h3 { font-size: 1.1rem; margin-bottom: 4px; }
  .ph-property-body p { font-size: 13px; line-height: 1.6; }
  .ph-property-area { font-size: 12px; margin-bottom: 8px; }
  .ph-property-status { font-size: 10px; padding: 3px 8px; }
  .ph-property-rooms { font-size: 11px; }
  .ph-properties-grid { gap: 16px; }
}

/* ══════════════════════════════════
   FIX 3 — PAGE HERO INNER RESPONSIVE
   This is the reused component across
   all interior pages
   ══════════════════════════════════ */
.petrichor-page-hero-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: clamp(28px, 5vw, 64px);
  align-items: center;
}
.petrichor-page-hero-inner {
  width: 100%;
  min-width: 0; /* prevent overflow */
}
.petrichor-page-title {
  font-size: clamp(1.6rem, 4.5vw, 3rem) !important;
  line-height: 1.08 !important;
  word-break: break-word;
  overflow-wrap: break-word;
  margin-bottom: 16px;
}
.petrichor-page-intro {
  font-size: clamp(14px, 2vw, 16px);
  line-height: 1.75;
  max-width: 52ch;
  margin-bottom: 28px;
}
.petrichor-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
@media (max-width: 1024px) {
  .petrichor-page-hero-grid {
    grid-template-columns: 1fr;
  }
  .petrichor-page-aside { display: none; }
  .petrichor-page-title {
    font-size: clamp(1.5rem, 5.5vw, 2.4rem) !important;
  }
}
@media (max-width: 767px) {
  .petrichor-page-hero { padding: 32px 0 36px; }
  .petrichor-page-hero-grid { gap: 0; }
  .petrichor-page-title {
    font-size: clamp(1.4rem, 6.5vw, 2rem) !important;
    line-height: 1.1 !important;
    margin-bottom: 12px;
  }
  .petrichor-page-intro {
    font-size: 14px;
    margin-bottom: 20px;
  }
  .petrichor-hero-actions {
    flex-direction: column;
    gap: 10px;
  }
  .petrichor-hero-actions .ph-btn-primary,
  .petrichor-hero-actions .ph-btn-secondary {
    width: 100%;
    justify-content: center;
    padding: 14px 16px;
    font-size: 14px;
  }
  /* Page hero padding */
  .petrichor-container.petrichor-page-hero-grid {
    padding-left: 16px;
    padding-right: 16px;
  }
}

/* ══════════════════════════════════
   DEFINITIVE MOBILE NAV FIX
   Hide nav CTA on mobile — it shows
   in the sticky button instead
   ══════════════════════════════════ */
@media (max-width: 1024px) {
  /* Hide the nav CTA completely on mobile */
  .ph-nav-cta { display: none !important; }
  .ph-nav-divider { display: none !important; }

  /* Nav dropdown */
  .ph-primary-nav {
    position: absolute !important;
    top: calc(100% + 4px) !important;
    left: 12px !important;
    right: 12px !important;
    flex-direction: column !important;
    align-items: stretch !important;
    padding: 12px !important;
    background: #faf6f0 !important;
    border: 1px solid #e8d8c3 !important;
    border-radius: 16px !important;
    box-shadow: 0 20px 56px rgba(42,36,31,0.12) !important;
    display: none !important;
    z-index: 9999 !important;
  }
  .ph-primary-nav.is-open {
    display: flex !important;
  }
  .ph-nav-menu {
    flex-direction: column !important;
    gap: 2px !important;
    width: 100% !important;
  }
  .ph-nav-menu li { width: 100%; }
  .ph-nav-menu a {
    display: block !important;
    padding: 13px 14px !important;
    font-size: 15px !important;
    opacity: 1 !important;
    color: #2a241f !important;
    border-radius: 10px !important;
    font-weight: 600 !important;
  }
  .ph-nav-menu a:hover { background: #f4ede3 !important; }

  /* Sticky CTA shows on mobile instead of nav CTA */
  .ph-sticky-cta { display: flex !important; }
}

@media (min-width: 1025px) {
  /* Show nav CTA on desktop, hide sticky */
  .ph-nav-cta { display: inline-flex !important; }
  .ph-sticky-cta { display: none !important; }
}

/* ══════════════════════════════════
   CAREERS PAGE — REDESIGNED
   ══════════════════════════════════ */
.ph-reasons-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--sp-4);
  margin-top: var(--sp-5);
}
.ph-reason-card {
  padding: var(--sp-5);
  background: var(--sand-50);
  border: 1px solid var(--sand-200);
  border-radius: var(--r-lg);
}
.ph-reason-dot {
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--olive-500), var(--mocha-600));
  margin-bottom: var(--sp-3);
}
.ph-reason-card h3 { font-size: 1.05rem; margin-bottom: var(--sp-2); }
.ph-reason-card p { font-size: 14px; color: var(--mocha-700); line-height: 1.65; margin: 0; }

.ph-vacancy-card {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: var(--sp-4);
  align-items: center;
  padding: var(--sp-5);
  background: var(--white);
  border: 1px solid var(--sand-200);
  border-radius: var(--r-lg);
  margin-bottom: var(--sp-3);
  transition: box-shadow var(--t-std), border-color var(--t-std);
}
.ph-vacancy-card:hover { box-shadow: var(--shadow-medium); border-color: var(--taupe-400); }
.ph-vacancy-info h3 { font-size: 1.15rem; margin-bottom: var(--sp-2); }
.ph-vacancy-info p { font-size: 14px; color: var(--mocha-700); margin: 0; }
.ph-vacancy-meta { display: flex; gap: 8px; margin-bottom: 8px; flex-wrap: wrap; }
.ph-vacancy-meta span {
  background: var(--sand-100);
  border-radius: var(--r-pill);
  padding: 3px 10px;
  font-size: 12px;
  font-weight: 600;
  color: var(--mocha-700);
}
.ph-vacancy-apply { white-space: nowrap; flex-shrink: 0; }

.ph-speculative-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-4);
  margin-top: var(--sp-5);
  padding: var(--sp-5);
  background: var(--white);
  border: 1.5px dashed var(--taupe-400);
  border-radius: var(--r-lg);
  flex-wrap: wrap;
}
.ph-speculative-text h3 { font-size: 1.1rem; margin-bottom: 6px; }
.ph-speculative-text p { font-size: 14px; color: var(--mocha-700); margin: 0; max-width: 48ch; }

/* Application form */
.ph-application-wrap {
  max-width: 680px;
  margin: 0 auto;
}
.ph-application-form-inner {
  background: var(--white);
  border: 1px solid var(--sand-200);
  border-radius: var(--r-xl);
  padding: var(--sp-6);
  box-shadow: var(--shadow-soft);
  display: flex;
  flex-direction: column;
  gap: var(--sp-4);
}
.ph-app-field-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sp-4);
}
.ph-app-field-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.ph-app-label {
  font-size: 13px;
  font-weight: 700;
  color: var(--ink-900);
  letter-spacing: 0.02em;
}
.ph-app-input {
  width: 100%;
  padding: 12px 14px;
  background: var(--sand-50);
  border: 1.5px solid var(--sand-200);
  border-radius: var(--r-sm);
  font-size: 15px;
  color: var(--ink-900);
  font-family: inherit;
  transition: border-color var(--t-std), background var(--t-std);
  appearance: none;
}
.ph-app-input:focus {
  border-color: var(--mocha-600);
  background: var(--white);
  outline: none;
}
.ph-app-textarea { min-height: 120px; resize: vertical; }
.ph-app-radios { display: flex; gap: var(--sp-4); flex-wrap: wrap; }
.ph-app-radio {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: var(--ink-900);
  cursor: pointer;
}
.ph-app-radio input { width: 16px; height: 16px; cursor: pointer; accent-color: var(--slate-800); }
.ph-app-submit { display: flex; flex-direction: column; gap: var(--sp-2); margin-top: var(--sp-2); }
.ph-app-note {
  font-size: 12px;
  color: var(--taupe-400);
  text-align: center;
  margin: 0;
  line-height: 1.5;
}

/* Elementor form override — make it responsive inside our wrapper */
.ph-application-wrap .elementor-widget-container,
.ph-application-wrap .elementor-form-fields-wrapper {
  max-width: 100% !important;
  padding: 0 !important;
}
.ph-application-wrap .elementor-field-group {
  padding: 0 !important;
  margin-bottom: var(--sp-4) !important;
}
.ph-application-wrap input[type="text"],
.ph-application-wrap input[type="email"],
.ph-application-wrap input[type="tel"],
.ph-application-wrap input[type="number"],
.ph-application-wrap select,
.ph-application-wrap textarea {
  width: 100% !important;
  padding: 12px 14px !important;
  background: var(--sand-50) !important;
  border: 1.5px solid var(--sand-200) !important;
  border-radius: var(--r-sm) !important;
  font-size: 15px !important;
  font-family: inherit !important;
  box-sizing: border-box !important;
}
.ph-application-wrap .elementor-button {
  width: 100% !important;
  background: var(--slate-800) !important;
  border-radius: var(--r-pill) !important;
  padding: 14px 24px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
}

/* Multi-step form progress */
.ph-application-wrap .e-form__step {
  padding: 0 !important;
}
.ph-application-wrap .e-form__buttons {
  display: flex !important;
  gap: var(--sp-3) !important;
  flex-wrap: wrap !important;
}
.ph-application-wrap .e-form__buttons .elementor-button {
  flex: 1 !important;
  min-width: 120px !important;
}

/* ══════════════════════════════════
   MOBILE CAREERS PAGE
   ══════════════════════════════════ */
@media (max-width: 767px) {
  .ph-reasons-grid { grid-template-columns: 1fr; }
  .ph-vacancy-card {
    grid-template-columns: 1fr;
    gap: var(--sp-3);
  }
  .ph-vacancy-apply { width: 100%; justify-content: center; }
  .ph-speculative-box { flex-direction: column; align-items: flex-start; }
  .ph-speculative-box .ph-btn-secondary { width: 100%; justify-content: center; }
  .ph-application-form-inner { padding: var(--sp-4); }
  .ph-app-field-row { grid-template-columns: 1fr; }
}

/* ══════════════════════════════════
   HIDE ELEMENTOR CONTENT IN
   APPLICATION WRAP
   ══════════════════════════════════ */
.ph-application-wrap [data-elementor-type],
.ph-application-wrap .elementor-section-wrap,
.ph-application-wrap .e-con-boxed:not(.petrichor-recruitment-shell *),
.ph-application-wrap .elementor-element:not(.petrichor-recruitment-shell *) {
  display: none !important;
}

/* ══════════════════════════════════
   MULTI-STEP APPLICATION FORM
   ══════════════════════════════════ */
.petrichor-recruitment-shell,
.petrichor-application-shell {
  font-family: system-ui, sans-serif;
  max-width: 100%;
}

/* Top bar */
.petrichor-application-frame {
  background: var(--white);
  border: 1px solid var(--sand-200);
  border-radius: var(--r-xl);
  overflow: hidden;
  box-shadow: var(--shadow-soft);
}
.petrichor-application-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-3);
  padding: var(--sp-4) var(--sp-5);
  background: var(--slate-800);
  flex-wrap: wrap;
}
.petrichor-application-eyebrow {
  display: block;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(255,255,255,0.5);
  margin-bottom: 4px;
}
.petrichor-application-topbar strong {
  display: block;
  font-size: 16px;
  color: var(--white);
  font-weight: 700;
}
.petrichor-application-context {
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: var(--r-pill);
  padding: 5px 14px;
  font-size: 12px;
  font-weight: 600;
  color: var(--white);
}
.petrichor-application-phase {
  padding: var(--sp-4) var(--sp-5);
  background: var(--sand-50);
  border-bottom: 1px solid var(--sand-200);
  font-size: 14px;
  color: var(--mocha-700);
}
.petrichor-application-phase strong { color: var(--ink-900); }

/* Mobile progress bar */
.petrichor-mobile-progress {
  padding: var(--sp-4) var(--sp-5) 0;
}
.petrichor-progress-copy {
  display: flex;
  justify-content: space-between;
  font-size: 13px;
  font-weight: 600;
  color: var(--ink-900);
  margin-bottom: 8px;
}
.petrichor-progress-bar {
  height: 6px;
  background: var(--sand-200);
  border-radius: 3px;
  overflow: hidden;
  margin-bottom: var(--sp-4);
}
.petrichor-progress-fill {
  height: 100%;
  background: var(--slate-800);
  border-radius: 3px;
  transition: width 0.3s ease;
}

/* Layout: sidebar + main */
.petrichor-application-layout {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 0;
  min-height: 500px;
}

/* Sidebar step indicator */
.petrichor-sidebar-card {
  padding: var(--sp-4);
  border-right: 1px solid var(--sand-200);
  background: var(--sand-50);
}
.petrichor-sidebar-card h3 {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--taupe-400);
  margin-bottom: var(--sp-3);
  font-weight: 700;
}
.petrichor-step-pill {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 9px 10px;
  background: transparent;
  border: none;
  border-radius: var(--r-sm);
  cursor: pointer;
  text-align: left;
  margin-bottom: 2px;
  transition: background var(--t-fast);
  min-height: auto;
  box-shadow: none;
}
.petrichor-step-pill:hover { background: var(--sand-100); transform: none; }
.petrichor-step-pill span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--sand-200);
  font-size: 11px;
  font-weight: 700;
  color: var(--mocha-700);
  flex-shrink: 0;
}
.petrichor-step-pill strong {
  font-size: 12px;
  font-weight: 600;
  color: var(--mocha-700);
  line-height: 1.3;
}
.petrichor-step-pill.is-active {
  background: var(--white);
  box-shadow: var(--shadow-soft);
}
.petrichor-step-pill.is-active span {
  background: var(--slate-800);
  color: var(--white);
}
.petrichor-step-pill.is-active strong { color: var(--ink-900); }

/* Main form area */
.petrichor-application-main {
  padding: var(--sp-5);
  overflow: hidden;
}
.petrichor-section-heading.petrichor-form-intro {
  margin-bottom: var(--sp-5);
  padding-bottom: var(--sp-4);
  border-bottom: 1px solid var(--sand-200);
}
.petrichor-kicker {
  display: block;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--taupe-400);
  font-weight: 700;
  margin-bottom: 6px;
}
.petrichor-form-intro h2 {
  font-size: 1.4rem;
  margin-bottom: 8px;
}
.petrichor-form-intro p { font-size: 14px; color: var(--mocha-700); margin: 0; }

/* Step card */
.petrichor-gov-step-card {
  background: var(--sand-50);
  border: 1px solid var(--sand-200);
  border-radius: var(--r-lg);
  padding: var(--sp-5);
}
.petrichor-gov-step-card h3 {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--ink-900);
  margin-bottom: var(--sp-4);
  padding-bottom: var(--sp-3);
  border-bottom: 1px solid var(--sand-200);
}

/* Form grid */
.petrichor-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sp-3);
  margin-bottom: var(--sp-4);
}
.petrichor-form-grid p {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.petrichor-form-grid p.petrichor-span-2 { grid-column: 1 / -1; }
.petrichor-form-grid label {
  display: flex;
  flex-direction: column;
  gap: 5px;
  font-size: 13px;
  font-weight: 600;
  color: var(--ink-900);
}
.petrichor-form-grid input[type="text"],
.petrichor-form-grid input[type="email"],
.petrichor-form-grid input[type="tel"],
.petrichor-form-grid input[type="date"],
.petrichor-form-grid input[type="file"],
.petrichor-form-grid input[type="number"],
.petrichor-form-grid select,
.petrichor-form-grid textarea,
.petrichor-gov-step-card input[type="text"],
.petrichor-gov-step-card input[type="email"],
.petrichor-gov-step-card input[type="date"],
.petrichor-gov-step-card select,
.petrichor-gov-step-card textarea {
  width: 100%;
  padding: 10px 12px;
  background: var(--white);
  border: 1.5px solid var(--sand-200);
  border-radius: var(--r-sm);
  font-size: 14px;
  font-family: inherit;
  color: var(--ink-900);
  transition: border-color var(--t-std);
  box-sizing: border-box;
}
.petrichor-form-grid input:focus,
.petrichor-form-grid select:focus,
.petrichor-form-grid textarea:focus,
.petrichor-gov-step-card input:focus,
.petrichor-gov-step-card select:focus,
.petrichor-gov-step-card textarea:focus {
  border-color: var(--slate-800);
  outline: none;
}
.petrichor-form-grid textarea,
.petrichor-gov-step-card textarea { min-height: 100px; resize: vertical; }

/* CV upload panel */
.petrichor-cv-panel {
  background: var(--white);
  border: 1.5px dashed var(--taupe-400);
  border-radius: var(--r-md);
  padding: var(--sp-4);
  grid-column: 1 / -1;
}
.petrichor-cv-panel label { font-size: 13px; font-weight: 600; }
.petrichor-field-hint { font-size: 12px; color: var(--mocha-600); margin: 8px 0; }
.petrichor-cv-panel-actions { display: flex; gap: var(--sp-3); align-items: center; flex-wrap: wrap; }
.petrichor-cv-status { font-size: 13px; color: var(--olive-500); font-weight: 600; }

/* Buttons */
.petrichor-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 24px;
  background: var(--slate-800);
  color: var(--white);
  font-size: 14px;
  font-weight: 700;
  border: none;
  border-radius: var(--r-pill);
  cursor: pointer;
  transition: background var(--t-std), transform var(--t-std);
  font-family: inherit;
  min-height: auto;
  box-shadow: none;
}
.petrichor-button:hover { background: var(--ink-900); transform: translateY(-1px); }
.petrichor-button-secondary {
  background: transparent;
  color: var(--slate-800);
  border: 1.5px solid var(--sand-200);
}
.petrichor-button-secondary:hover { background: var(--sand-100); border-color: var(--taupe-400); }

/* Step actions */
.petrichor-step-actions {
  display: flex;
  gap: var(--sp-3);
  justify-content: flex-end;
  margin-top: var(--sp-4);
  padding-top: var(--sp-4);
  border-top: 1px solid var(--sand-200);
  flex-wrap: wrap;
}

/* Repeater */
.petrichor-repeater { margin-bottom: var(--sp-4); }
.petrichor-repeater-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--sp-3);
  flex-wrap: wrap;
  gap: var(--sp-2);
}
.petrichor-repeater-header h4 { font-size: 14px; font-weight: 700; margin: 0; }
.petrichor-repeater-item {
  padding: var(--sp-4);
  background: var(--white);
  border: 1px solid var(--sand-200);
  border-radius: var(--r-md);
  margin-bottom: var(--sp-3);
}

/* Training table */
.petrichor-table-wrap {
  overflow-x: auto;
  border-radius: var(--r-md);
  border: 1px solid var(--sand-200);
  margin-bottom: var(--sp-4);
  -webkit-overflow-scrolling: touch;
}
.petrichor-table {
  width: 100%;
  min-width: 500px;
  border-collapse: collapse;
  font-size: 13px;
}
.petrichor-table th {
  background: var(--slate-800);
  color: var(--white);
  padding: 10px 12px;
  text-align: left;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}
.petrichor-table td {
  padding: 8px 12px;
  border-bottom: 1px solid var(--sand-200);
  vertical-align: middle;
  color: var(--ink-900);
}
.petrichor-table tr:last-child td { border-bottom: none; }
.petrichor-table tr:nth-child(even) td { background: var(--sand-50); }
.petrichor-table input[type="date"] { padding: 6px 8px; font-size: 12px; min-width: 130px; }

/* Availability table */
.petrichor-table input[type="checkbox"] {
  width: 18px;
  height: 18px;
  cursor: pointer;
  accent-color: var(--slate-800);
}

/* Inner cards (references) */
.petrichor-inner-card {
  background: var(--white);
  border: 1px solid var(--sand-200);
  border-radius: var(--r-md);
  padding: var(--sp-4);
  margin-bottom: var(--sp-4);
}
.petrichor-inner-card h4 {
  font-size: 14px;
  font-weight: 700;
  color: var(--ink-900);
  margin-bottom: var(--sp-3);
  padding-bottom: var(--sp-2);
  border-bottom: 1px solid var(--sand-200);
}

/* Declaration */
.petrichor-checkbox-row label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 14px;
  color: var(--ink-900);
  cursor: pointer;
  line-height: 1.5;
}
.petrichor-checkbox-row input[type="checkbox"] {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  margin-top: 2px;
  accent-color: var(--slate-800);
}

/* Form response */
.petrichor-form-response {
  padding: var(--sp-4);
  margin-top: var(--sp-3);
  border-radius: var(--r-md);
  font-size: 14px;
  font-weight: 600;
  display: none;
}
.petrichor-form-response.success {
  display: block;
  background: #eaf3de;
  color: #3b6d11;
  border: 1px solid #c1e0a0;
}
.petrichor-form-response.error {
  display: block;
  background: #fde8e8;
  color: #c53030;
  border: 1px solid #f5c0c0;
}

/* ══════════════════════════════════
   MOBILE FORM RESPONSIVE
   ══════════════════════════════════ */
@media (max-width: 1024px) {
  /* Hide sidebar, show mobile progress instead */
  .petrichor-application-layout {
    grid-template-columns: 1fr;
  }
  .petrichor-sidebar-card {
    display: none;
  }
  .petrichor-mobile-progress {
    display: block;
  }
}

@media (max-width: 767px) {
  .petrichor-application-main { padding: var(--sp-4); }
  .petrichor-gov-step-card { padding: var(--sp-4); }
  .petrichor-form-grid { grid-template-columns: 1fr; }
  .petrichor-form-grid p.petrichor-span-2 { grid-column: 1; }
  .petrichor-step-actions {
    flex-direction: column-reverse;
    align-items: stretch;
  }
  .petrichor-step-actions .petrichor-button { width: 100%; justify-content: center; }
  .petrichor-repeater-header { flex-direction: column; align-items: flex-start; }
  .petrichor-inner-card { padding: var(--sp-3); }
  .petrichor-application-topbar { padding: var(--sp-3) var(--sp-4); }
}

/* ══════════════════════════════════
   HIDE ELEMENTOR CONTENT ON STAFF
   PAGE OUTSIDE OUR SHELL
   ══════════════════════════════════ */
.petrichor-content-shell .elementor,
.petrichor-content-shell [data-elementor-type],
.petrichor-content-shell .e-con-boxed:first-child {
  display: none !important;
}

/* ══════════════════════════════════
   CAREERS PAGE ADDITIONS
   ══════════════════════════════════ */
.ph-reason-icon {
  font-size: 28px;
  margin-bottom: var(--sp-3);
  display: block;
}
.ph-reasons-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-4);
}
.ph-reason-card {
  padding: var(--sp-5);
  background: var(--sand-50);
  border: 1px solid var(--sand-200);
  border-radius: var(--r-lg);
  transition: box-shadow var(--t-std), border-color var(--t-std);
}
.ph-reason-card:hover {
  box-shadow: var(--shadow-medium);
  border-color: var(--taupe-400);
}
.ph-reason-card h3 { font-size: 1.05rem; margin-bottom: var(--sp-2); }
.ph-reason-card p { font-size: 14px; color: var(--mocha-700); line-height: 1.65; margin: 0; }

/* Job board plugin wrapper */
.ph-jobboard-wrap {
  background: var(--white);
  border: 1px solid var(--sand-200);
  border-radius: var(--r-xl);
  overflow: hidden;
  margin-bottom: var(--sp-5);
}

/* Override plugin styles to match our design */
.ph-jobboard-wrap .job_listings,
.ph-jobboard-wrap .jobs-by-category {
  padding: 0;
  margin: 0;
}
.ph-jobboard-wrap .job_listing {
  border-bottom: 1px solid var(--sand-200);
  padding: var(--sp-4) var(--sp-5);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-4);
  flex-wrap: wrap;
  transition: background var(--t-fast);
}
.ph-jobboard-wrap .job_listing:hover { background: var(--sand-50); }
.ph-jobboard-wrap .job_listing:last-child { border-bottom: none; }
.ph-jobboard-wrap .job_listing h3,
.ph-jobboard-wrap .job_listing .position h3 {
  font-size: 17px;
  font-weight: 700;
  color: var(--ink-900);
  margin-bottom: 4px;
}
.ph-jobboard-wrap .job_listing .location,
.ph-jobboard-wrap .job_listing .job-type {
  font-size: 12px;
  font-weight: 600;
  color: var(--mocha-700);
  background: var(--sand-100);
  border-radius: var(--r-pill);
  padding: 3px 10px;
  display: inline-block;
}
.ph-jobboard-wrap .job_listing .job-type.full-time { background: #e6f1fb; color: #1a5276; }
.ph-jobboard-wrap .job_listing .job-type.part-time { background: #eaf3de; color: #3b6d11; }
.ph-jobboard-wrap .job_listing a.button,
.ph-jobboard-wrap .job_listing .btn {
  display: inline-flex;
  align-items: center;
  padding: 10px 20px;
  background: var(--slate-800);
  color: var(--white);
  border-radius: var(--r-pill);
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
  transition: background var(--t-std);
  border: none;
}
.ph-jobboard-wrap .job_listing a.button:hover { background: var(--ink-900); color: var(--white); }

/* Job search filters */
.ph-jobboard-wrap .job-manager-filter,
.ph-jobboard-wrap #job-filter-form,
.ph-jobboard-wrap .jobs_filters {
  padding: var(--sp-4) var(--sp-5);
  border-bottom: 1px solid var(--sand-200);
  background: var(--sand-50);
  display: flex;
  gap: var(--sp-3);
  flex-wrap: wrap;
  align-items: center;
}
.ph-jobboard-wrap .search-keywords input,
.ph-jobboard-wrap .search_keywords input,
.ph-jobboard-wrap input[type="text"],
.ph-jobboard-wrap select {
  padding: 10px 14px;
  border: 1.5px solid var(--sand-200);
  border-radius: var(--r-sm);
  font-size: 14px;
  font-family: inherit;
  background: var(--white);
  color: var(--ink-900);
}
.ph-jobboard-wrap .search-submit input,
.ph-jobboard-wrap input[type="submit"] {
  padding: 10px 20px;
  background: var(--slate-800);
  color: var(--white);
  border: none;
  border-radius: var(--r-pill);
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
}

/* No jobs found */
.ph-jobboard-wrap p.no-results {
  padding: var(--sp-6) var(--sp-5);
  text-align: center;
  color: var(--mocha-700);
  font-size: 15px;
}

/* Application fallback */
.ph-application-fallback {
  text-align: center;
  padding: var(--sp-7) var(--sp-5);
  background: var(--sand-50);
  border: 1px solid var(--sand-200);
  border-radius: var(--r-xl);
}
.ph-application-fallback p {
  font-size: 16px;
  color: var(--mocha-700);
  margin-bottom: var(--sp-4);
}

@media (max-width: 767px) {
  .ph-reasons-grid { grid-template-columns: 1fr; }
  .ph-jobboard-wrap .job_listing {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--sp-3);
  }
  .ph-jobboard-wrap .job_listing a.button { width: 100%; justify-content: center; }
  .ph-jobboard-wrap .jobs_filters { flex-direction: column; }
  .ph-jobboard-wrap input[type="text"],
  .ph-jobboard-wrap select { width: 100%; }
}

@media (max-width: 1024px) {
  .ph-reasons-grid { grid-template-columns: 1fr 1fr; }
}

/* ══════════════════════════════════
   OFFLINE APPLICATION SECTION
   ══════════════════════════════════ */
.ph-offline-grid {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: var(--sp-7);
  align-items: start;
}
.ph-offline-text h2 { margin-bottom: var(--sp-3); }
.ph-offline-text > p {
  font-size: 15px;
  color: var(--mocha-700);
  line-height: 1.75;
  margin-bottom: var(--sp-5);
  max-width: 52ch;
}
.ph-offline-steps {
  display: flex;
  flex-direction: column;
  gap: var(--sp-3);
}
.ph-offline-step {
  display: flex;
  align-items: flex-start;
  gap: var(--sp-3);
}
.ph-offline-step-num {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--slate-800);
  color: var(--white);
  font-size: 13px;
  font-weight: 700;
  flex-shrink: 0;
  margin-top: 2px;
}
.ph-offline-step p {
  font-size: 14px;
  color: var(--mocha-700);
  line-height: 1.65;
  margin: 0;
}
.ph-offline-step a {
  color: var(--slate-800);
  font-weight: 700;
}

/* Download card */
.ph-offline-card {
  background: var(--white);
  border: 1px solid var(--sand-200);
  border-radius: var(--r-xl);
  padding: var(--sp-6);
  box-shadow: var(--shadow-medium);
  text-align: center;
  position: sticky;
  top: 80px;
}
.ph-offline-card-icon {
  font-size: 48px;
  margin-bottom: var(--sp-3);
  line-height: 1;
}
.ph-offline-card h3 {
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--ink-900);
  margin-bottom: var(--sp-2);
}
.ph-offline-card > p {
  font-size: 14px;
  color: var(--mocha-700);
  line-height: 1.6;
  margin-bottom: var(--sp-4);
}
.ph-offline-meta {
  list-style: none;
  margin: 0 0 var(--sp-5);
  padding: 0;
  background: var(--sand-50);
  border-radius: var(--r-md);
  overflow: hidden;
}
.ph-offline-meta li {
  padding: 9px 14px;
  font-size: 13px;
  color: var(--mocha-700);
  border-bottom: 1px solid var(--sand-200);
  text-align: left;
  display: flex;
  align-items: center;
  gap: 8px;
}
.ph-offline-meta li::before {
  content: '✓';
  color: var(--olive-500);
  font-weight: 700;
  font-size: 12px;
  flex-shrink: 0;
}
.ph-offline-meta li:last-child { border-bottom: none; }
.ph-download-btn {
  width: 100%;
  justify-content: center;
  font-size: 15px;
  padding: 15px 20px;
  margin-bottom: var(--sp-3);
}
.ph-offline-email-note {
  font-size: 13px;
  color: var(--mocha-700);
  line-height: 1.6;
  margin: 0;
}
.ph-offline-email-note a {
  color: var(--slate-800);
  font-weight: 700;
}
.ph-offline-email-note strong { display: block; margin-top: 4px; }

@media (max-width: 1024px) {
  .ph-offline-grid { grid-template-columns: 1fr; }
  .ph-offline-card { position: static; }
}
@media (max-width: 767px) {
  .ph-offline-card { padding: var(--sp-4); }
  .ph-offline-step p { font-size: 13px; }
}

/* ══════════════════════════════════
   BROCHURE DOWNLOAD BAND
   ══════════════════════════════════ */
.ph-brochure-band {
  background: var(--slate-800);
  padding: var(--sp-5) 0;
  border-bottom: 3px solid var(--olive-500);
}
.ph-brochure-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-5);
  flex-wrap: wrap;
}
.ph-brochure-text p {
  font-size: 16px;
  font-style: italic;
  color: rgba(255,255,255,0.9);
  margin-bottom: 4px;
  font-family: Georgia, serif;
}
.ph-brochure-text span {
  font-size: 13px;
  color: rgba(255,255,255,0.55);
  font-family: system-ui, sans-serif;
}
.ph-brochure-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 24px;
  background: var(--olive-500);
  color: var(--white);
  font-size: 14px;
  font-weight: 700;
  border-radius: var(--r-pill);
  text-decoration: none;
  white-space: nowrap;
  transition: background var(--t-std), transform var(--t-std);
  font-family: system-ui, sans-serif;
  flex-shrink: 0;
}
.ph-brochure-btn:hover {
  background: var(--olive-600);
  color: var(--white);
  transform: translateY(-2px);
}

/* ══════════════════════════════════
   ABOUT PAGE NEW COMPONENTS
   ══════════════════════════════════ */
.ph-about-split {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: var(--sp-7);
  align-items: center;
}
.ph-about-main h2 { margin-bottom: var(--sp-4); }
.ph-about-main p { font-size: 15px; color: var(--mocha-700); line-height: 1.8; margin-bottom: var(--sp-4); }
.ph-blockquote {
  border-left: 3px solid var(--olive-500);
  margin: var(--sp-5) 0 0;
  padding: var(--sp-4) var(--sp-5);
  background: var(--sand-50);
  border-radius: 0 var(--r-md) var(--r-md) 0;
  font-style: italic;
  font-size: 15px;
  color: var(--ink-900);
  line-height: 1.7;
}
.ph-about-aside-img {
  position: relative;
  border-radius: var(--r-xl);
  overflow: visible;
}
.ph-about-aside-img img {
  width: 100%;
  height: 400px;
  object-fit: cover;
  border-radius: var(--r-xl);
  box-shadow: var(--shadow-large);
}
.ph-about-stat-card {
  position: absolute;
  bottom: -20px;
  left: -20px;
  background: var(--slate-800);
  color: var(--white);
  border-radius: var(--r-lg);
  padding: var(--sp-4) var(--sp-5);
  text-align: center;
  box-shadow: var(--shadow-medium);
}
.ph-about-stat-card strong {
  display: block;
  font-family: Georgia, serif;
  font-size: 2.5rem;
  color: var(--white);
  line-height: 1;
  margin-bottom: 4px;
}
.ph-about-stat-card span {
  font-size: 12px;
  color: rgba(255,255,255,0.6);
  font-family: system-ui, sans-serif;
}

/* Statement of purpose */
.ph-sop-grid {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: var(--sp-7);
  align-items: start;
}
.ph-sop-text h2 { margin-bottom: var(--sp-4); }
.ph-sop-text p { font-size: 15px; color: var(--mocha-700); line-height: 1.8; margin-bottom: var(--sp-4); }
.ph-sop-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sp-3);
}
.ph-sop-card {
  background: var(--white);
  border: 1px solid var(--sand-200);
  border-radius: var(--r-lg);
  padding: var(--sp-4);
  border-top: 3px solid var(--card-accent, var(--olive-500));
}
.ph-sop-card strong { display: block; font-family: Georgia, serif; font-size: 1.6rem; color: var(--ink-900); line-height: 1; margin-bottom: 4px; }
.ph-sop-card span { display: block; font-size: 13px; font-weight: 600; color: var(--ink-900); margin-bottom: 4px; }
.ph-sop-card small { display: block; font-size: 11px; color: var(--taupe-400); }

/* Values grid */
.ph-values-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: var(--sp-4);
}
.ph-value-card {
  padding: var(--sp-5) var(--sp-4);
  background: var(--sand-50);
  border: 1px solid var(--sand-200);
  border-radius: var(--r-lg);
  text-align: center;
  transition: box-shadow var(--t-std), border-color var(--t-std), transform var(--t-std);
}
.ph-value-card:hover { box-shadow: var(--shadow-medium); border-color: var(--taupe-400); transform: translateY(-3px); }
.ph-value-icon { font-size: 32px; margin-bottom: var(--sp-3); display: block; }
.ph-value-card h3 { font-size: 1rem; margin-bottom: var(--sp-2); }
.ph-value-card p { font-size: 13px; color: var(--mocha-700); line-height: 1.6; margin: 0; }

/* Partnerships */
.ph-partnerships-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sp-5);
  margin-top: var(--sp-5);
}
.ph-partnership-col h3 {
  font-size: 1rem;
  font-weight: 700;
  color: var(--ink-900);
  margin-bottom: var(--sp-4);
  padding-bottom: var(--sp-2);
  border-bottom: 2px solid var(--olive-500);
}
.ph-partnership-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.ph-partnership-list li {
  padding: 10px var(--sp-4);
  border-bottom: 1px solid var(--sand-200);
  font-size: 14px;
  color: var(--mocha-700);
  display: flex;
  align-items: center;
  gap: 8px;
}
.ph-partnership-list li::before { content: '✓'; color: var(--olive-500); font-weight: 700; font-size: 12px; }
.ph-partnership-list li:last-child { border-bottom: none; }

/* Process grid */
.ph-process-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-4);
}
.ph-process-card {
  background: var(--sand-50);
  border: 1px solid var(--sand-200);
  border-radius: var(--r-lg);
  padding: var(--sp-5);
  position: relative;
}
.ph-process-num {
  font-family: Georgia, serif;
  font-size: 3rem;
  color: var(--sand-200);
  font-weight: 700;
  line-height: 1;
  margin-bottom: var(--sp-2);
}
.ph-process-tag {
  display: inline-flex;
  padding: 4px 10px;
  background: var(--slate-800);
  color: var(--white);
  border-radius: var(--r-pill);
  font-size: 11px;
  font-weight: 700;
  font-family: system-ui, sans-serif;
  margin-bottom: var(--sp-3);
}
.ph-process-card h3 { font-size: 1.1rem; margin-bottom: var(--sp-2); }
.ph-process-card p { font-size: 14px; color: var(--mocha-700); line-height: 1.65; margin: 0; }

/* Quality levels in regulatory band */
.ph-quality-levels {
  margin-top: var(--sp-4);
  display: flex;
  flex-direction: column;
  gap: var(--sp-3);
}
.ph-quality-item strong {
  display: block;
  font-size: 13px;
  font-weight: 700;
  color: rgba(255,255,255,0.9);
  margin-bottom: 4px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-family: system-ui, sans-serif;
}
.ph-quality-item span {
  font-size: 13px;
  color: rgba(255,255,255,0.55);
  font-family: system-ui, sans-serif;
  line-height: 1.5;
}

/* ══════════════════════════════════
   RESPONSIVE ABOUT PAGE
   ══════════════════════════════════ */
@media (max-width: 1024px) {
  .ph-values-grid { grid-template-columns: repeat(3, 1fr); }
  .ph-sop-grid { grid-template-columns: 1fr; }
  .ph-sop-cards { grid-template-columns: repeat(2, 1fr); }
  .ph-about-split { grid-template-columns: 1fr; }
  .ph-about-aside-img { display: none; }
  .ph-process-grid { grid-template-columns: 1fr; }
  .ph-partnerships-grid { grid-template-columns: 1fr; }
  .ph-brochure-inner { flex-direction: column; align-items: flex-start; gap: var(--sp-4); }
}
@media (max-width: 767px) {
  .ph-values-grid { grid-template-columns: 1fr 1fr; }
  .ph-sop-cards { grid-template-columns: 1fr 1fr; }
  .ph-brochure-btn { width: 100%; justify-content: center; }
}

/* ══════════════════════════════════
   MOBILE NAV — OVERFLOW FIX
   ══════════════════════════════════ */

/* Prevent ANY horizontal overflow on the whole page */
html, body {
  overflow-x: hidden;
  max-width: 100%;
}

/* Header must be contained */
.ph-site-header {
  overflow: visible;
  position: relative;
  width: 100%;
  max-width: 100vw;
  box-sizing: border-box;
}

.ph-header-inner {
  box-sizing: border-box;
  width: 100%;
  overflow: visible;
}

/* Hamburger button — fix the overflowing white box */
.ph-menu-toggle {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  width: 40px !important;
  height: 40px !important;
  min-width: 40px;
  padding: 8px !important;
  background: var(--white) !important;
  border: 1.5px solid var(--sand-200) !important;
  border-radius: 8px !important;
  cursor: pointer;
  flex-shrink: 0;
  box-sizing: border-box;
  position: relative;
  z-index: 201;
  /* Kill any overflow or shadow causing bleed */
  overflow: hidden;
  box-shadow: none !important;
  outline: none;
}
.ph-menu-toggle-bar {
  display: block;
  width: 20px !important;
  height: 2px !important;
  background: var(--ink-900) !important;
  border-radius: 2px;
  transition: transform 200ms, opacity 200ms;
  flex-shrink: 0;
}

/* Nav dropdown — properly contained within viewport */
@media (max-width: 1024px) {
  .ph-menu-toggle { display: flex !important; }

  .ph-primary-nav {
    /* Position relative to the header, not the viewport */
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    /* No margin — flush to edges */
    margin: 0 !important;
    padding: 12px 16px !important;
    background: rgba(250,246,240,0.98) !important;
    border: none !important;
    border-top: 1px solid var(--sand-200) !important;
    border-bottom: 1px solid var(--sand-200) !important;
    border-radius: 0 !important;
    box-shadow: 0 8px 24px rgba(42,36,31,0.12) !important;
    display: none !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 4px !important;
    z-index: 9999 !important;
    /* Prevent overflow */
    overflow: hidden !important;
    max-width: 100vw !important;
  }

  .ph-primary-nav.is-open {
    display: flex !important;
  }

  .ph-nav-divider { display: none !important; }

  .ph-nav-cta { display: none !important; }

  .ph-nav-menu {
    flex-direction: column !important;
    gap: 2px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .ph-nav-menu li {
    width: 100%;
    margin: 0;
    padding: 0;
  }

  .ph-nav-menu a {
    display: block !important;
    padding: 13px 16px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: var(--ink-900) !important;
    border-radius: 8px !important;
    opacity: 1 !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .ph-nav-menu a:hover,
  .ph-nav-menu a:active {
    background: var(--sand-100) !important;
  }


}

/* ══════════════════════════════════
   PROPERTY CARDS — FULLY RESPONSIVE
   ══════════════════════════════════ */
@media (max-width: 767px) {
  /* Homepage property cards */
  .ph-properties-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  .ph-property-card {
    border-radius: 12px !important;
    overflow: hidden;
  }
  .ph-property-photos {
    grid-template-columns: 1fr !important;
    height: 190px !important;
  }
  .ph-property-secondary { display: none !important; }
  .ph-property-body {
    padding: 14px 16px 18px !important;
  }
  .ph-property-body h3 {
    font-size: clamp(1rem, 4.5vw, 1.2rem) !important;
    margin-bottom: 4px !important;
    line-height: 1.2 !important;
  }
  .ph-property-body p {
    font-size: 13px !important;
    line-height: 1.55 !important;
    margin-bottom: 12px !important;
  }
  .ph-property-area {
    font-size: 11px !important;
    margin-bottom: 6px !important;
    letter-spacing: 0.05em !important;
  }
  .ph-property-status {
    font-size: 10px !important;
    padding: 3px 8px !important;
  }
  .ph-property-rooms {
    font-size: 11px !important;
  }
  .ph-property-meta {
    gap: 6px !important;
    margin-bottom: 6px !important;
  }
  .ph-inline-link {
    font-size: 13px !important;
  }

  /* Accommodation page property cards */
  .ph-property-full-card {
    grid-template-columns: 1fr !important;
    border-radius: 12px !important;
  }
  .ph-property-full-card:nth-child(even) {
    direction: ltr !important;
  }
  .ph-property-full-photos {
    grid-template-rows: 1fr !important;
    min-height: 200px !important;
    max-height: 220px !important;
  }
  .ph-property-full-placeholder {
    min-height: 160px !important;
  }
  .ph-property-full-body {
    padding: 16px 16px 20px !important;
  }
  .ph-property-full-body h3 {
    font-size: clamp(1.1rem, 5vw, 1.3rem) !important;
    margin-bottom: 4px !important;
  }
  .ph-property-full-body > p {
    font-size: 13px !important;
    line-height: 1.6 !important;
    margin-bottom: 14px !important;
  }
  .ph-property-type-tag {
    font-size: 10px !important;
  }
}

/* ══════════════════════════════════
   GLOBAL MOBILE RESPONSIVENESS
   ══════════════════════════════════ */
@media (max-width: 767px) {
  /* Container padding */
  .petrichor-container {
    width: calc(100% - 28px) !important;
    margin: 0 auto !important;
  }

  /* Section padding */
  .ph-section { padding: 36px 0 !important; }
  .ph-section-head { margin-bottom: 24px !important; }

  /* All card grids — single column */
  .ph-journey-grid,
  .ph-services-grid,
  .ph-pillars-grid,
  .ph-reasons-grid,
  .ph-features-grid,
  .ph-process-grid,
  .ph-values-grid,
  .ph-sop-cards,
  .ph-steps-grid,
  .ph-steps-grid--2col,
  .petrichor-signal-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  /* Stats bar — 2 cols */
  .ph-stats-bar {
    grid-template-columns: 1fr 1fr !important;
  }
  .ph-stat-item {
    padding: 20px 10px !important;
    border-right: 1px solid var(--sand-200) !important;
  }
  .ph-stat-item:nth-child(2n) { border-right: none !important; }
  .ph-stat-item:nth-child(n+3) { border-top: 1px solid var(--sand-200) !important; }
  .ph-stat-val { font-size: clamp(1.6rem, 7vw, 2.2rem) !important; }
  .ph-stat-label { font-size: 11px !important; }

  /* Trust bar */
  .ph-trust-bar { padding: 16px 14px !important; }
  .ph-trust-bar-inner {
    flex-direction: column !important;
    gap: 10px !important;
    align-items: flex-start !important;
  }
  .ph-trust-divider { display: none !important; }
  .ph-trust-item strong { font-size: 12px !important; }
  .ph-trust-item span { font-size: 10px !important; }

  /* Journey cards */
  .ph-journey-card { padding: 18px 16px !important; }
  .ph-journey-card h3 { font-size: clamp(1rem, 4.5vw, 1.15rem) !important; }
  .ph-journey-card p { font-size: 13px !important; }
  .ph-journey-icon { width: 38px !important; height: 38px !important; font-size: 18px !important; margin-bottom: 12px !important; }

  /* Service cards */
  .ph-service-body { padding: 14px 14px 16px !important; }
  .ph-service-body h3 { font-size: clamp(0.95rem, 4vw, 1.05rem) !important; line-height: 1.25 !important; }
  .ph-service-body p { font-size: 13px !important; }
  .ph-service-img { height: 170px !important; }

  /* Pillar cards */
  .ph-pillar-card { padding: 16px 14px !important; }
  .ph-pillar-card h3 { font-size: clamp(0.95rem, 4vw, 1.05rem) !important; }
  .ph-pillar-card p { font-size: 13px !important; }

  /* Regulatory band */
  .ph-regulatory-inner {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  .ph-regulatory-cards {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
  }
  .ph-regulatory-card {
    flex: 1 !important;
    min-width: 130px !important;
    padding: 12px 14px !important;
  }
  .ph-regulatory-card strong { font-size: 14px !important; }
  .ph-regulatory-text h2 { font-size: clamp(1.3rem, 5vw, 1.8rem) !important; }
  .ph-regulatory-text p { font-size: 14px !important; }

  /* CTA band */
  .ph-cta-band { padding: 32px 0 !important; }
  .ph-cta-band-inner {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 20px !important;
  }
  .ph-cta-band-inner h2 { font-size: clamp(1.3rem, 5vw, 1.8rem) !important; }
  .ph-cta-buttons {
    flex-direction: column !important;
    width: 100% !important;
    gap: 10px !important;
  }
  .ph-cta-white,
  .ph-cta-outline {
    width: 100% !important;
    justify-content: center !important;
    padding: 14px 20px !important;
    font-size: 14px !important;
  }

  /* Footer */
  .petrichor-footer-grid {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  .petrichor-footer-panel { padding: 0 !important; }
  .petrichor-footer-title { font-size: 1.3rem !important; }
  .petrichor-footer-copy { font-size: 13px !important; }
  .petrichor-footer-meta {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
    padding-top: 16px !important;
  }
  .petrichor-footer-meta p,
  .petrichor-footer-meta a { font-size: 11px !important; }
  .petrichor-footer-meta nav { flex-wrap: wrap !important; gap: 8px !important; }

  /* Sticky CTA button */
  .ph-sticky-cta {
    bottom: 16px !important;
    right: 12px !important;
    padding: 11px 18px !important;
    font-size: 13px !important;
  }

  /* Brochure band */
  .ph-brochure-inner {
    flex-direction: column !important;
    gap: 16px !important;
  }
  .ph-brochure-btn {
    width: 100% !important;
    justify-content: center !important;
  }

  /* Values grid — 2 cols on mobile */
  .ph-values-grid {
    grid-template-columns: 1fr 1fr !important;
  }
  .ph-value-card { padding: 16px 12px !important; }
  .ph-value-icon { font-size: 24px !important; }
  .ph-value-card h3 { font-size: 0.9rem !important; }
  .ph-value-card p { font-size: 12px !important; }

  /* Partnerships */
  .ph-partnerships-grid { grid-template-columns: 1fr !important; }

  /* Offline section */
  .ph-offline-grid { grid-template-columns: 1fr !important; }
  .ph-offline-card { padding: 20px 16px !important; }

  /* Referrals page */
  .ph-referrals-grid { grid-template-columns: 1fr !important; }
  .ph-turnaround-card { flex-direction: column !important; }

  /* Contact page */
  .ph-contact-page-grid { grid-template-columns: 1fr !important; }
}


/* ══════════════════════════════════
   DEFINITIVE FIX v3.9
   1. Kill Elementor floating button
   2. Fix mobile nav
   ══════════════════════════════════ */

/* 1 — KILL ELEMENTOR HEADER COMPLETELY */
/* Target the container that sits outside .petrichor-site-shell */
body > div:not(.petrichor-site-shell):not(#wpadminbar) {
  display: none !important;
  height: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
  position: absolute !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

/* 2 — HAMBURGER BUTTON: contained, no overflow */
@media (max-width: 1024px) {
  .ph-menu-toggle {
    display: flex !important;
    width: 40px !important;
    height: 40px !important;
    flex-shrink: 0 !important;
    padding: 8px !important;
    background: var(--white) !important;
    border: 1.5px solid var(--sand-200) !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    position: relative !important;
    z-index: 201 !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 5px !important;
    cursor: pointer !important;
    box-shadow: none !important;
  }
  .ph-menu-toggle-bar {
    display: block !important;
    width: 18px !important;
    height: 2px !important;
    background: var(--ink-900) !important;
    border-radius: 2px !important;
    flex-shrink: 0 !important;
  }
}

/* 3 — NAV: hidden by default, opens on click, NO overflow */
@media (max-width: 1024px) {
  /* Header must be position:relative to contain absolute nav */
  .ph-site-header {
    position: relative !important;
    overflow: visible !important;
    z-index: 200 !important;
  }

  /* Nav: HIDDEN by default */
  .ph-primary-nav {
    display: none !important; /* hidden until .is-open */
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 4px !important;
    padding: 10px 12px 14px !important;
    margin: 0 !important;
    background: #faf6f0 !important;
    border-top: 1px solid #e8d8c3 !important;
    border-bottom: 1px solid #e8d8c3 !important;
    border-radius: 0 !important;
    box-shadow: 0 8px 24px rgba(42,36,31,0.1) !important;
    z-index: 9999 !important;
    overflow: hidden !important;
  }

  /* Nav: OPEN when .is-open added by JS */
  .ph-primary-nav.is-open {
    display: flex !important;
  }

  /* Nav links */
  .ph-nav-menu {
    flex-direction: column !important;
    gap: 2px !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
  }
  .ph-nav-menu li {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .ph-nav-menu a {
    display: block !important;
    width: 100% !important;
    padding: 12px 14px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #2a241f !important;
    border-radius: 8px !important;
    opacity: 1 !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
  }
  .ph-nav-menu a:hover,
  .ph-nav-menu a:active {
    background: #f4ede3 !important;
  }

  /* Hide desktop-only nav elements */
  .ph-nav-divider { display: none !important; }
  .ph-nav-cta { display: none !important; }

  /* Mobile injected CTA button */
  .ph-mobile-nav-cta {
    display: block !important;
    margin-top: 8px !important;
    padding: 13px 14px !important;
    background: #2f3b52 !important;
    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    border-radius: 8px !important;
    text-align: center !important;
    text-decoration: none !important;
    font-family: system-ui, sans-serif !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
}

/* Desktop: show nav, hide hamburger */
@media (min-width: 1025px) {
  .ph-menu-toggle { display: none !important; }
  .ph-primary-nav { display: flex !important; }
  .ph-nav-cta { display: inline-flex !important; }
  .ph-sticky-cta { display: none !important; }
}

/* ══════════════════════════════════
   FINAL NAV FIX — SEPARATE DESKTOP
   AND MOBILE NAVS
   ══════════════════════════════════ */

/* DESKTOP NAV — visible above 1024px only */
.ph-desktop-nav {
  display: flex;
  align-items: center;
  gap: 24px;
}
.ph-desktop-nav .ph-nav-menu {
  display: flex;
  align-items: center;
  gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.ph-desktop-nav .ph-nav-menu a {
  display: block;
  padding: 8px 12px;
  font-size: 14px;
  font-weight: 600;
  color: var(--ink-900);
  border-radius: 8px;
  opacity: 0.75;
  text-decoration: none;
  transition: opacity 150ms, background 150ms;
}
.ph-desktop-nav .ph-nav-menu a:hover { opacity: 1; background: var(--sand-100); }

/* MOBILE NAV — hidden by default, shown via .is-open */
.ph-mobile-nav {
  display: none; /* NEVER shows unless .is-open */
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  width: 100%;
  box-sizing: border-box;
  flex-direction: column;
  gap: 4px;
  padding: 10px 12px 14px;
  background: #faf6f0;
  border-top: 1px solid #e8d8c3;
  border-bottom: 1px solid #e8d8c3;
  box-shadow: 0 8px 24px rgba(42,36,31,0.1);
  z-index: 9999;
}
.ph-mobile-nav.is-open {
  display: flex; /* ONLY shows when JS adds .is-open */
}
.ph-mobile-nav-menu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.ph-mobile-nav-menu li { margin: 0; padding: 0; }
.ph-mobile-nav-menu a {
  display: block;
  padding: 13px 14px;
  font-size: 15px;
  font-weight: 600;
  color: #2a241f;
  border-radius: 8px;
  text-decoration: none;
}
.ph-mobile-nav-menu a:hover,
.ph-mobile-nav-menu a:active { background: #f4ede3; }
.ph-mobile-nav-referral {
  display: block;
  margin-top: 8px;
  padding: 14px;
  background: #2f3b52;
  color: #ffffff;
  font-size: 15px;
  font-weight: 700;
  border-radius: 8px;
  text-align: center;
  text-decoration: none;
  font-family: system-ui, sans-serif;
}

/* RESPONSIVE SWITCHING */
@media (min-width: 1025px) {
  .ph-desktop-nav { display: flex !important; }
  .ph-mobile-nav { display: none !important; }
  .ph-menu-toggle { display: none !important; }
  .ph-sticky-cta { display: none !important; }
}
@media (max-width: 1024px) {
  .ph-desktop-nav { display: none !important; }
  .ph-menu-toggle { display: flex !important; }
  .ph-sticky-cta { display: flex !important; }
}

/* ══════════════════════════════════
   FORCE HIDE DESKTOP NAV ON MOBILE
   This overrides everything
   ══════════════════════════════════ */
@media (max-width: 1024px) {
  /* Desktop nav — completely invisible and takes no space */
  .ph-desktop-nav,
  .ph-primary-nav.ph-desktop-nav {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    width: 0 !important;
    overflow: hidden !important;
    position: absolute !important;
    pointer-events: none !important;
    opacity: 0 !important;
  }
}

/* ══════════════════════════════════
   NAV PADDING — DESKTOP & MOBILE
   Elements must not touch viewport edges
   ══════════════════════════════════ */
.ph-header-inner {
  padding-left: 16px !important;
  padding-right: 16px !important;
}
@media (min-width: 1025px) {
  .ph-header-inner {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
}
/* Mobile nav inner padding */
.ph-mobile-nav {
  padding-left: 16px !important;
  padding-right: 16px !important;
}
.ph-mobile-nav-menu a {
  padding-left: 16px !important;
  padding-right: 16px !important;
}

/* ══════════════════════════════════
   APPLICATION FORM — FIX CONTAINERS
   Remove all nested shell wrappers
   ══════════════════════════════════ */

/* Kill the outer wrappers' styling that create the striped look */
.petrichor-content-section {
  padding: 0 !important;
  background: transparent !important;
}
.petrichor-content-shell {
  max-width: 100% !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.entry-content {
  padding: 0 !important;
  margin: 0 !important;
}

/* The actual form shell — this should be the only visible container */
.petrichor-recruitment-shell,
.petrichor-application-shell {
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
}

.petrichor-application-frame {
  background: var(--white);
  border: 1px solid var(--sand-200);
  border-radius: var(--r-xl);
  overflow: hidden;
  box-shadow: var(--shadow-soft);
  margin: 0 !important;
}

/* Fix label/input layout — label and input were stacking oddly */
.petrichor-form-grid label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 13px;
  font-weight: 600;
  color: var(--ink-900);
  width: 100%;
}
.petrichor-form-grid p {
  margin: 0;
  width: 100%;
}
.petrichor-form-grid p > label > input,
.petrichor-form-grid p > label > select,
.petrichor-form-grid p > label > textarea {
  display: block;
  width: 100%;
  box-sizing: border-box;
  padding: 11px 14px;
  background: var(--sand-50);
  border: 1.5px solid var(--sand-200);
  border-radius: var(--r-sm);
  font-size: 15px;
  font-family: inherit;
  color: var(--ink-900);
  margin-top: 4px;
}

/* Fix CV upload button overflow */
.petrichor-cv-panel-actions {
  display: flex;
  gap: var(--sp-3);
  align-items: center;
  flex-wrap: wrap;
  margin-top: var(--sp-3);
}
.petrichor-cv-panel-actions .petrichor-button {
  white-space: nowrap;
  flex-shrink: 0;
}

/* ══════════════════════════════════
   APPLICATION FORM — MOBILE
   ══════════════════════════════════ */
@media (max-width: 767px) {
  /* Remove section padding that causes overflow */
  #application-form.ph-section {
    padding: var(--sp-5) 0 !important;
  }
  #application-form .petrichor-container {
    width: calc(100% - 24px) !important;
    padding: 0 !important;
  }

  /* Form frame */
  .petrichor-application-frame {
    border-radius: 12px !important;
    overflow: hidden !important;
  }

  /* Topbar */
  .petrichor-application-topbar {
    padding: 14px 16px !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
  }
  .petrichor-application-eyebrow { font-size: 10px !important; }
  .petrichor-application-topbar strong { font-size: 14px !important; }
  .petrichor-application-context { font-size: 11px !important; padding: 4px 10px !important; }

  /* Phase bar */
  .petrichor-application-phase {
    padding: 12px 16px !important;
    font-size: 13px !important;
  }

  /* Progress */
  .petrichor-mobile-progress {
    padding: 12px 16px 0 !important;
  }
  .petrichor-progress-copy { font-size: 12px !important; }

  /* Layout — hide sidebar, full width main */
  .petrichor-application-layout {
    grid-template-columns: 1fr !important;
    display: block !important;
  }
  .petrichor-sidebar-card.petrichor-step-indicator {
    display: none !important;
  }
  .petrichor-application-main {
    padding: 16px !important;
  }

  /* Form intro */
  .petrichor-form-intro h2 { font-size: 1.3rem !important; margin-bottom: 6px !important; }
  .petrichor-form-intro p { font-size: 13px !important; }

  /* Step card */
  .petrichor-gov-step-card {
    padding: 16px !important;
    border-radius: 10px !important;
  }
  .petrichor-gov-step-card h3 { font-size: 1rem !important; margin-bottom: 14px !important; }

  /* Form grid — single column on mobile */
  .petrichor-form-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
  .petrichor-form-grid p.petrichor-span-2 {
    grid-column: 1 !important;
  }

  /* Inputs */
  .petrichor-form-grid p > label > input,
  .petrichor-form-grid p > label > select,
  .petrichor-form-grid p > label > textarea,
  .petrichor-gov-step-card input[type="text"],
  .petrichor-gov-step-card input[type="email"],
  .petrichor-gov-step-card input[type="date"],
  .petrichor-gov-step-card input[type="tel"],
  .petrichor-gov-step-card select,
  .petrichor-gov-step-card textarea {
    font-size: 16px !important; /* prevents iOS zoom on focus */
    padding: 12px 14px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  /* CV upload panel */
  .petrichor-cv-panel {
    padding: 14px !important;
  }
  .petrichor-cv-panel label { font-size: 13px !important; font-weight: 600 !important; }
  .petrichor-cv-panel-actions {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  .petrichor-cv-panel-actions .petrichor-button {
    width: 100% !important;
    justify-content: center !important;
    white-space: normal !important;
    text-align: center !important;
  }

  /* Step actions — stack buttons */
  .petrichor-step-actions {
    flex-direction: column-reverse !important;
    gap: 10px !important;
    margin-top: 16px !important;
    padding-top: 16px !important;
  }
  .petrichor-step-actions .petrichor-button {
    width: 100% !important;
    justify-content: center !important;
    padding: 14px !important;
    font-size: 15px !important;
    min-height: 50px !important;
  }

  /* Training table — scrollable */
  .petrichor-table-wrap {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    margin-bottom: 16px !important;
    border-radius: 8px !important;
  }
  .petrichor-table { min-width: 480px !important; }
  .petrichor-table th { font-size: 11px !important; padding: 8px 10px !important; }
  .petrichor-table td { font-size: 12px !important; padding: 8px 10px !important; }
  .petrichor-table input[type="date"] {
    font-size: 12px !important;
    padding: 6px !important;
    min-width: 120px !important;
  }

  /* Repeater */
  .petrichor-repeater-header {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
  }
  .petrichor-repeater-header .petrichor-button {
    width: 100% !important;
    justify-content: center !important;
  }
  .petrichor-repeater-item { padding: 14px !important; }

  /* Inner cards (references) */
  .petrichor-inner-card { padding: 14px !important; margin-bottom: 16px !important; }
  .petrichor-inner-card h4 { font-size: 13px !important; }

  /* Checkbox row */
  .petrichor-checkbox-row label {
    font-size: 13px !important;
    line-height: 1.5 !important;
    align-items: flex-start !important;
    gap: 10px !important;
  }

  /* Sticky CTA padding — so it doesn't cover form submit button */
  body { padding-bottom: 80px !important; }
}

/* ══════════════════════════════════
   APPLY PAGE — CLEAN LAYOUT
   ══════════════════════════════════ */
.ph-apply-hero {
  padding: 36px 0 24px;
  background: var(--sand-50);
  border-bottom: 1px solid var(--sand-200);
}
.ph-apply-hero h1 {
  font-size: clamp(1.8rem, 4vw, 2.8rem);
  margin-bottom: 12px;
  line-height: 1.1;
}
.ph-apply-intro {
  font-size: 15px;
  color: var(--mocha-700);
  margin: 0;
}
.ph-apply-intro a {
  color: var(--slate-800);
  font-weight: 700;
  text-decoration: underline;
}
.ph-apply-form-section {
  padding: 32px 0 60px;
  background: var(--sand-50);
}
.ph-apply-container {
  max-width: 900px !important;
}
/* No extra shell around the form on apply page */
.ph-apply-form-section .petrichor-content-shell,
.ph-apply-form-section .entry-content {
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  max-width: 100% !important;
}

@media (max-width: 767px) {
  .ph-apply-hero { padding: 24px 0 16px; }
  .ph-apply-hero h1 { font-size: 1.6rem; }
  .ph-apply-intro { font-size: 14px; }
  .ph-apply-form-section { padding: 16px 0 80px; }
}

/* Apply CTA card on careers page */
.ph-apply-cta-card {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: var(--sp-7);
  align-items: center;
  background: var(--white);
  border: 1px solid var(--sand-200);
  border-radius: var(--r-xl);
  padding: clamp(28px,4vw,48px);
  box-shadow: var(--shadow-medium);
}
.ph-apply-cta-text h2 { margin-bottom: var(--sp-3); }
.ph-apply-cta-text p { font-size: 15px; color: var(--mocha-700); line-height: 1.7; margin: 0; }
.ph-apply-cta-info {
  background: var(--sand-50);
  border: 1px solid var(--sand-200);
  border-radius: var(--r-lg);
  padding: var(--sp-5);
}
.ph-apply-info-item {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  padding: var(--sp-3) 0;
  border-bottom: 1px solid var(--sand-200);
}
.ph-apply-info-item:last-of-type { border-bottom: none; }
.ph-apply-info-item strong {
  font-family: Georgia, serif;
  font-size: 2rem;
  color: var(--slate-800);
  min-width: 52px;
  text-align: center;
  line-height: 1;
}
.ph-apply-info-item span { font-size: 13px; color: var(--mocha-700); line-height: 1.4; }

@media (max-width: 1024px) {
  .ph-apply-cta-card { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
  .ph-apply-cta-card { padding: var(--sp-4); }
  .ph-apply-cta-text h2 { font-size: 1.4rem; }
  .ph-apply-info-item strong { font-size: 1.6rem; min-width: 44px; }
}

/* ══════════════════════════════════
   FIX 1 — DESKTOP NAV HIDDEN MOBILE
   This overrides everything with max
   specificity
   ══════════════════════════════════ */
@media screen and (max-width: 1024px) {
  nav.ph-desktop-nav,
  nav.ph-desktop-nav *,
  #ph-primary-nav.ph-desktop-nav {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
    position: absolute !important;
    clip: rect(0,0,0,0) !important;
    opacity: 0 !important;
  }
}

/* ══════════════════════════════════
   FIX 2 — NAV PADDING ON ALL SIZES
   ══════════════════════════════════ */
.ph-header-inner {
  padding: 0 20px;
}
@media (min-width: 1025px) {
  .ph-header-inner {
    padding: 0 32px;
  }
  .ph-desktop-nav .ph-nav-menu a {
    padding: 8px 14px;
  }
}
@media (max-width: 1024px) {
  .ph-header-inner {
    padding: 0 16px;
  }
  .ph-mobile-nav {
    padding: 12px 16px 16px !important;
  }
  .ph-mobile-nav-menu a {
    padding: 13px 16px !important;
  }
  .ph-mobile-nav-referral {
    margin: 10px 0 0 !important;
    padding: 14px 16px !important;
  }
}

/* ══════════════════════════════════
   FIX 3 — APPLICATION FORM MOBILE
   ══════════════════════════════════ */

/* Remove the extra shell containers causing padding */
.petrichor-content-section {
  padding: 0 !important;
}
.petrichor-content-shell {
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.petrichor-content-shell .entry-content {
  padding: 0 !important;
}

/* Application frame full width */
.petrichor-recruitment-shell,
.petrichor-application-shell {
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
}
.petrichor-application-frame {
  border-radius: 0 !important;
  border-left: none !important;
  border-right: none !important;
}

@media (max-width: 1024px) {
  /* Hide sidebar on mobile/tablet */
  .petrichor-sidebar-card.petrichor-step-indicator {
    display: none !important;
  }
  /* Full width main form */
  .petrichor-application-layout {
    grid-template-columns: 1fr !important;
    display: flex !important;
    flex-direction: column !important;
  }
  .petrichor-application-main {
    padding: 16px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }
}

@media (max-width: 767px) {
  /* Form grid — single column */
  .petrichor-form-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .petrichor-form-grid p.petrichor-span-2 {
    grid-column: 1 !important;
  }

  /* Labels inline with inputs */
  .petrichor-form-grid label {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: var(--ink-900) !important;
  }
  .petrichor-form-grid p {
    margin: 0 !important;
  }

  /* Inputs full width */
  .petrichor-form-grid input[type="text"],
  .petrichor-form-grid input[type="email"],
  .petrichor-form-grid input[type="tel"],
  .petrichor-form-grid input[type="date"],
  .petrichor-form-grid input[type="number"],
  .petrichor-form-grid select,
  .petrichor-form-grid textarea,
  .petrichor-gov-step-card input,
  .petrichor-gov-step-card select,
  .petrichor-gov-step-card textarea {
    width: 100% !important;
    padding: 12px 12px !important;
    font-size: 16px !important; /* prevents iOS zoom */
    border-radius: 8px !important;
    box-sizing: border-box !important;
    -webkit-appearance: none !important;
  }

  /* Step card padding */
  .petrichor-gov-step-card {
    padding: 16px !important;
    border-radius: 8px !important;
  }
  .petrichor-gov-step-card h3 {
    font-size: 1rem !important;
    margin-bottom: 16px !important;
    padding-bottom: 12px !important;
  }

  /* CV upload panel */
  .petrichor-cv-panel {
    padding: 14px !important;
  }
  .petrichor-cv-panel-actions {
    flex-direction: column !important;
    gap: 10px !important;
  }
  .petrichor-button.petrichor-button-secondary {
    width: 100% !important;
    justify-content: center !important;
    font-size: 14px !important;
  }

  /* Step navigation buttons */
  .petrichor-step-actions {
    flex-direction: column-reverse !important;
    gap: 10px !important;
    margin-top: 16px !important;
    padding-top: 16px !important;
  }
  .petrichor-step-actions .petrichor-button {
    width: 100% !important;
    justify-content: center !important;
    padding: 14px !important;
    font-size: 15px !important;
  }

  /* Progress bar */
  .petrichor-mobile-progress {
    padding: 14px 16px 0 !important;
  }
  .petrichor-progress-copy strong {
    font-size: 14px !important;
  }

  /* Top bar */
  .petrichor-application-topbar {
    padding: 14px 16px !important;
    gap: 8px !important;
  }
  .petrichor-application-topbar strong {
    font-size: 14px !important;
  }
  .petrichor-application-context {
    font-size: 11px !important;
    padding: 4px 10px !important;
  }
  .petrichor-application-phase {
    padding: 10px 16px !important;
    font-size: 13px !important;
  }

  /* Form intro */
  .petrichor-form-intro h2 {
    font-size: 1.2rem !important;
  }
  .petrichor-form-intro p {
    font-size: 13px !important;
  }

  /* Training table — scrollable */
  .petrichor-table-wrap {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    margin: 0 -16px !important;
    padding: 0 16px !important;
    border: none !important;
    border-radius: 0 !important;
  }
  .petrichor-table {
    min-width: 460px !important;
  }
  .petrichor-table th,
  .petrichor-table td {
    padding: 8px 8px !important;
    font-size: 12px !important;
  }
  .petrichor-table input[type="date"] {
    min-width: 120px !important;
    font-size: 12px !important;
    padding: 5px 6px !important;
  }

  /* Inner cards */
  .petrichor-inner-card {
    padding: 14px !important;
    margin-bottom: 12px !important;
  }
  .petrichor-inner-card h4 {
    font-size: 14px !important;
    margin-bottom: 12px !important;
    padding-bottom: 10px !important;
  }

  /* Repeater */
  .petrichor-repeater-header {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
  }
  .petrichor-repeater-header button {
    width: 100% !important;
    justify-content: center !important;
  }
  .petrichor-repeater-item {
    padding: 12px !important;
  }

  /* Declaration checkbox */
  .petrichor-checkbox-row label {
    font-size: 13px !important;
    line-height: 1.6 !important;
  }
}

/* ══════════════════════════════════
   APPLY PAGE — CLEAN LAYOUT
   ══════════════════════════════════ */
.ph-apply-hero {
  padding: 32px 0 24px;
  background: var(--sand-50);
  border-bottom: 1px solid var(--sand-200);
}
.ph-apply-hero h1 {
  font-size: clamp(1.6rem, 4vw, 2.4rem);
  margin-bottom: 8px;
}
.ph-apply-hero p {
  font-size: 15px;
  color: var(--mocha-700);
  margin-bottom: 16px;
}
.ph-apply-back {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 700;
  color: var(--slate-800);
  text-decoration: none;
}
.ph-apply-back:hover { color: var(--mocha-700); }

/* Form wrapper — no extra padding */
.ph-apply-form-wrap {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
}
.ph-apply-form-wrap .petrichor-recruitment-shell,
.ph-apply-form-wrap .petrichor-application-shell {
  max-width: 860px;
  margin: 0 auto;
  width: 100%;
  box-sizing: border-box;
}
.ph-apply-form-wrap .petrichor-application-frame {
  border-radius: 0;
  border-left: none;
  border-right: none;
  border-top: none;
}

@media (max-width: 767px) {
  .ph-apply-hero { padding: 24px 0 16px; }
  .ph-apply-hero h1 { font-size: 1.5rem; }
  .ph-apply-hero p { font-size: 14px; }
  .ph-apply-form-wrap .petrichor-application-main { padding: 14px 14px !important; }
}
