/*
Theme Name: Denise at Home
Version: 1.2.5
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: denise-at-home
*/
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Inter:wght@400;500;600;700&display=swap');

:root{--cream:#fdf7f0;--gold:#c29e5b;--green:#3e5749;--clay:#ac5a37;--brown:#3c2115;--line:#e8dbcd;--muted:#66584c}
*{box-sizing:border-box}
body{margin:0;background:var(--cream);color:var(--brown);font:400 1rem/1.65 Inter,Arial,sans-serif}
a{color:inherit;text-underline-offset:.23em}
a:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.skip{position:absolute;top:-100px;background:white;padding:1rem;z-index:5}.skip:focus{top:0}
header,footer{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.15rem max(5vw,1rem)}
header{background:var(--cream);border-bottom:1px solid var(--line)}
.brand{display:block;flex:none}.brand img{display:block;width:clamp(145px,16vw,225px);height:auto}
nav{display:flex;flex-wrap:wrap;justify-content:center;gap:.55rem clamp(.75rem,1.65vw,1.8rem)}
nav a{font-size:.76rem;text-decoration:none;font-weight:600}nav a:hover,nav a[aria-current]{text-decoration:underline}
.hero{min-height:clamp(520px,67vw,780px);position:relative;isolation:isolate;display:flex;align-items:center;color:white}
.hero-img,.hero-img:after,.hero-img img{position:absolute;inset:0;width:100%;height:100%}
.hero-img{z-index:-1;background:var(--green)}
.hero-img img{object-fit:cover;object-position:center 58%}
.hero-img:after{content:'';background:linear-gradient(90deg,rgba(29,21,13,.83),rgba(29,21,13,.55) 48%,rgba(29,21,13,.08))}
.hero-copy{margin-inline:max(7vw,1.2rem);max-width:700px;padding:2rem 0}
.hero-copy p{color:#fff;max-width:39ch;margin:0 0 1.7rem}
.hero-copy .eyebrow{color:#fff1db}
.eyebrow{display:inline-block;color:var(--green);font-size:.73rem;text-transform:uppercase;letter-spacing:.13em;font-weight:700}
h1,h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;line-height:.99;margin:.18em 0 .28em;letter-spacing:-.03em}
h1{font-size:clamp(3.6rem,7.8vw,7.5rem)}h2{font-size:clamp(2.45rem,4.4vw,4.4rem)}
p{max-width:62ch;color:var(--muted)}
.button,.outline{display:inline-block;color:white;text-decoration:none;font-size:.78rem;font-weight:700;padding:.85rem 1.2rem;border:1px solid transparent;border-radius:2px}
.button{background:#93482b}.button:hover{background:#783c27}
.outline{margin-left:.65rem;border-color:#fff}.outline:hover{background:#ffffff25}
.arrow{display:inline-block;font-size:.85rem;font-weight:700;color:var(--green)}.arrow::after{content:' →'}
.benefits{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line);text-align:center;padding:1.15rem max(5vw,1rem);font-size:.85rem;font-weight:600}
.benefits span{padding:.3rem .6rem}.benefits span+span{border-left:1px solid var(--line)}
.section,.intro{width:min(90%,1240px);margin:auto;padding:clamp(2rem,5vw,5rem) 0}
.intro{padding-bottom:1.5rem}.intro h1{max-width:19ch}.intro p{margin-bottom:0}
.grid,.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,3vw,2.5rem)}
@media(min-width:621px){.grid>#organisation{grid-column:1/-1;justify-self:center;width:calc((100% - clamp(1rem,3vw,2.5rem))/2)}}
.split{align-items:center;gap:clamp(1.5rem,6vw,6rem)}.split .portrait{max-width:440px}
.service-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.8rem,2vw,1.6rem)}
.card{background:#f7efe5;border:1px solid var(--line);height:100%}
.card>div{padding:clamp(1rem,2vw,2rem)}.card h2{font-size:clamp(1.85rem,3vw,3.15rem)}.card p{font-size:.91rem}
.card img,.portrait img,.compare-pair img{width:100%;display:block;object-fit:cover;background:#e8dbcd}
.card img{aspect-ratio:4/3}.portrait img{aspect-ratio:4/5;object-position:center 35%}
.comparison{margin:0 0 1.2rem}.compare-pair{display:grid;grid-template-columns:1fr 1fr;gap:3px}
.compare-pair div{position:relative}.compare-pair img{aspect-ratio:4/3}
.compare-pair span{position:absolute;top:.6rem;left:.6rem;padding:.25rem .5rem;background:var(--cream);font-size:.75rem;font-weight:600}
.compare-pair .compare-handle{display:none}
.compare-pair.is-interactive{display:block;position:relative;aspect-ratio:4/3;overflow:hidden;isolation:isolate}
.compare-pair.is-interactive>div{position:absolute;inset:0}
.compare-pair.is-interactive img{width:100%;height:100%;object-fit:cover}
.compare-pair.is-interactive>div:first-child{z-index:1;clip-path:inset(0 calc(100% - var(--split)) 0 0)}
.compare-pair.is-interactive>div:nth-child(2)>span{left:auto;right:.6rem}
.compare-pair.is-interactive input{position:absolute;inset:0;z-index:3;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;touch-action:pan-y;appearance:none}
.compare-pair.is-interactive input::-webkit-slider-thumb{appearance:none;width:1px;height:44px}
.compare-pair.is-interactive input::-moz-range-thumb{width:1px;height:44px;border:0}
.compare-pair.is-interactive .compare-handle{display:block;z-index:2;top:0;bottom:0;left:var(--split);width:2px;padding:0;transform:translateX(-50%);pointer-events:none}
.compare-handle::after{content:'‹  ›';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:2.6rem;height:2.6rem;display:grid;place-items:center;border-radius:50%;background:var(--cream);color:var(--brown);font-size:1.05rem;box-shadow:0 1px 7px #0004}
.compare-pair:focus-within{outline:3px solid var(--gold);outline-offset:3px}
figcaption{margin-top:.55rem;font-size:.85rem;color:var(--muted)}
.feature{border-top:1px solid var(--line)}
.project-card h2 a{text-decoration:none}
.project-card h2 a:hover{text-decoration:underline}
.project-gallery{margin-top:1.25rem;align-items:start}
.project-gallery figure{margin:0}
.project-gallery img{width:100%;height:auto;display:block}
.legal-content{max-width:900px;overflow-wrap:anywhere}
.legal-content nav{justify-content:flex-start;padding:1rem 0;border-block:1px solid var(--line);margin-bottom:2rem}
.legal-content h2{font-size:clamp(1.7rem,4vw,2.6rem);margin:1.6em 0 .65em;scroll-margin-top:1rem}
.legal-content p{max-width:none}
.legal-content .wp-block-table{margin:1.5rem 0;overflow-x:auto}
.legal-content table{border-collapse:collapse;width:100%;min-width:540px}
.legal-content td{border:1px solid var(--line);padding:.7rem;vertical-align:top}
.legal-content img[src=""]{display:none}
.article-intro{max-width:900px}
.article-intro h1{font-size:clamp(2.8rem,6vw,5.5rem);max-width:none}
.journal-article{padding-top:1.6rem}
.article-cover,.article-body img{display:block;max-width:100%;height:auto}
.article-cover{width:100%;max-height:530px;object-fit:cover;margin-bottom:2rem}
.article-body{font-size:1.025rem}
.article-body figure{max-width:100%;margin:1.6rem 0}
.article-body .aligncenter img{margin-inline:auto}
.article-body .wp-block-spacer{max-height:2rem}
.article-body blockquote{margin-inline:0;padding:.25rem 1.25rem;border-inline-start:3px solid var(--gold)}
.article-body h3,.article-body h4{font-family:'Cormorant Garamond',Georgia,serif;line-height:1.2;color:var(--green)}
.article-body h3{font-size:1.65rem}.article-body h4{font-size:1.3rem}
.article-body hr{border:0;border-top:1px solid var(--line);margin:2rem 0}
.button,.outline{border-radius:6px}
.professional-feature img{display:block;width:100%;height:auto}
.professional-grid,.journal-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.journal-grid .card h2{font-size:clamp(1.6rem,2.7vw,2.5rem)}
.journal-grid{max-width:1050px}
.journal-grid .card>a{display:block;aspect-ratio:16/9;overflow:hidden;background:var(--line)}
.journal-grid .card>a img{width:100%;height:100%;max-width:none;object-fit:cover}
footer .footer-brand-info{display:block}footer .footer-brand-info p{margin:0 0 .3rem}
.socials{display:flex;flex-wrap:wrap;gap:.35rem .9rem;list-style:none;padding:0;margin:0}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
footer .footer-brand{display:block}
footer .footer-brand-info{justify-self:center;text-align:center}
.socials{justify-content:center;gap:.25rem}
.socials a{display:grid;place-items:center;width:42px;height:42px;color:var(--green);border-radius:50%}
.socials a:hover{background:var(--line);color:var(--clay)}
.socials svg{display:block;width:21px;height:21px}
.review-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.review{margin:0;padding:1.3rem;background:#f7efe5;border:1px solid var(--line)}
.review-stars{color:#93482b;letter-spacing:.16em}
.review blockquote{margin:.65rem 0;font-family:'Cormorant Garamond',Georgia,serif;font-size:1.45rem;line-height:1.25}
.review:not([hidden]){display:flex;flex-direction:column;align-items:flex-start}
.review blockquote{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden;white-space:pre-line}
.review figcaption{margin-top:auto}.review .arrow{margin-top:.65rem}
.review-controls:not([hidden]){display:flex;align-items:center;justify-content:flex-end;gap:.8rem;margin-bottom:1rem}
.review-controls button{font-size:1.05rem;cursor:pointer}.review-controls button:disabled{opacity:.4;cursor:default}
#review-dialog{width:min(92vw,660px);max-height:85vh;color:var(--brown);background:var(--cream);border:1px solid var(--line);padding:1.5rem}
#review-dialog::backdrop{background:#24150fb3}#review-dialog form{text-align:right}
#review-author{font-size:2.5rem}#review-text{white-space:pre-line}
footer .footer-end{display:block;text-align:right;margin-inline-start:auto}
footer .footer-end .copyright{margin:.65rem 0 0;color:var(--muted)}
@media(max-width:950px){.journal-grid,.professional-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
form label{display:block;font-weight:600;font-size:.9rem;margin:.85rem 0 .3rem}
form input,form textarea{display:block;width:100%;padding:.65rem .75rem;border:1px solid #a99481;border-radius:2px;background:var(--cream);color:var(--brown);font:inherit}
form textarea{resize:vertical}
form input:focus,form textarea:focus{outline:2px solid var(--green);outline-offset:2px}
form .button{cursor:pointer;font-family:inherit}
form .small{font-size:.8rem}
#confirmation{background:var(--cream);border-left:3px solid var(--green);padding:.65rem .8rem}
.cta{background:var(--green);color:var(--cream);text-align:center;padding:clamp(3rem,6vw,6rem) 1rem}
.cta p{margin:1rem auto;color:#f4ebdf}
.cta .arrow{display:block;margin-top:1rem;color:var(--cream)}
footer{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);border-top:1px solid var(--line)}
footer p{font-size:.83rem}
footer .footer-end>div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.35rem 1rem;font-size:.83rem}
@media(max-width:740px){footer{grid-template-columns:1fr;gap:.8rem}footer .footer-brand-info{grid-row:2}}
@media(max-width:950px){header{flex-wrap:wrap}nav{order:3;width:100%;justify-content:flex-start}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.hero{min-height:530px}.hero-img:after{background:linear-gradient(90deg,#21170ed9,#21170e61)}.outline{margin:.55rem .35rem 0 0}.hero .button{margin-right:.35rem}.split,.grid:not(.service-grid){grid-template-columns:1fr}.benefits{font-size:.72rem;padding-inline:.3rem}.brand img{width:150px}footer{align-items:flex-start;flex-direction:column;gap:.5rem}}

@media(max-width:620px){
  header{gap:.5rem 1rem;padding:.75rem 1rem}
  header nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.2rem;text-align:center}
  header nav a{display:grid;place-items:center;min-height:44px;font-size:.78rem}
  .hero{display:flex;flex-direction:column;align-items:stretch;min-height:0;color:var(--brown)}
  .hero-img{position:relative;inset:auto;aspect-ratio:16/9;height:auto;z-index:auto}
  .hero-img img{object-position:center}
  .hero-img:after{display:none}
  .hero-copy{margin:0;padding:1.35rem 1rem 1.65rem}
  .hero-copy h1{font-size:clamp(2.5rem,9vw,3.6rem);line-height:1.02}
  .hero-copy p{color:var(--muted);margin-bottom:1rem}
  .hero-copy .eyebrow{color:var(--green)}
  .hero-copy .outline{border-color:var(--green);color:var(--green)}
  .hero-copy .button,.hero-copy .outline{margin:.3rem .35rem .3rem 0}
  .benefits{gap:.1rem;padding:.75rem .3rem}
  .benefits .eyebrow{padding:.25rem .2rem;font-size:.65rem;letter-spacing:.04em}
  .service-grid .card h2{font-size:clamp(1.35rem,6vw,2rem);overflow-wrap:anywhere}
  .service-grid .card>div{padding:.7rem}
  .intro h1{font-size:clamp(2.4rem,9vw,3.5rem);overflow-wrap:anywhere}
  .journal-grid{max-width:440px;gap:1.1rem}
  .journal-grid .card>a{aspect-ratio:2/1}
  .journal-grid .card h2{font-size:1.85rem;line-height:1.06}
}


.dah-menu{display:flex;flex-wrap:wrap;gap:.5rem 1.15rem;list-style:none;padding:0;margin:0;grid-column:1/-1}
.dah-menu li{position:relative}.dah-menu .sub-menu{margin:0;padding:.35rem 0 .35rem .8rem;list-style:none}
footer .dah-menu{justify-content:flex-end}
@media(max-width:620px){header .dah-menu{justify-content:center;width:100%}}
