/*
Theme Name: Henry Attorneys — Coffee & Clarity
Description: An approachable, responsive theme for Vanessa Henry's South African labour-law practice. Includes editable homepage copy and contact details in the WordPress Customizer.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: henry-coffee
License: GPL-2.0-or-later
*/
:root{--green:#183d36;--green-deep:#10332d;--cream:#f7f4ed;--sand:#eae4d8;--ink:#23362f;--muted:#64716b;--accent:#c8a97d;--line:#d9ddd4}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #bd874c;outline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.12;letter-spacing:-.035em}h2{font-size:clamp(2.3rem,4vw,3.9rem);margin-bottom:30px}h3{font-size:1.8rem}em{font-weight:400}p{max-width:660px}img{max-width:100%;display:block}.skip{position:absolute;top:-100px;padding:12px;background:#fff;z-index:99}.skip:focus{top:0}.header{padding:22px 5.8%;display:flex;align-items:center;justify-content:space-between;background:var(--cream);border-bottom:1px solid var(--line)}.brand{display:flex;flex-direction:column;line-height:1}.wordmark{font-family:Georgia,serif;font-size:46px;letter-spacing:-3px}.brand-dot{color:#a98555}.brand-sub{font-size:10px;letter-spacing:.32em;margin-top:9px;padding-left:3px}nav{display:flex;gap:36px;align-items:center;font-size:14px}nav a:hover{color:#8a6941}.nav-contact{border:1px solid var(--green);padding:12px 23px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:54% 46%;min-height:660px;background:var(--green);color:var(--cream)}.hero-copy{padding:66px 10.7% 42px}.eyebrow{font-size:12px;letter-spacing:.16em;display:flex;gap:12px;align-items:center;margin-bottom:31px}.rule{display:inline-block;width:28px;height:1px;background:var(--accent)}h1{font-size:clamp(3.5rem,5.7vw,5.7rem);margin-bottom:30px;line-height:1.03;letter-spacing:-.045em}.hero h1 em{color:#d6bc95}.hero-copy>p{font-size:17px;line-height:1.75;max-width:430px;color:#e0e6df}.hero-actions{display:flex;flex-wrap:wrap;gap:25px;align-items:center;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:center;padding:15px 24px;border:1px solid transparent;font-size:14px;font-weight:600;transition:background .2s}.button.light{background:var(--cream);color:var(--green)}.button.light:hover{background:var(--sand)}.button.dark{background:var(--green);color:white}.button.dark:hover{background:#2a574b}.text-link{border-bottom:1px solid #7b9a8f;padding-bottom:4px;font-size:14px}.hero-signoff{margin-top:44px;border-top:1px solid #46665b;padding-top:22px;font-family:Georgia,serif;font-size:20px}.hero-signoff span{font-family:Arial,sans-serif;font-size:10px;letter-spacing:.13em;display:block;margin-top:5px;color:#bacbc2}.hero-image{position:relative;overflow:hidden;background:#b09879}.hero-image img{width:100%;height:100%;object-fit:cover;position:absolute}.hero-image:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#172b2380)}.image-caption{position:absolute;bottom:30px;left:34px;right:25px;font-size:13px;z-index:1;letter-spacing:.02em}.credentials{padding:29px 5.8%;display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line)}.credentials>div{display:flex;align-items:center;gap:16px;padding-left:32px;border-left:1px solid #d5d9cd}.credentials>div:first-child{padding-left:0;border:0}.credentials strong{font-family:Georgia,serif;font-weight:400;font-size:28px;white-space:nowrap}.credentials span{font-size:13px;color:var(--muted);max-width:130px;line-height:1.45}.section{padding:94px 5.8%;scroll-margin-top:20px}.section-label{font-size:12px;letter-spacing:.14em;color:#6b796d;line-height:1.6}.approach{display:grid;grid-template-columns:24% 76%;border-bottom:1px solid var(--line)}.approach-copy h2{margin-bottom:40px}.approach-columns{display:grid;grid-template-columns:1fr 1fr;gap:65px}.lead{font-family:Georgia,serif;font-size:24px;line-height:1.6}.approach-columns>div{color:#526157}.underlined{display:inline-block;border-bottom:1px solid var(--green);color:var(--green);font-size:14px;font-weight:600;padding-bottom:5px;margin-top:8px}.advice .section-label{margin-bottom:28px}.section-heading{display:flex;justify-content:space-between;gap:55px;align-items:center}.section-heading p{width:360px;color:#526157}.service-list{margin-top:34px;border-top:1px solid #bfc9bf}.service-list details{border-bottom:1px solid #bfc9bf}summary{list-style:none}summary::-webkit-details-marker{display:none}.service-list summary{display:grid;grid-template-columns:70px 1fr 250px 26px;align-items:center;padding:28px 0;gap:16px;font-family:Georgia,serif;font-size:27px;line-height:1.3}.service-number{font-family:Arial,sans-serif;font-size:12px;color:#778376}.service-short{font-family:Arial,sans-serif;font-size:14px;color:#526157}.plus{font-family:Arial,sans-serif;font-size:24px;font-weight:300;text-align:center;transition:transform .2s}details[open] .plus{transform:rotate(45deg)}.service-content{padding:0 40px 30px 86px;color:#526157}.service-content p{margin-bottom:12px}.training{margin:0 3%;padding:72px 5.9%;background:var(--green);color:var(--cream);display:grid;grid-template-columns:1.1fr 1fr;gap:8%;scroll-margin-top:20px}.training h2 em{color:#d6bc95}.training-intro>p{color:#d9e4db;max-width:440px}.training .button{margin-top:15px}.training-note{font-size:10px;letter-spacing:.13em;color:#b8cabf;margin-top:31px}.training-panel{background:#f1ede3;color:var(--green);padding:37px;align-self:center}.panel-label{font-size:11px;letter-spacing:.12em}.tabs{display:flex;gap:15px;border-bottom:1px solid #c8cfc2;margin:24px 0 33px}.tabs button{font-size:14px;padding:0 0 14px;background:none;border:0;position:relative;color:#566258}.tabs button[aria-selected=true]{color:var(--green);font-weight:600}.tabs button[aria-selected=true]:after{content:'';height:3px;position:absolute;bottom:-1px;left:0;right:0;background:var(--green)}.training-panel h3{max-width:280px;font-size:31px;margin-bottom:21px}.training-panel p{font-size:15px;color:#536155}.training-panel ul{padding:0;list-style:none;margin:22px 0}.training-panel li{border-top:1px solid #d6d8cb;padding:11px 0;font-size:14px}.training-panel li:before{content:'✓';color:#66806a;margin-right:12px}.training-panel .panel-foot{font-size:12px;line-height:1.6;margin-bottom:0;color:#687468}.testimonial{text-align:center;padding:79px 20px 66px;border-bottom:1px solid var(--line);margin:0 5.8%}.quote-mark{font-family:Georgia,serif;color:#a8885c;font-size:70px;line-height:.8;display:block}.testimonial blockquote{font-family:Georgia,serif;font-size:clamp(1.5rem,2.8vw,2.5rem);line-height:1.4;margin:15px auto 25px;max-width:860px;letter-spacing:-.02em}.testimonial p{margin:0 auto;font-size:13px}.testimonial strong{font-weight:600}.testimonial p span{display:block;color:#738074;margin-top:4px}.questions{display:grid;grid-template-columns:1fr 1.3fr;gap:80px}.questions .section-label{margin-bottom:28px}.faq{border-top:1px solid #c8d0c3}.faq details{border-bottom:1px solid #c8d0c3}.faq summary{font-size:16px;padding:21px 0;display:flex;justify-content:space-between;gap:15px;align-items:center}.faq p{font-size:15px;color:#56665b;margin:0 36px 22px 0}.contact{background:var(--sand);padding:76px 5.8%;display:grid;grid-template-columns:1.2fr 1fr;gap:10%;scroll-margin-top:0}.contact h2{font-size:clamp(2.3rem,3.4vw,3.5rem)}.contact .eyebrow{color:#526157}.contact-main>p{color:#536458}.phone{display:block;font-family:Georgia,serif;font-size:31px;margin:29px 0 3px}.email{display:inline-block;font-size:16px;border-bottom:1px solid #929d8d}.contact-note{display:block;font-size:10px;letter-spacing:.1em;margin-top:32px;color:#687466}.enquiry{background:var(--cream);padding:32px}.enquiry h3{font-size:26px;line-height:1.25;margin-bottom:14px}.enquiry>p{font-size:14px;color:#667263}.enquiry label{display:block;font-size:12px;margin:18px 0 8px;font-weight:600}.enquiry select,.enquiry textarea{border:1px solid #c9cec0;background:transparent;color:var(--green);padding:12px;width:100%;border-radius:0}.enquiry textarea{resize:vertical;min-height:110px}.enquiry .button{margin-top:17px;width:100%}.form-status{margin:14px 0 0!important;font-size:12px!important}.form-status:empty{display:none}footer{display:flex;gap:30px;align-items:center;padding:29px 5.8%;font-size:12px;color:#667263}footer p{margin:0}.footer-brand{font-family:Georgia,serif;font-size:28px;color:var(--green);letter-spacing:-1px}footer>span{margin-left:auto}.privacy-button{background:none;border:0;padding:0;border-bottom:1px solid #89917e;color:inherit;font-size:12px}dialog{max-width:580px;width:calc(100% - 36px);border:1px solid #b8c2b2;padding:40px;background:var(--cream);color:var(--ink)}dialog::backdrop{background:#102d29ad}dialog h2{font-size:32px}dialog p{font-size:15px}.dialog-close{position:absolute;right:16px;top:8px;font-size:30px;background:none;border:0;color:var(--green)}
@media(min-width:1600px){body{max-width:1800px;margin:auto}.hero-copy{padding-top:85px;padding-bottom:65px}.hero{min-height:760px}}@media(max-width:1100px){nav{gap:20px}.hero-copy{padding:53px 9% 36px}h1{font-size:4.5rem}.hero-actions{gap:18px}.hero-actions .button{padding:14px 18px}.hero-actions .text-link{font-size:13px}.credentials>div{padding-left:20px;gap:12px}.credentials strong{font-size:24px}.credentials span{font-size:12px}.approach-columns{gap:35px}.training{gap:40px;padding:55px 5%}.training-panel{padding:28px}.service-list summary{grid-template-columns:45px 1fr 210px 25px}.service-content{padding-left:61px}.questions{gap:40px}.contact{gap:40px}}@media(max-width:760px){html{scroll-padding-top:20px}.header{padding:19px 6%;position:relative}.wordmark{font-size:38px}.brand-sub{font-size:9px}.menu-toggle{display:flex;align-items:center;gap:12px;background:none;border:1px solid #bec7b8;padding:9px 13px;font-size:14px;color:var(--green)}nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--cream);padding:22px 6%;z-index:5;border-bottom:1px solid #b5c0b0;flex-direction:column;align-items:stretch;gap:18px;font-size:16px}nav.open{display:flex}.nav-contact{text-align:center}.hero{grid-template-columns:1fr}.hero-copy{padding:45px 6% 35px}h1{font-size:clamp(3.3rem,11.4vw,4.8rem)}.hero .eyebrow{font-size:11px;margin-bottom:26px}.hero-copy>p{font-size:16px;max-width:100%}.hero-actions{gap:20px}.hero-signoff{margin-top:30px}.hero-image{height:310px}.hero-image img{object-position:center 60%}.image-caption{left:22px;bottom:20px;font-size:12px}.credentials{grid-template-columns:1fr;padding:14px 6%}.credentials>div{border:0;padding:12px 0;display:flex;justify-content:space-between}.credentials>div+div{border-top:1px solid var(--line)}.credentials strong{font-size:23px}.credentials span{font-size:13px;max-width:160px;text-align:right}.section{padding:55px 6%}.approach{grid-template-columns:1fr;gap:27px}.approach-columns{grid-template-columns:1fr;gap:12px}.lead{font-size:23px}.section-heading{display:block}.section-heading p{width:auto}.service-list{margin-top:22px}.service-list summary{grid-template-columns:28px 1fr 23px;font-size:23px;padding:22px 0;gap:8px}.service-short{display:none}.service-content{padding-left:36px;padding-right:15px}.training{margin:0;padding:50px 6%;grid-template-columns:1fr;gap:35px}.training h2{font-size:2.9rem}.training-note{font-size:9px}.training-panel{padding:26px}.training-panel h3{max-width:none;font-size:28px}.tabs{gap:23px}.testimonial{padding:55px 0;margin:0 6%}.testimonial blockquote br{display:none}.questions{grid-template-columns:1fr;gap:10px}.contact{grid-template-columns:1fr;gap:36px;padding:50px 6%}.contact h2{font-size:2.65rem}.enquiry{padding:24px}.contact-note{font-size:9px}footer{flex-wrap:wrap;gap:12px 22px;padding:27px 6%}footer>span{margin-left:0;width:100%}.privacy-button{margin-top:2px}dialog{padding:35px 25px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Supplied Henry Attorneys identity */
.brand-logo{width:248px;height:auto;display:block}.footer-brand img{width:180px;height:auto}.header{min-height:112px}@media(max-width:760px){.brand-logo{width:205px}.header{min-height:98px}.footer-brand img{width:170px}}@media(max-width:360px){.brand-logo{width:175px}.menu-toggle{padding:8px 10px}}
