/*
Theme Name: The Family Law Firm
Description: Mobile-first law firm website and Book Like A Boss catalog.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
*/
:root{--forest:#153c31;--deep:#0e2922;--cream:#faf6ed;--gold:#edbd4f;--ink:#172c25;--muted:#52645c;--line:#dedfd4}
*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--cream);font:16px/1.6 "DM Sans",Arial,sans-serif}a{color:inherit;text-underline-offset:.23em}a:focus-visible,summary:focus-visible{outline:3px solid #b27807;outline-offset:4px}img{display:block;width:100%;height:auto}h1,h2,h3,.wordmark strong{font-family:"DM Serif Text",Georgia,serif;font-weight:400;line-height:1.07;margin:0}h1{font-size:clamp(3rem,6.3vw,6.15rem);letter-spacing:-.046em}h2{font-size:clamp(2.15rem,4vw,4rem);letter-spacing:-.035em}h3{font-size:1.55rem}p{margin:.85em 0}button,a,summary{-webkit-tap-highlight-color:transparent}.shell{width:min(1200px,calc(100% - 88px));margin:auto}.skip{position:absolute;top:-100px;left:12px;background:white;z-index:9}.skip:focus{top:10px}.top{background:var(--deep);color:#fff;font-size:.82rem}.top .shell{min-height:36px;display:flex;justify-content:space-between;align-items:center}.top a{text-decoration:none}.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:82px}.wordmark{display:flex;align-items:center;gap:13px;text-decoration:none}.wordmark strong{font-size:1.45rem}.monogram{height:42px;width:42px;border:1px solid #b58730;border-radius:50%;display:grid;place-items:center;font:1rem Georgia;color:#715010}.nav nav{display:flex;align-items:center;gap:24px;font-size:.89rem}.nav nav a{text-decoration:none}.nav nav a:hover{text-decoration:underline}.button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 20px;background:var(--forest);color:white;font-weight:700;text-decoration:none;border:1px solid transparent;border-radius:4px;line-height:1.25}.button:hover{filter:brightness(1.12)}.button.gold{background:var(--gold);color:var(--deep)}.button.outline{color:inherit;background:transparent;border-color:currentColor}.mobile-nav,.phonebar{display:none}.hero{background:var(--forest);color:var(--cream);overflow:hidden}.hero .shell{display:grid;grid-template-columns:1.2fr .8fr;align-items:center;min-height:565px;gap:55px}.hero-copy{padding:55px 0}.eyebrow{font-size:.72rem;letter-spacing:.19em;font-weight:800;text-transform:uppercase;color:#72500c;margin:0 0 18px}.hero .eyebrow,.dark .eyebrow{color:#ffdc80}.hero p:not(.eyebrow){font-size:1.1rem;max-width:31rem;color:#e1eae3}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:25px}.hero figure{margin:24px 0 0;align-self:end;position:relative}.hero figure img{height:490px;object-fit:cover;object-position:50% 32%;border-radius:48% 48% 0 0 / 32% 32% 0 0;border:1px solid #c9a958}.hero figcaption{position:absolute;bottom:17px;left:17px;background:var(--deep);color:white;padding:9px 14px;border-radius:4px;font-size:.78rem}.section{padding:75px 0}.section.white{background:#fffdf8}.section.dark{background:var(--deep);color:var(--cream)}.intro{max-width:45rem;color:var(--muted)}.section.dark .intro{color:#dce7de}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:28px}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:#fffdf8;border:1px solid var(--line);border-radius:7px;padding:23px;display:flex;flex-direction:column;align-items:flex-start}.card p{color:var(--muted)}.card .button,.card .textlink{margin-top:auto}.card .textlink{min-height:44px;display:inline-flex;align-items:center;font-weight:700}.card.media{padding:0;overflow:hidden}.card.media img{aspect-ratio:16/9;object-fit:cover}.card-body{padding:20px;display:flex;flex-direction:column;align-items:flex-start;flex:1;width:100%}.split{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center}.split img{border-radius:7px;max-height:470px;object-fit:cover}.split .book-image{object-fit:contain;background:white}.portrait-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.portrait-pair img{aspect-ratio:3/4;object-fit:cover}.letter{margin-top:20px}.letter img{max-width:320px}.contact-row{padding:32px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;align-items:center}.contact-row strong{font:1.65rem Georgia}.footer{background:var(--deep);color:#edf4ed;padding:52px 0}.footer .split{align-items:start}.footer address{font-style:normal}.footer small{color:#d8e3da;display:block;margin-top:22px}.catalog-head{color:white;background:linear-gradient(90deg,#0e2922 22%,#123d31df 67%,#123d3180),url(assets/lily.jpg) center/cover,var(--forest);padding:75px 0}.catalog-head h1{font-size:clamp(2.8rem,6vw,5rem)}.catalog-head p{max-width:36rem}.jump{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}.jump a{min-height:44px;display:inline-flex;align-items:center;padding:5px 12px;border:1px solid #b8c8be;border-radius:4px;text-decoration:none}.offer-group{margin-top:42px}.offer-group h2{font-size:clamp(2rem,4vw,3rem)}.offer-group .grid{margin-top:18px}.content{max-width:800px}.content img{width:auto;max-width:100%}.content article+article{margin-top:44px}blockquote{margin:.25em 0 1em;color:var(--muted)}.admin-bar .phonebar{z-index:10}
@media(max-width:980px){.shell{width:calc(100% - 54px)}.nav nav{gap:13px}.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.hero .shell{gap:27px}.hero figure img{height:420px}}
@media(max-width:700px){body{padding-bottom:70px} .shell{width:calc(100% - 36px)}.top .shell{min-height:33px;font-size:.74rem}.nav{min-height:65px;gap:10px}.wordmark strong{font-size:1.16rem}.monogram{width:34px;height:34px}.nav nav{display:none}.mobile-nav{display:block;position:relative}.mobile-nav summary{cursor:pointer;list-style:none;padding:8px 10px;border:1px solid var(--line);border-radius:4px;min-height:44px}.mobile-nav div{position:absolute;z-index:2;top:47px;right:0;background:#fffdf8;min-width:180px;border:1px solid var(--line);border-radius:4px}.mobile-nav a{display:block;padding:10px 14px}.hero .shell,.split{grid-template-columns:1fr;gap:14px}.hero-copy{padding:36px 0 5px}.hero h1{font-size:clamp(2.68rem,11vw,4.3rem)}.hero p:not(.eyebrow){font-size:1rem}.hero figure{margin:12px auto 0;width:min(100%,390px)}.hero figure img{height:280px}.hero figcaption{left:9px;bottom:10px}.actions{margin-top:19px;gap:8px}.button{padding-inline:13px}.section{padding:47px 0}.grid,.grid.four{grid-template-columns:1fr;gap:12px;margin-top:20px}.contact-row{display:block;padding:23px 0}.contact-row .button{margin-top:12px}.footer{padding:35px 0}.phonebar{display:grid;grid-template-columns:1fr 1fr;position:fixed;bottom:0;left:0;right:0;z-index:8;background:var(--deep);padding:8px 12px max(8px,env(safe-area-inset-bottom));gap:8px}.catalog-head{padding:45px 0}.catalog-head h1{font-size:2.8rem}.offer-group{margin-top:33px}}
.phonebar .button.outline{color:var(--cream);border-color:#aab9ae}
.wordmark{flex-shrink:0}.monogram{flex:none;display:flex;align-items:center;justify-content:center}
@media(min-width:701px) and (max-width:1100px){.nav nav{gap:12px}.nav .button{padding-inline:11px}}
.revised-hero h1{font-size:clamp(2.7rem,5.3vw,5rem)}.revised-hero figure img{object-fit:contain;object-position:center bottom;border-radius:52% 52% 0 0 / 10% 10% 0 0;padding-top:20px}.reviews{background:#f2ecdd}.reviews .card{padding:20px}.reviews .card>p:first-child{color:#785711;margin:0 0 8px}.about-revised img{object-fit:contain}.about-revised h2{font-size:2.25rem;margin-top:22px}
@media(max-width:700px){.revised-hero h1{font-size:clamp(2.45rem,10vw,4rem)}}
.revised-hero .shell{grid-template-columns:1fr 1fr}
.revised-hero figure img{height:auto;width:100%;padding-top:0;border-radius:50% 50% 0 0 / 4% 4% 0 0}
.revised-hero figcaption{bottom:auto;top:18px;left:18px}
@media(max-width:700px){.revised-hero .shell{grid-template-columns:1fr}.revised-hero figure{width:100%}.revised-hero figcaption{top:9px;left:9px}}
.cover-link{display:block}.cover-link .book-image{width:min(100%,420px);max-height:none;margin:auto;background:transparent}.book-scene{margin:30px 0 0}.book-scene img{border-radius:7px;width:100%;max-height:620px;object-fit:cover}
.firm-home{font-size:19px}
.firm-home .eyebrow{font-size:14px}
.firm-home h3{font-size:1.72rem}
.firm-home .revised-hero .shell{grid-template-columns:minmax(0, .9fr) minmax(0, 1.1fr);gap:42px;align-items:center;padding-block:36px}
.firm-home .hero-copy{padding:0;text-align:left}
.firm-home .revised-hero h1{font-size:clamp(2.9rem,5vw,4.8rem);line-height:1.06;max-width:12ch}
.firm-home .revised-hero figure{margin:0;width:100%;align-self:center}
.firm-home .revised-hero figure img{width:100%;height:auto;border-radius:48% 48% 6px 6px / 3% 3% 6px 6px;object-fit:contain}
.firm-home #practice{background:linear-gradient(90deg,#102d25f5,#143d31b5),url(assets/lily.jpg) center/cover;color:#faf6ed}
.firm-home #practice .eyebrow{color:#ffdc80}
.firm-home #practice .card{color:#172c25;border-top:4px solid #edbd4f}
.firm-home #practice .button{background:#edbd4f;color:#102d25}
body:has(.firm-home) .nav nav{font-size:16px}
body:has(.firm-home) .top{font-size:15px}
body:has(.firm-home) .footer{font-size:18px}
@media(max-width:700px){
.firm-home .revised-hero .shell{grid-template-columns:minmax(0,1fr);gap:24px;padding-block:30px 22px;min-height:0}
.firm-home .revised-hero h1{font-size:clamp(2.55rem,10vw,3.6rem)}
body:has(.firm-home) .top .shell{font-size:.79rem}
}
.services-banner{padding:16px 0;background:linear-gradient(90deg,#112d24b0,#143d3170),url(assets/lily.jpg) center 55%/cover;text-align:center}
.services-banner .button{margin:auto}
.firm-home .revised-hero figure::after{content:"";position:absolute;left:1px;right:1px;bottom:1px;height:18%;border-radius:0 0 6px 6px;background:linear-gradient(transparent,#fff4d52e);mix-blend-mode:screen;pointer-events:none}
.wordmark strong{font-size:1.72rem}
.services-banner{width:min(1320px,calc(100% - 36px));margin:0 auto 24px;background:#f2ecdd;border:1px solid #b99451;border-radius:6px;padding:16px 0}
.services-banner .button{min-width:min(310px,100%)}
.firm-home .hero-copy .hero-name{text-align:center;font:1.18rem/1.35 Georgia,serif;max-width:none;margin:0 0 22px;color:#faf6ed}
.hero-contacts{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.facebook-link{font:bold 1.5rem Arial;min-width:48px;padding-inline:12px}
@media(max-width:700px){.wordmark strong{font-size:1.32rem}}
.firm-home .hero-copy .hero-name{text-align:left;font-size:1.42rem;margin:0 0 29px}
.firm-home .hero-copy .actions{margin-top:32px;display:flex;gap:10px}
.hero-contacts .facebook-link{padding:8px 15px}
.firm-home #practice{padding-bottom:0}
.firm-home #practice .services-banner{width:auto;margin:32px auto 0;background:transparent;border:0;border-radius:0;padding:16px 0 24px}
.firm-home .hero-copy .hero-name{transform:translateY(-10px)}
.firm-home .hero-copy .hero-name span{font-size:.82em}
.firm-home .meet-attorney{background:linear-gradient(90deg,#faf6edf2,#faf6ede8 62%,#faf6eda8),url(assets/lily.jpg) right center/cover}
.book-scene img{max-height:none;height:auto;object-fit:contain}

.review-collage { display:flex; align-items:flex-start; justify-content:space-between; }
.review-column { width:32%; }
.reviews .review-column .card { margin:0 0 14px; }
#contact { text-align:center; background:linear-gradient(rgba(250,247,238,.8),rgba(250,247,238,.77)),url("assets/lily.jpg") center / cover no-repeat; }
#contact .contact-row { display:flex; flex-direction:column; align-items:center; gap:10px; }
#contact .contact-social { display:flex; flex-direction:column; align-items:center; gap:12px; margin-top:24px; }
@media (max-width:700px) {
  .review-collage { display:block; }
  .review-column { width:100%; }
}

.firm-home .reviews .review-column .card { border-top:4px solid #edbd4f; }
.firm-home .reviews h2 { margin-bottom:26px; }


.about-review .section { padding: 38px 0; }
.about-review h1 { font-size: clamp(36px, 5vw, 67px); }
.about-review h2 { font-size: 34px; }
.about-review .lotus-background .content { padding-right: 15%; }
@media(max-width:700px) { .about-review .lotus-background .content { padding-right: 0; } }
.about-review .lotus-background { background: linear-gradient(90deg,#faf7ee 59%,rgba(250,247,238,.72)),url("assets/lily.jpg") right center / cover; }
.about-review .background-close { border-left: 3px solid #aa8950; padding-left: 20px; }
.about-review .hobby-gallery { display:flex; align-items:flex-start; flex-wrap:nowrap; gap:0; justify-content:space-between; margin-top:24px; }
.about-review .gallery-column { width:31.5%; min-width:0; }
.about-review .gallery-column:nth-child(2) { width:38.4%; }
.about-review .gallery-column:last-child { width:26.9%; }
.about-review .gallery-column figure { width:100%; margin:0 0 12px; }
.about-review .gallery-column img { display:block; width:100%; height:auto; border-radius:6px; }
@media(max-width:700px) {
  .about-review .hobby-gallery { display:block; }
  .about-review .hobby-gallery .gallery-column { width:100%; }
}
.about-review .about-hero { padding:24px 0; background:#f6f0e4 url("assets/lily.jpg") center / cover no-repeat; background-image:linear-gradient(90deg,rgba(246,240,228,.88),rgba(246,240,228,.35)),url("assets/lily.jpg"); }
.about-review .about-hero .split { display:flex; align-items:center; }
.about-review .about-hero-copy h1 { margin:0 0 12px -3px; line-height:1.05; }
.about-review .about-hero-copy p { margin:0; line-height:1.55; }
.about-review .about-hero .hero-portrait { flex:0 0 334px; width:334px; max-width:100%; margin:0 8% 0 0; }
.about-review .about-hero .hero-portrait img { display:block; width:100%; height:auto; border:5px solid var(--deep); border-radius:8px; }
@media(max-width:700px) {
  .about-review .about-hero .split { display:block; }
  .about-review .about-hero .hero-portrait { margin:20px auto 0; }
  .about-review .about-hero-copy { width:100%; }
}
