/* heru-contact: Contact block family (contact-hero, contact-sla, contact-faqs, contact-form). Colours via site tokens, fonts as named. Hover rules sit inside the hover-capable query. */
.ct-hero,.ct-sla,.ct-faqs,.ct-form-section{--ink:var(--wp--preset--color--heru-ink);--ink-mid:var(--wp--preset--color--heru-ink-mid);--ink-light:var(--wp--preset--color--heru-ink-light);--cream:var(--wp--preset--color--light-gray);--surface:var(--wp--preset--color--heru-surface);--rule:var(--wp--preset--color--heru-rule);--primary:var(--wp--preset--color--primary);--gutter:clamp(1.25rem,5vw,8.125rem);}
/* contact-hero */
.ct-hero{position:relative;overflow:hidden;background:var(--cream);padding:clamp(3.5rem,8vw,6.25rem) var(--gutter);}
.ct-hero *,.ct-hero *::before,.ct-hero *::after{box-sizing:border-box;margin:0;}
.ct-hero .ct-hero-bg{position:absolute;inset:0;background-color:var(--wp--preset--color--secondary);background-image:var(--ct-hero-bg);background-size:cover;background-position:center;opacity:.09;}
.ct-hero .ct-hero-inner{position:relative;z-index:1;max-width:1180px;margin:0 auto;}
.ct-hero .ct-hero-content{max-width:720px;display:flex;flex-direction:column;gap:1.75rem;}
.ct-hero .eyebrow{display:inline-flex;align-items:center;gap:.625rem;font-family:'Inter',sans-serif;font-size:.75rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--wp--preset--color--accent-1);}
.ct-hero .eyebrow::before{content:none;width:28px;height:1px;background:var(--wp--preset--color--accent-1);}
.ct-hero h1{font-family:'Jost',sans-serif;font-weight:600;font-size:clamp(2.5rem,5vw,3.5rem);line-height:1.07;color:var(--ink);letter-spacing:-.01em;}
.ct-hero h1 em{font-style:italic;color:var(--wp--preset--color--accent-1);}
.ct-hero .ct-hero-sub{font-family:'Manrope',sans-serif;font-size:clamp(1.125rem,2vw,1.75rem);line-height:1.65;color:var(--ink);max-width:640px;font-weight:400;}
@media (max-width:768px){.ct-hero{padding:clamp(2.5rem,6vw,4rem) var(--gutter);}}
/* contact-sla */
.ct-sla{background:var(--primary);padding:clamp(3.5rem,7vw,5.5rem) var(--gutter);}
.ct-sla *,.ct-sla *::before,.ct-sla *::after{box-sizing:border-box;margin:0;}
.ct-sla .ct-sla-inner{max-width:1180px;margin:0 auto;}
.ct-sla .ct-sla-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--wp--preset--color--heru-ink-soft);border:1px solid var(--wp--preset--color--heru-ink-soft);}
.ct-sla .ct-sla-item{background:var(--ink);padding:clamp(1.5rem,3vw,2rem);display:flex;flex-direction:column;gap:.5rem;}
.ct-sla .ct-sla-num{font-family:'Inter',sans-serif;font-style:italic;font-weight:500;font-size:.9375rem;color:var(--wp--preset--color--accent-1);}
.ct-sla .ct-sla-item h3{font-family:'Manrope',sans-serif;font-weight:600;font-size:clamp(1rem,1.6vw,1.1875rem);color:var(--cream);letter-spacing:-.005em;}
.ct-sla .ct-sla-item p{font-family:'Manrope',sans-serif;font-weight:300;font-size:.875rem;line-height:1.7;color:var(--wp--preset--color--heru-muted);}
@media (max-width:768px){.ct-sla .ct-sla-grid{grid-template-columns:1fr;}}
/* contact-faqs */
.ct-faqs{background:var(--wp--preset--color--white);padding:clamp(3.5rem,8vw,5.5rem) var(--gutter);}
.ct-faqs *,.ct-faqs *::before,.ct-faqs *::after{box-sizing:border-box;margin:0;}
.ct-faqs .ct-faqs-inner{max-width:840px;margin:0 auto;display:flex;flex-direction:column;gap:2.25rem;}
.ct-faqs .ct-faqs-header{display:flex;flex-direction:column;gap:1.25rem;}
.ct-faqs .eyebrow{display:inline-flex;align-items:center;gap:.625rem;font-family:'Manrope',sans-serif;font-size:.75rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--wp--preset--color--accent-1);}
.ct-faqs .eyebrow::before{content:none;width:28px;height:1px;background:var(--wp--preset--color--accent-1);}
.ct-faqs h2{font-family:'Jost',sans-serif;font-weight:600;font-size:clamp(2rem,3.4vw,2.625rem);line-height:1.1;color:var(--ink);letter-spacing:-.015em;}
.ct-faqs .ct-faqs-list{border-top:1px solid var(--rule);}
.ct-faqs details{border-bottom:1px solid var(--rule);}
.ct-faqs summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.375rem .625rem;font-family:'Inter',sans-serif;font-weight:500;font-size:1.125rem;color:var(--ink);transition:color .2s ease;}
@media (hover:hover) and (pointer:fine){.ct-faqs summary:hover{color:var(--wp--preset--color--accent-1);}}
.ct-faqs summary::-webkit-details-marker{display:none;}
.ct-faqs summary .ct-faq-icon{flex:0 0 auto;position:relative;width:18px;height:18px;}
.ct-faqs summary .ct-faq-icon::before,.ct-faqs summary .ct-faq-icon::after{content:'';position:absolute;background:var(--ink-light);transition:transform .2s ease,opacity .2s ease;}
.ct-faqs summary .ct-faq-icon::before{top:8px;left:0;width:18px;height:2px;}
.ct-faqs summary .ct-faq-icon::after{left:8px;top:0;width:2px;height:18px;}
.ct-faqs details[open] summary .ct-faq-icon::after{transform:rotate(90deg);opacity:0;}
.ct-faqs .ct-faq-a{padding:0 .625rem 1.5rem;font-family:'Inter',sans-serif;font-weight:300;font-size:1rem;line-height:1.7;color:var(--ink-mid);max-width:680px;}
/* contact-form */
.ct-form-section{background:var(--wp--preset--color--white);padding:clamp(2.5rem,5vw,5rem) var(--gutter);}
.ct-form-section *,.ct-form-section *::before,.ct-form-section *::after{box-sizing:border-box;margin:0;}
.ct-form-section .ct-form-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:start;}
.ct-form-section .ct-card{background:var(--surface);border:1px solid var(--rule);padding:clamp(1.75rem,4vw,2.75rem);position:relative;}
.ct-form-section .ct-card-mark{position:absolute;top:-1px;left:clamp(1.75rem,4vw,2.75rem);background:var(--wp--preset--color--accent-1);color:var(--wp--preset--color--white);font-family:var(--wp--preset--font-family--global);font-size:.6875rem;font-weight:500;padding:.375rem .75rem;letter-spacing:.14em;text-transform:uppercase;}
.ct-form-section .ct-privacy{font-family:var(--wp--preset--font-family--global);font-size:.75rem;color:var(--ink-light);line-height:1.55;margin-top:1rem;font-weight:300;}
.ct-form-section .ct-privacy a{color:var(--wp--preset--color--accent-1);text-decoration:none;}
.ct-form-section .ct-aside{display:flex;flex-direction:column;gap:1.25rem;}
.ct-form-section .ct-method{background:var(--cream);border:1px solid var(--rule);padding:1.5rem;transition:all .2s ease;}
@media (hover:hover) and (pointer:fine){.ct-form-section .ct-method:hover{background:var(--surface);border-color:var(--wp--preset--color--accent-1);}}
.ct-form-section .ct-method-icon{width:36px;height:36px;border-radius:50%;border:1px solid var(--wp--preset--color--accent-1);display:flex;align-items:center;justify-content:center;margin-bottom:.875rem;}
.ct-form-section .ct-method-icon svg{width:16px;height:16px;stroke:var(--wp--preset--color--accent-1);fill:none;stroke-width:1.5;}
.ct-form-section .ct-method h3{font-family:var(--wp--preset--font-family--global);font-weight:600;font-size:1.1875rem;color:var(--ink);margin-bottom:.375rem;}
.ct-form-section .ct-method p{font-family:var(--wp--preset--font-family--global);font-size:.875rem;line-height:1.6;color:var(--ink-mid);font-weight:300;margin-bottom:.75rem;}
.ct-form-section .ct-method-detail{font-family:var(--wp--preset--font-family--global);font-size:1.0625rem;font-weight:500;color:var(--ink);text-decoration:none;display:block;}
.ct-form-section .ct-method-detail a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--rule);padding-bottom:1px;}
@media (hover:hover) and (pointer:fine){.ct-form-section .ct-method-detail a:hover{color:var(--wp--preset--color--accent-1);border-color:var(--wp--preset--color--accent-1);}}
.ct-form-section .ct-method-meta{font-family:var(--wp--preset--font-family--global);font-size:.75rem;color:var(--ink-light);font-weight:300;margin-top:.375rem;display:block;}
@media (max-width:960px){.ct-form-section .ct-form-grid{grid-template-columns:1fr;}}
