/*
Theme Name: Taylor David Stone
Theme URI: https://taylordavid.com/
Author: Taylor David Lawyers
Description: Custom theme for Taylor David Lawyers (design direction 1c "Stone"): warm grey ground, classic display serif, deep green accent.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: Proprietary
Text Domain: taylor-david-stone
*/

/* ---------- Tokens ---------- */
:root{
  --stone:#efece6; --white:#fff; --backing:#cfccc4; --ink:#1b1c1a;
  --body:#30312c; --body2:#45463f; --muted:#55564e; --meta:#7a7a74; --rule:#cfccc4;
  --green:#1f3a33; --on-green:#eef2ef; --on-green-2:#dfe6e2; --on-green-muted:#cdd8d3; --on-green-label:#a9bdb4; --green-rule:#3d574f;
  --footer-bg:#1b1c1a; --footer-text:#a7a7a0; --scott-bg:rgb(19,26,36);
  --serif:'Libre Caslon Display', Georgia, 'Times New Roman', serif;
  --sans:'Libre Franklin', 'Helvetica Neue', Arial, sans-serif;
  --pad:80px;
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--stone);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:4px}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--green);outline-offset:3px}
p{margin:0}
h1,h2,h3,h4,h5,h6{margin:0;font-weight:400}
ul,ol{margin:0}
i,em{font-style:italic}
.screen-reader-text,.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link:focus{position:fixed;top:8px;left:8px;width:auto;height:auto;clip:auto;background:#fff;padding:10px 16px;z-index:1000}

/* ---------- Layout ---------- */
.td-c{max-width:1440px;margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
.td-main{display:block}
.td-band{background:var(--green);color:var(--on-green)}
.td-sec{padding-top:96px;padding-bottom:96px}
.td-sec--120{padding-top:120px;padding-bottom:120px}
.pt-0{padding-top:0!important}.pb-0{padding-bottom:0!important}
.pt-40{padding-top:40px}.pt-48{padding-top:48px}.pt-56{padding-top:56px}.pt-64{padding-top:64px}.pt-72{padding-top:72px}.pt-80{padding-top:80px}.pt-96{padding-top:96px}.pt-120{padding-top:120px}
.pb-2{padding-bottom:2px}.pb-24{padding-bottom:24px}.pb-40{padding-bottom:40px}.pb-56{padding-bottom:56px}.pb-64{padding-bottom:64px}.pb-72{padding-bottom:72px}.pb-80{padding-bottom:80px}.pb-96{padding-bottom:96px}.pb-112{padding-bottom:112px}.pb-120{padding-bottom:120px}

.g{display:grid}
.g-6-6{grid-template-columns:minmax(0,6fr) minmax(0,6fr)}
.g-7-5{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
.g-5-7{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
.g-4-8{grid-template-columns:minmax(0,4fr) minmax(0,8fr)}
.g-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.gap-2{gap:2px}.gap-8{gap:8px}.gap-10{gap:10px}.gap-12{gap:12px}.gap-14{gap:14px}.gap-16{gap:16px}.gap-20{gap:20px}.gap-24{gap:24px}.gap-28{gap:28px}.gap-32{gap:32px}.gap-36{gap:36px}.gap-40{gap:40px}.gap-48{gap:48px}.gap-56{gap:56px}.gap-64{gap:64px}.gap-80{gap:80px}
.cgap-40{column-gap:40px}
.ai-center{align-items:center}.ai-end{align-items:end}.ai-start{align-items:start}
.stack{display:flex;flex-direction:column}
.row{display:flex;flex-wrap:wrap}
.jc-between{justify-content:space-between}
.as-start{align-self:flex-start}
.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}
.maxw-1120{max-width:1120px}.maxw-900{max-width:900px}.maxw-760{max-width:760px}

/* ---------- Type ---------- */
.serif{font-family:var(--serif);font-weight:400}
.fs-13{font-size:13px}.fs-14{font-size:14px}.fs-15{font-size:15px}.fs-16{font-size:16px}.fs-17{font-size:17px}.fs-18{font-size:18px}.fs-19{font-size:19px}.fs-20{font-size:20px}.fs-21{font-size:21px}.fs-22{font-size:22px}
.fs-24{font-size:24px}.fs-26{font-size:26px}.fs-30{font-size:30px}.fs-34{font-size:34px}.fs-36{font-size:36px}.fs-40{font-size:40px}.fs-44{font-size:44px}.fs-52{font-size:52px}.fs-56{font-size:56px}.fs-60{font-size:60px}.fs-76{font-size:76px}.fs-80{font-size:80px}.fs-88{font-size:88px}
.lh-1{line-height:1}.lh-102{line-height:1.02}.lh-105{line-height:1.05}.lh-108{line-height:1.08}.lh-11{line-height:1.1}.lh-112{line-height:1.12}.lh-115{line-height:1.15}.lh-12{line-height:1.2}.lh-13{line-height:1.3}.lh-15{line-height:1.5}.lh-155{line-height:1.55}.lh-16{line-height:1.6}.lh-165{line-height:1.65}.lh-17{line-height:1.7}.lh-18{line-height:1.8}
.fw-300{font-weight:300}.fw-500{font-weight:500}.fw-600{font-weight:600}
.c-green{color:var(--green)}.c-body{color:var(--body)}.c-body2{color:var(--body2)}.c-muted{color:var(--muted)}.c-meta{color:var(--meta)}.c-ink{color:var(--ink)}
.c-on-green{color:var(--on-green)}.c-on-green-muted{color:var(--on-green-muted)}.c-on-green-label{color:var(--on-green-label)}
.pretty{text-wrap:pretty}.balance{text-wrap:balance}
.eyebrow{font-size:13px;line-height:1.4;letter-spacing:.22em;text-transform:uppercase;color:var(--green);font-weight:600}
.eyebrow--20{letter-spacing:.2em}
.eyebrow--light{color:var(--on-green-label)}
.eyebrow--plain{font-weight:400}

/* ---------- Buttons ---------- */
.btn,.td-form .wpcf7-submit{display:inline-block;padding:17px 28px;font-size:15px;font-weight:600;line-height:1.2;background:var(--green);color:#fff;border:1px solid var(--green);cursor:pointer;font-family:var(--sans)}
.btn:hover,.td-form .wpcf7-submit:hover{text-decoration:none;background:#16302a}
.btn--outline{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn--outline:hover{background:var(--ink);color:#fff}
.btn--light{background:var(--stone);color:var(--green);border-color:var(--stone)}
.btn--light:hover{background:#fff}
.btns{display:flex;flex-wrap:wrap;gap:14px}
.btns--sm .btn{padding:16px 26px}
.btn--line{background:none;border:1px solid var(--green);color:var(--green);padding:14px 24px}
.btn--line:hover{background:var(--green);color:#fff}
.link-arrow{font-size:15px;font-weight:600;color:var(--green)}
.link-arrow--sm{font-size:14px}

/* ---------- Surfaces ---------- */
.panel{background:var(--white)}
.p-48{padding:48px}.p-56{padding:56px}.p-64{padding:64px}.p-72{padding:72px}
.p-hero{padding:88px 72px}
.p-card{padding:48px 40px}
.p-case{padding:28px 32px}
.p-cta{padding:80px 72px}
.bg-green{background:var(--green);color:var(--on-green)}
.img-cover{width:100%;height:100%;object-fit:cover;filter:saturate(.7)}
.mh-520{min-height:520px}.mh-560{min-height:560px}.mh-640{min-height:640px}
.h-380{height:380px}.h-440{height:440px}
.mh-280{min-height:280px}.mh-300{min-height:300px}

/* ---------- Top bar & header ---------- */
.td-topbar{background:var(--green);color:var(--on-green-2);font-size:13px;line-height:1.4}
.td-topbar .td-c{display:flex;gap:40px;padding-top:11px;padding-bottom:11px;align-items:center}
.td-topbar__left{flex:1 1 auto;min-width:0}
.td-topbar a{text-decoration:underline;text-underline-offset:3px}
.td-header .td-c{display:flex;align-items:center;justify-content:space-between;padding-top:30px;padding-bottom:30px;gap:40px}
.td-logo img{height:44px;width:auto}
.td-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:40px;font-size:15px}
.td-nav a{color:var(--ink)}
.td-nav .current-menu-item>a,.td-nav .current_page_item>a,.td-nav .current_page_parent>a,.td-nav .current-menu-ancestor>a,.td-nav .current-menu-parent>a,.td-nav .current_page_ancestor>a{font-weight:600;color:var(--green)}
.td-nav .td-no-current>a{font-weight:400!important;color:var(--ink)!important}
.td-menu-btn{display:none;background:none;border:1px solid var(--ink);padding:10px 16px;font:600 14px/1 var(--sans);color:var(--ink);cursor:pointer}

/* ---------- Hero ---------- */
.hero-panel{display:grid;background:var(--white)}
.hero-panel .hero-img{width:100%;height:100%;object-fit:cover;filter:saturate(.7)}
.breadcrumb{font-size:14px;color:var(--muted)}
.breadcrumb a{color:inherit}

/* ---------- Practice tabs & chips ---------- */
.tabs{display:flex;flex-wrap:wrap;gap:10px;font-size:14px}
.tabs a{background:var(--white);padding:12px 20px;color:var(--ink);line-height:1.3}
.chip{background:var(--white);padding:11px 18px;color:var(--ink);line-height:1.3}
.tabs a.is-active,.chip.is-active{background:var(--green);color:#fff;font-weight:600}
.chip{border:0;font:inherit;font-size:14px;cursor:pointer;font-family:var(--sans)}
.chips{display:flex;flex-wrap:wrap;gap:10px}

/* ---------- Lists ---------- */
.rows>*{padding:16px 0;border-top:1px solid var(--rule);font-size:17px;line-height:1.5;color:var(--body)}
.rows--green>*{border-top-color:var(--green-rule);color:var(--on-green)}
.rows-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px}
.rows-2>*{padding:16px 0;border-top:1px solid var(--green-rule);font-size:17px;line-height:1.5}
.doyles{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:28px 0;font-family:var(--serif);font-size:24px;color:var(--green);line-height:1.35}

/* ---------- Cards ---------- */
.card-link{display:flex;flex-direction:column;background:var(--white);color:var(--ink)}
.card-link:hover{text-decoration:none}
.card-link:hover .card-more{text-decoration:underline;text-underline-offset:4px}
.card-more{font-size:14px;font-weight:600;color:var(--green)}
.case-title{font-family:var(--serif);font-size:21px;line-height:1.3}
.case-title--24{font-size:24px}
.person-card img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center top;background:#111}
.person-card img.is-scott,.home-person img.is-scott{object-fit:contain;object-position:center bottom;background:var(--scott-bg)}
.home-person img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center top;background:#111}
.person-card[hidden],.post-card[hidden]{display:none}

/* ---------- FAQ ---------- */
.faq{display:flex;flex-direction:column;gap:2px}
.faq details{background:var(--white)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px 36px;font-family:var(--serif);font-size:24px;line-height:1.3;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--sans);font-size:26px;line-height:1;color:var(--green);flex:0 0 auto}
.faq details[open] summary::after{content:"\2212"}
.faq .faq-a{padding:0 36px 32px;font-size:17px;line-height:1.65;color:var(--body);max-width:900px}
.faq-note{font-size:14px;color:var(--meta);padding-top:20px}

/* ---------- Profile ---------- */
.profile-photo{width:100%;height:640px;object-fit:contain;object-position:center bottom;background:var(--scott-bg)}
.profile-photo--cover{object-fit:cover;object-position:center top;background:#111}
.facts>div{display:flex;flex-direction:column;gap:12px}
.matters-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.matters-cards>div{background:var(--white);padding:28px;font-size:16px;line-height:1.6;color:var(--body)}
.matters:has(details[open]) .matters-cards{display:none}
.matters details summary{list-style:none;display:inline-block;cursor:pointer}
.matters details summary::-webkit-details-marker{display:none}
.matters details summary .less{display:none}
.matters details[open] summary .more{display:none}
.matters details[open] summary .less{display:inline}
.matters details[open] summary{order:2}
.matters details{display:flex;flex-direction:column}
.matters-list{list-style:none;padding:0;margin:0 0 24px;counter-reset:m}
.matters-list li{counter-increment:m;display:grid;grid-template-columns:48px minmax(0,1fr);gap:16px;padding:14px 0;border-top:1px solid var(--rule);font-size:16px;line-height:1.55;color:var(--body)}
.matters-list li:last-child{border-bottom:1px solid var(--rule)}
.matters-list li::before{content:counter(m,decimal-leading-zero);font-family:var(--serif);font-size:21px;line-height:1.2;color:var(--green)}
.activities{list-style:none;padding:0;margin:0}
.activities li{padding:16px 0;border-top:1px solid var(--rule);font-size:15px;line-height:1.6;color:var(--body)}
.activities li strong{color:var(--ink);font-weight:600}

/* ---------- Prose (legal pages, articles) ---------- */
.prose{font-size:18px;line-height:1.7;color:var(--body);max-width:820px}
.prose>*+*{margin-top:1.1em}
.prose h2{font-family:var(--serif);font-size:36px;line-height:1.15;color:var(--ink);margin-top:1.6em}
.prose h3{font-family:var(--serif);font-size:28px;line-height:1.2;color:var(--ink);margin-top:1.5em}
.prose h4{font-family:var(--serif);font-size:24px;line-height:1.25;color:var(--ink);margin-top:1.4em}
.prose ul,.prose ol{padding-left:1.25em}
.prose li+li{margin-top:.5em}
.prose a{color:var(--green);text-decoration:underline;text-underline-offset:3px}
.prose strong{color:var(--ink);font-weight:600}
.prose blockquote{margin:1.4em 0;padding-left:24px;border-left:2px solid var(--green)}
.prose table{border-collapse:collapse;width:100%}
.prose td,.prose th{border:1px solid var(--rule);padding:8px 12px;text-align:left}
.article-body .vc_row{margin-left:0!important;margin-right:0!important}
.article-body .wpb_wrapper>*+*{margin-top:1.1em}
.article-body img{height:auto}

/* ---------- Insights ---------- */
.post-card{display:flex;flex-direction:column;justify-content:space-between;gap:24px;background:var(--white);padding:36px;min-height:300px;color:var(--ink)}
.post-card:hover{text-decoration:none}
.post-card:hover .serif{text-decoration:underline;text-underline-offset:4px}
.featured{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);background:var(--white);color:var(--ink)}
.featured:hover{text-decoration:none}
.featured:hover .serif{text-decoration:underline;text-underline-offset:4px}

/* ---------- Contact form (Contact Form 7) ---------- */
.office{background:var(--white);padding:28px;display:flex;flex-direction:column;gap:8px}
.td-form .wpcf7-form{display:flex;flex-direction:column;gap:24px}
.td-form label{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:600;color:var(--ink)}
.td-form .wpcf7-form-control-wrap{display:block}
.td-form input[type=text],.td-form input[type=email],.td-form input[type=tel],.td-form textarea{width:100%;background:var(--stone);border:1px solid var(--rule);border-radius:0;padding:16px;font:400 16px/1.4 var(--sans);color:var(--ink)}
.td-form textarea{height:150px;resize:vertical}
.td-form .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px}
.td-form .topics-label{font-size:14px;font-weight:600;margin-bottom:12px}
.td-form .wpcf7-radio{display:flex;flex-wrap:wrap;gap:10px}
.td-form .wpcf7-list-item{margin:0}
.td-form .wpcf7-list-item label{display:block;cursor:pointer;font-weight:400}
.td-form .wpcf7-list-item input{position:absolute;opacity:0;width:1px;height:1px}
.td-form .wpcf7-list-item-label{display:inline-block;padding:11px 18px;border:1px solid var(--rule);background:var(--white);font-size:14px;color:var(--ink)}
.td-form .wpcf7-list-item input:checked+.wpcf7-list-item-label{background:var(--green);border-color:var(--green);color:#fff;font-weight:600}
.td-form .wpcf7-list-item input:focus-visible+.wpcf7-list-item-label{outline:2px solid var(--green);outline-offset:2px}
.td-form .form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:24px}
.td-form .form-actions p{display:contents}
.td-form .wpcf7-submit{border-radius:0;padding:18px 32px}
.td-form .wpcf7-spinner{margin:0}
.td-form .wpcf7-not-valid-tip{font-size:13px;color:#8a1f11;margin-top:6px;font-weight:400}
.td-form .wpcf7-response-output{margin:0!important;padding:14px 16px!important;border:1px solid var(--green)!important;font-size:15px}
.td-form .form-note{font-size:14px;color:var(--meta);font-weight:400}

/* ---------- Footer ---------- */
.td-footer{background:var(--footer-bg);color:var(--footer-text);font-size:14px;line-height:1.8}
.td-footer .td-c{display:grid;grid-template-columns:minmax(0,4fr) repeat(3,minmax(0,2fr));gap:48px;padding-top:56px;padding-bottom:40px}
.td-footer img{height:40px;width:auto}
.td-footer a{color:inherit}
.td-footer ul{list-style:none;padding:0;margin:0}
.td-footer .office-line+.office-line{margin-top:14px}
.td-footer__base{border-top:1px solid #33342f}
.td-footer__base .td-c{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;padding-top:20px;padding-bottom:28px;font-size:13px;color:#8d8d86}

/* ---------- Generic page hero (non-designed pages) ---------- */
.page-head{padding-top:72px;padding-bottom:56px}

/* ---------- Responsive ---------- */
@media (max-width:1280px){
  .fs-88{font-size:76px}.fs-80{font-size:68px}.fs-76{font-size:64px}
  .td-nav ul{gap:28px}
}
@media (max-width:1023px){
  :root{--pad:40px}
  .p-hero[style]{padding:56px 48px!important}
  .contact-left{padding:0!important}
  .g-6-6,.g-7-5,.g-5-7,.g-4-8,.featured{grid-template-columns:minmax(0,1fr)}
  .g-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .g-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gap-80,.gap-64,.gap-56{gap:48px}
  .hero-panel{grid-template-columns:minmax(0,1fr)!important}
  .hero-panel .hero-media{order:-1}
  .hero-panel .hero-img{min-height:360px!important;max-height:460px}
  .p-hero{padding:56px 48px}.p-72{padding:48px}.p-cta{padding:56px 48px}
  .profile-photo{height:560px}
  .td-sec,.pt-96{padding-top:72px}.td-sec,.pb-96{padding-bottom:72px}
  .td-sec--120,.pt-120{padding-top:88px}.td-sec--120,.pb-120{padding-bottom:88px}.pb-112{padding-bottom:88px}
  .td-footer .td-c{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-88,.fs-80,.fs-76{font-size:60px}
  .fs-60,.fs-56{font-size:48px}.fs-52{font-size:44px}
  .td-nav ul{gap:22px;font-size:14px}
}
@media (max-width:860px){
  .td-menu-btn{display:inline-block}
  .td-header .td-c{flex-wrap:wrap}
  .td-nav{display:none;width:100%}
  .td-nav.is-open{display:block}
  .td-nav ul{flex-direction:column;gap:0;font-size:17px}
  .td-nav li a{display:block;padding:14px 0;border-top:1px solid var(--rule)}
}
@media (max-width:767px){
  :root{--pad:24px}
  .contact-left{padding:0!important}
  .p-72[style],.p-hero[style]{padding:32px 24px!important}
  .bg-green>.td-c[style]{padding-top:56px!important;padding-bottom:56px!important}
  .td-c.g.g-5-7>.stack[style*='padding-top']{padding-top:0!important}
  body{font-size:16px}
  .td-topbar .td-c{gap:16px;flex-wrap:wrap}
  .td-topbar__left{display:none}
  .td-topbar__email{margin-left:0!important}
  .td-header .td-c{padding-top:20px;padding-bottom:20px}
  .td-logo img{height:36px}
  .fs-88,.fs-80,.fs-76{font-size:48px}
  .fs-60,.fs-56,.fs-52{font-size:36px}
  .fs-44,.fs-40{font-size:32px}
  .fs-36,.fs-34{font-size:28px}
  .fs-30{font-size:26px}
  .fs-22,.fs-21{font-size:19px}
  .g-2,.g-3,.matters-cards,.rows-2,.td-form .form-grid{grid-template-columns:minmax(0,1fr)}
  .g-4.people-grid{grid-template-columns:minmax(0,1fr)}
  .g-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .p-hero,.p-72,.p-64,.p-56,.p-48,.p-cta{padding:32px 24px}
  .p-card{padding:32px 24px}
  .faq summary{padding:22px 20px;font-size:21px}
  .faq .faq-a{padding:0 20px 24px}
  .td-sec,.pt-96,.pt-120,.td-sec--120{padding-top:56px}.td-sec,.pb-96,.pb-120,.pb-112,.td-sec--120{padding-bottom:56px}
  .hero-panel .hero-img{min-height:260px!important}
  .profile-photo{height:460px}
  .h-380{height:240px}.h-440{height:260px}
  .td-footer .td-c{grid-template-columns:minmax(0,1fr);gap:28px}
  .gap-80,.gap-64,.gap-56,.gap-48{gap:32px}
  .post-card{min-height:0}
  .page-head{padding-top:48px;padding-bottom:32px}
  .prose{font-size:17px}
  .prose h2{font-size:30px}
  .doyles{font-size:21px}
}
@media print{.td-topbar,.td-header nav,.td-menu-btn,.td-footer{display:none}}
