/* Koon & Pipes V6.1.1 staging additions. The core presentation styles remain embedded in index.html. */
:root{--kp-deep:#071c13;--kp-green:#0b261b;--kp-green-2:#164c36;--kp-green-3:#2f6b55;--kp-gold:#c8a66a;--kp-cream:#f6f1e7;--kp-line:rgba(200,166,106,.34)}
html{overflow-x:hidden}body{overflow-x:hidden}
.kp-demo-ribbon{position:relative;z-index:150;display:flex;align-items:center;justify-content:center;min-height:30px;padding:6px 20px;background:linear-gradient(90deg,#071c13,#164c36,#071c13);color:#f6f1e7;border-bottom:1px solid rgba(234,213,167,.45);font-size:10px;font-weight:800;letter-spacing:.09em;text-align:center;text-transform:uppercase}
.nav-portal,.portal-top-link{display:inline-flex;align-items:center;gap:7px;text-decoration:none}.nav-portal svg,.floating-portal svg,.intake-security svg{width:16px;height:16px;stroke:currentColor}.nav-portal{font-size:10px!important;font-weight:800;letter-spacing:.075em;text-transform:uppercase;color:#174532!important}.nav-links .nav-portal{padding:29px 0 27px!important}.portal-top-link{font-weight:800;color:#ead5a7}
.floating-portal{position:fixed;right:22px;bottom:22px;z-index:90;display:flex;align-items:center;gap:9px;padding:12px 16px;background:linear-gradient(135deg,#0b261b,#2f6b55);color:#fff;border:1px solid rgba(234,213,167,.72);box-shadow:0 14px 32px rgba(5,23,16,.3);text-decoration:none;font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;transition:transform .2s ease,box-shadow .2s ease}.floating-portal:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(5,23,16,.38)}
.portal-showcase{position:relative;padding:82px 0;background:linear-gradient(135deg,#071c13,#123f2c 58%,#174f38);color:#fff;overflow:hidden}.portal-showcase:before{content:"";position:absolute;inset:-40% auto auto 52%;width:680px;height:680px;border:1px solid rgba(234,213,167,.16);border-radius:50%;box-shadow:0 0 0 90px rgba(234,213,167,.035),0 0 0 180px rgba(234,213,167,.022)}.portal-showcase .wrap{position:relative;display:grid;grid-template-columns:minmax(0,.9fr) minmax(480px,1.1fr);align-items:center;gap:70px}.portal-showcase .eyebrow{display:block;margin-bottom:12px;color:#ead5a7;font-size:10px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.portal-showcase h2{margin:0;color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:clamp(34px,4.3vw,58px);font-weight:500;line-height:1.04}.portal-showcase p{margin:22px 0 0;color:#dbe6de;font-size:14px;line-height:1.8}.portal-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.kp-button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:46px;padding:0 21px;background:linear-gradient(135deg,#ead5a7,#c8a66a);border:1px solid #c8a66a;color:#0b261b;text-decoration:none;font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;box-shadow:0 12px 25px rgba(0,0,0,.18);transition:.24s ease}.kp-button:hover{transform:translateY(-2px);background:#fff;border-color:#fff}.kp-button--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.5);box-shadow:none}.kp-button--ghost:hover{color:#0b261b}
.portal-preview{position:relative;border:1px solid rgba(234,213,167,.45);background:#f7f4ec;color:#17241d;box-shadow:0 30px 70px rgba(0,0,0,.3)}.portal-preview:before{content:"";position:absolute;inset:12px -12px -12px 12px;border:1px solid rgba(234,213,167,.26);z-index:-1}.portal-preview__top{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:#0d2f21;color:#fff;border-bottom:1px solid rgba(234,213,167,.34)}.portal-preview__brand{display:flex;align-items:center;gap:10px;font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.portal-preview__brand span{display:grid;place-items:center;width:36px;height:36px;background:#ead5a7;color:#0b261b;font-family:Georgia,serif;font-size:14px}.portal-preview__status{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:#cfe4d6}.portal-preview__body{padding:30px}.portal-preview__body>span{color:#8b6d38;font-size:9px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.portal-preview__body h3{margin:8px 0 22px;color:#0b261b;font-family:Georgia,serif;font-size:27px;font-weight:500;line-height:1.12}.portal-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.portal-mini-card{min-height:128px;padding:18px;background:#fff;border:1px solid #e2dbce;box-shadow:0 8px 18px rgba(8,29,21,.06)}.portal-mini-card small{display:block;color:#9f783e;font-size:8px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.portal-mini-card strong{display:block;margin-top:7px;color:#153c2c;font-size:13px}.portal-mini-card p{margin:7px 0 0;color:#68716b;font-size:10px;line-height:1.55}
.blog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:-14px 0 26px}.blog-search{position:relative;display:block;flex:0 1 390px}.blog-search input{width:100%;height:44px;padding:0 43px 0 15px;border:1px solid #d8d3c9;background:#fff;color:#17241d}.blog-search svg{position:absolute;right:14px;top:50%;width:18px;height:18px;transform:translateY(-50%);stroke:#315e4a}.insights-library-link{color:#1b583e;text-decoration:none;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.insights-library-link:hover{text-decoration:underline;text-underline-offset:5px}.newsletter-status{min-height:22px;margin-top:11px;color:#e9d8b5;font-size:11px;font-weight:750;text-align:center}
/* Multi-step intake */
#consultModal .modal-card{width:min(980px,calc(100% - 28px));max-height:min(92vh,900px)}#consultModal .modal-body{padding:0;overflow:auto;background:#f7f5f0}.intake-shell{min-height:520px}.intake-progress{display:grid;grid-template-columns:repeat(3,1fr);background:#0b261b}.intake-progress button{position:relative;display:flex;align-items:center;gap:11px;min-height:68px;padding:11px 20px;border:0;border-right:1px solid rgba(255,255,255,.11);background:transparent;color:#b9c9bf;text-align:left}.intake-progress button:last-child{border-right:0}.intake-progress button:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:3px;background:#c8a66a;transition:right .25s ease}.intake-progress button.is-current,.intake-progress button.is-complete{color:#fff}.intake-progress button.is-current:after,.intake-progress button.is-complete:after{right:0}.intake-progress b{display:grid;place-items:center;width:31px;height:31px;border:1px solid rgba(234,213,167,.55);border-radius:50%;font-size:8px;letter-spacing:.04em;text-transform:uppercase}.intake-progress span{font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.intake-step{display:none;padding:34px 38px 38px}.intake-step.is-current{display:block;animation:kpFade .24s ease}@keyframes kpFade{from{opacity:.25;transform:translateY(6px)}to{opacity:1;transform:none}}.intake-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:30px;padding-bottom:22px;margin-bottom:24px;border-bottom:1px solid #ddd7cc}.intake-intro h3{margin:0;color:#0b261b;font-family:Georgia,serif;font-size:26px;font-weight:500}.intake-intro p{margin:7px 0 0;color:#657069;font-size:11px;line-height:1.65}.intake-draft-status{flex:0 0 auto;color:#557061;font-size:9px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.intake-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}.intake-field{display:grid;gap:6px}.intake-field--full{grid-column:1/-1}.intake-field label{color:#213d30;font-size:10px;font-weight:850;letter-spacing:.045em;text-transform:uppercase}.intake-field label span{color:#a84a3d}.intake-field input,.intake-field select,.intake-field textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid #cfd3ce;background:#fff;color:#202822;border-radius:0;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.intake-field textarea{min-height:98px;resize:vertical}.intake-field input:focus,.intake-field select:focus,.intake-field textarea:focus{border-color:#2f6b55;box-shadow:0 0 0 3px rgba(47,107,85,.12)}.intake-field small{color:#737a75;font-size:9px}.intake-error{display:none;color:#a33d32!important;font-weight:750}.intake-field.has-error input,.intake-field.has-error select,.intake-field.has-error textarea{border-color:#b94d40}.intake-field.has-error .intake-error{display:block}.intake-security{display:flex;align-items:flex-start;gap:12px;margin-top:20px;padding:14px 16px;background:#eaf1ec;border-left:3px solid #2f6b55;color:#415149;font-size:10px;line-height:1.55}.intake-security svg{flex:0 0 18px;margin-top:1px}.intake-actions{display:flex;justify-content:space-between;gap:14px;margin-top:28px;padding-top:20px;border-top:1px solid #ddd7cc}.intake-actions__right{display:flex;gap:10px;margin-left:auto}.intake-button{min-height:43px;padding:0 19px;border:1px solid #0b261b;background:#0b261b;color:#fff;font-size:9px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.intake-button:hover{background:#2f6b55;border-color:#2f6b55}.intake-button--secondary{background:#fff;color:#0b261b;border-color:#a7b2aa}.intake-button--secondary:hover{background:#e8eee9;color:#0b261b;border-color:#819187}.intake-button[disabled]{opacity:.58;cursor:wait}.intake-summary{display:grid;grid-template-columns:180px 1fr;margin:0;border:1px solid #dcd6cb;background:#fff}.intake-summary dt,.intake-summary dd{margin:0;padding:11px 14px;border-bottom:1px solid #e9e4da}.intake-summary dt{color:#6a756e;background:#f1eee7;font-size:9px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.intake-summary dd{color:#26342d;font-size:11px;white-space:pre-wrap}.intake-summary dt:last-of-type,.intake-summary dd:last-of-type{border-bottom:0}.intake-consent{display:flex;align-items:flex-start;gap:12px;margin-top:19px;padding:15px;background:#fff;border:1px solid #dcd6cb;color:#4b5650;font-size:10px;line-height:1.6}.intake-consent input{flex:0 0 auto;margin-top:3px}.intake-success{padding:38px;text-align:center;background:#fff;border:1px solid #d8d2c6}.intake-success__mark{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 17px;border-radius:50%;background:#e1eee5;color:#164c36;font-size:28px}.intake-success h3{margin:0;color:#0b261b;font-family:Georgia,serif;font-size:29px;font-weight:500}.intake-success p{max-width:610px;margin:12px auto 0;color:#5f6963;font-size:12px}.intake-success strong{display:block;margin-top:18px;color:#8d6d37;font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.kp-toast-region{position:fixed;z-index:1000;right:18px;bottom:18px;display:grid;gap:9px;max-width:min(390px,calc(100vw - 36px))}.kp-toast{transform:translateY(12px);opacity:0;padding:13px 16px;background:#0b261b;color:#fff;border:1px solid rgba(234,213,167,.5);box-shadow:0 15px 35px rgba(0,0,0,.25);font-size:11px;transition:.25s ease}.kp-toast.is-visible{transform:none;opacity:1}.kp-toast--error{background:#6f2523}.kp-toast--warning{background:#6c5224}
/* Landscape safeguards: hero copy and controls must always remain visible. */
@media (max-height:650px) and (min-width:700px){.hero{height:max(510px,calc(100vh - 60px))}.hero-slide__content{justify-content:center;padding-top:28px;padding-bottom:48px}.hero h1{font-size:clamp(34px,5vw,56px)}.hero-copy{margin:13px auto 18px;max-width:680px}.hero-kicker{margin-bottom:11px}.hero-arrows{bottom:14px}.hero-slide[data-slide="1"] .hero-slide__image,.hero-slide[data-slide="2"] .hero-slide__image{background-position:center 36%}}
@media (max-height:470px) and (min-width:700px){.kp-demo-ribbon{min-height:24px;padding-block:3px}.top-strip{height:26px}.nav{height:60px}.brand img{width:205px}.hero{height:430px}.hero-slide__content{padding:20px 9% 40px}.hero h1{font-size:clamp(28px,4.5vw,44px)}.hero-copy{font-size:11px;line-height:1.45;margin:9px auto 14px}.hero-kicker{font-size:9px;margin-bottom:8px}.ref-button{min-height:37px}.mobile-menu{inset:110px 0 auto}}
@media(max-width:1080px){.portal-showcase .wrap{grid-template-columns:1fr;gap:42px}.portal-preview{max-width:760px;width:100%;margin-inline:auto}.nav-links .nav-portal{display:none}.blog-toolbar{margin-top:0}}
@media(max-width:720px){.kp-demo-ribbon{font-size:8px;letter-spacing:.05em}.portal-showcase{padding:58px 0}.portal-showcase .wrap{gap:32px}.portal-preview__body{padding:22px}.portal-mini-grid{grid-template-columns:1fr}.portal-mini-card{min-height:0}.portal-actions{display:grid}.kp-button{width:100%}.floating-portal{right:12px;bottom:12px;padding:11px 13px}.floating-portal span{display:none}.blog-toolbar{align-items:stretch;flex-direction:column}.blog-search{flex-basis:auto}.intake-progress button{justify-content:center;padding:10px 5px}.intake-progress button span{display:none}.intake-step{padding:26px 20px 28px}.intake-intro{display:block}.intake-draft-status{display:block;margin-top:8px}.intake-grid{grid-template-columns:1fr}.intake-field--full{grid-column:auto}.intake-actions{align-items:stretch;flex-direction:column}.intake-actions__right{width:100%;margin-left:0}.intake-actions__right .intake-button{flex:1}.intake-summary{grid-template-columns:1fr}.intake-summary dt{padding-bottom:3px;border-bottom:0}.intake-summary dd{padding-top:3px}.top-strip__right .portal-top-link{display:none}}
@media(max-width:460px){.portal-showcase h2{font-size:34px}.portal-preview__top{padding:12px}.portal-preview__status{display:none}.intake-actions__right{flex-direction:column}.intake-button{width:100%}.floating-portal{border-radius:50%;width:46px;height:46px;padding:0;justify-content:center}.newsletter-status{text-align:left}}
@media(prefers-reduced-motion:reduce){.kp-button,.floating-portal,.kp-toast,.intake-step{transition:none!important;animation:none!important}}

/* V6.1.1: complete the prospective-client pathway section. The V6.1 HTML
   shipped with this section but without its presentation rules, which left
   the eyebrow text against the green/white boundary and stacked the steps. */
.engagement-section{position:relative;padding:76px 0 70px;background:linear-gradient(180deg,#f8f6f1 0%,#fff 78%);border-top:1px solid rgba(200,166,106,.52);color:#243029;overflow:hidden}
.engagement-section:before{content:"";position:absolute;top:-190px;right:-150px;width:470px;height:470px;border:1px solid rgba(200,166,106,.10);border-radius:50%;box-shadow:0 0 0 74px rgba(200,166,106,.025),0 0 0 148px rgba(22,76,54,.018);pointer-events:none}
.engagement-section>.wrap{position:relative;z-index:1}
.engagement-head{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:end;gap:72px;padding-bottom:34px;border-bottom:1px solid #ddd8ce}
.engagement-head>div{min-width:0}
.engagement-head .eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 14px;color:#896b36;font-size:10px;font-weight:900;letter-spacing:.15em;line-height:1.4;text-transform:uppercase}
.engagement-head .eyebrow:before{content:"";flex:0 0 38px;width:38px;height:1px;background:#c8a66a}
.engagement-head h2{max-width:620px;margin:0;color:#0b261b;font-family:Georgia,"Times New Roman",serif;font-size:clamp(31px,3.7vw,48px);font-weight:500;letter-spacing:-.015em;line-height:1.08}
.engagement-head>p{max-width:590px;margin:0;color:#59635d;font-size:13px;line-height:1.78}
.engagement-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:34px;border:1px solid #ded9cf;background:rgba(255,255,255,.72);box-shadow:0 18px 46px rgba(8,29,21,.055)}
.engagement-step{position:relative;min-height:238px;padding:31px 25px 30px;border-right:1px solid #ded9cf;background:transparent;transition:background .24s ease,transform .24s ease,box-shadow .24s ease}
.engagement-step:last-child{border-right:0}
.engagement-step:before{content:attr(data-step);display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(200,166,106,.75);color:#876834;background:#fbf8f1;font-size:9px;font-weight:900;letter-spacing:.11em;line-height:1}
.engagement-step h3{margin:21px 0 11px;color:#123728;font-family:Georgia,"Times New Roman",serif;font-size:20px;font-weight:600;line-height:1.22}
.engagement-step p{margin:0;color:#626b65;font-size:11px;line-height:1.72}
.engagement-step:hover{z-index:2;background:#fff;transform:translateY(-4px);box-shadow:0 20px 38px rgba(8,29,21,.10)}
.engagement-note{position:relative;margin:24px 0 0;padding:15px 18px 15px 48px;border:1px solid #e0dbd1;border-left:3px solid #c8a66a;background:#f5f2eb;color:#59635d;font-size:10px;line-height:1.65}
.engagement-note:before{content:"i";position:absolute;left:17px;top:15px;display:grid;place-items:center;width:18px;height:18px;border:1px solid #b18d51;border-radius:50%;color:#8c6c37;font-family:Georgia,"Times New Roman",serif;font-size:12px;font-weight:700;line-height:1}
@media(max-width:1020px){.engagement-section{padding:64px 0 62px}.engagement-head{grid-template-columns:1fr;gap:20px;padding-bottom:29px}.engagement-head>p{max-width:760px}.engagement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.engagement-step{min-height:210px}.engagement-step:nth-child(2){border-right:0}.engagement-step:nth-child(-n+2){border-bottom:1px solid #ded9cf}}
@media(max-width:620px){.engagement-section{padding:52px 0 50px}.engagement-section:before{display:none}.engagement-head{gap:17px;padding-bottom:25px}.engagement-head .eyebrow{align-items:flex-start;font-size:9px;letter-spacing:.12em}.engagement-head .eyebrow:before{flex-basis:25px;width:25px;margin-top:7px}.engagement-head h2{font-size:clamp(29px,9vw,38px)}.engagement-head>p{font-size:12px}.engagement-grid{grid-template-columns:1fr;margin-top:26px}.engagement-step{min-height:0;padding:24px 22px 24px 72px;border-right:0;border-bottom:1px solid #ded9cf}.engagement-step:nth-child(-n+2){border-bottom:1px solid #ded9cf}.engagement-step:last-child{border-bottom:0}.engagement-step:before{position:absolute;left:20px;top:24px;width:34px;height:34px}.engagement-step h3{margin:0 0 8px;font-size:19px}.engagement-note{padding-right:14px}}
@media(max-height:500px) and (min-width:700px){.engagement-section{padding-top:54px}.engagement-head{gap:16px}.engagement-grid{margin-top:26px}.engagement-step{min-height:190px;padding-top:24px;padding-bottom:24px}}
/* V6.2.0 production hardening */
.attorney-card--ben img{object-position:50% 18%}
.newsletter-consent{max-width:760px;margin:-9px auto 24px;color:#b7c8bc;text-align:center;font-size:9px;line-height:1.6}
.newsletter-consent a{color:#ead5a7}
.form-system-status{grid-column:1/-1;min-height:20px;color:#49584f;font-size:10px;line-height:1.5}
.form-privacy-link{grid-column:1/-1;margin:0;color:#68756e;font-size:9px;text-align:center}
.form-privacy-link a{color:#1f5c48}
[aria-busy="true"]{cursor:progress}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(200,166,106,.62);outline-offset:3px}
.footer-legal-links{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:12px}
.footer-legal-links a{color:#dce6df;text-decoration:none;font-size:9px}
.footer-legal-links a:hover{text-decoration:underline}
@media(max-width:720px){.top-strip__right{gap:12px}.attorney-card--ben img{object-position:50% 16%}.newsletter-consent{margin-top:-4px}}
@media print{.site-header,.top-strip,.hero-controls,.hero-arrows,.mobile-menu,.backtop,.newsletter,.socials,.nav-cta{display:none!important}body{color:#000}.hero{height:auto;background:#fff;color:#000}.hero-slide{position:relative!important;display:none}.hero-slide.is-active{display:block}.hero-slide__image,.hero-slide__veil{display:none}.hero-slide__content{color:#000;min-height:0;padding:20px}.hero h1,.hero-copy,.hero-kicker{color:#000!important;opacity:1!important;transform:none!important}.section,.firm-intro,.contact-band{padding:24px 0;background:#fff!important;color:#000!important}}

/* V6.2.0 short-landscape viewport correction */
@media (max-height:470px) and (min-width:700px){
  .top-strip{height:24px}
  .nav{height:56px}
  .brand img{width:200px}
  .hero{height:calc(100vh - 80px);min-height:300px}
  .hero-slide__content{justify-content:center;padding:4px 10% 24px}
  .hero-kicker{font-size:8px;margin-bottom:5px;letter-spacing:.28em}
  .hero h1{font-size:clamp(25px,4vw,38px);line-height:1.01;max-width:790px}
  .hero-copy{font-size:10px;line-height:1.35;margin:6px auto 9px;max-width:650px}
  .ref-button{min-height:32px;padding:0 15px;font-size:8px}
  .hero-controls{left:18px;top:auto;bottom:7px;transform:none;display:flex;gap:10px}
  .hero-dot{grid-template-columns:18px auto;gap:4px}
  .hero-dot::before{width:18px}
  .hero-arrows{right:18px;bottom:7px}
  .hero-arrow{width:36px;height:32px}
  .mobile-menu{inset:80px 0 auto}
}

/* V6.2.0 consultation completion layout */
.consult-form>.intake-shell{grid-column:1/-1;width:100%}
.consult-form.is-complete>.form-system-status,.consult-form.is-complete>.form-privacy-link{display:none}
.consult-form.is-complete .intake-success{min-height:520px;display:flex;flex-direction:column;justify-content:center}
@media(max-width:720px){.consult-form.is-complete .intake-success{min-height:420px;padding:28px 22px}}
