/* Graphic Reflections (DBA Satin Stitches by Sheri): a stitch sampler in a hoop. Linen paper, her logo's teal ink,
   violet and orange (her brand, 10/6), wooden hoops, two-tone satin-stitch borders. The kit carries the plumbing. */
body.gr2{font-family:var(--sans);font-size:17.5px;line-height:1.7;background:var(--paper);color:var(--body);font-variant-numeric:lining-nums}
body.gr2 h1,body.gr2 h2,body.gr2 h3{font-family:var(--serif);color:var(--ink);font-weight:400;letter-spacing:-.005em}
.ed{line-height:1.08;text-wrap:balance;padding-bottom:.2em}
.ed em{font-style:italic;color:var(--accent-txt)}
h2.ed{font-size:clamp(2.4rem,4.6vw,4.2rem);margin:0 0 16px}
.kick{font-size:15px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--accent-txt);margin:0 0 16px}
.lede{color:var(--muted)}
.center-tx{text-align:center}
.btns{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:28px}.btns.center{justify-content:center}
figure{margin:0}
figcaption{font-size:15px;color:var(--muted);margin-top:8px}
.tlink{font-weight:700;color:var(--ink);display:inline-flex;align-items:center;min-height:44px}
.tlink.q{color:var(--accent-txt);text-decoration-thickness:2px;text-underline-offset:5px}
/* the satin stitch: a run of short slanted bars, used as a border */
.stitch,.sampler::before,.gfoot::before{background:repeating-linear-gradient(115deg,var(--accent) 0 3px,transparent 3px 7px)}
.btn.gbtn{display:inline-flex;align-items:center;justify-content:center;background:var(--ink);color:#FBF9F5;border:1px solid var(--ink);border-radius:var(--btn-r);padding:16px 28px;min-height:52px;
  font-family:var(--sans);font-size:16px;font-weight:700;letter-spacing:.04em;text-decoration:none;box-shadow:var(--lift-1,0 8px 20px -14px rgba(var(--shade),.6));transition:background-color .3s var(--ease-out,ease),transform .3s var(--ease-out,ease)}
.btn.gbtn:hover{background:var(--accent);border-color:var(--accent);transform:translateY(-2px)}

/* ── the hoop: a wooden ring with the fabric pulled taut inside ── */
.hoop{display:inline-grid;place-items:center;width:72px;height:72px;border-radius:50%;background:radial-gradient(circle,var(--paper-2) 58%,transparent 59%),conic-gradient(var(--wood),#E3C9A0,var(--wood-dk),var(--wood),#E3C9A0,var(--wood));
  box-shadow:inset 0 0 0 2px rgba(0,0,0,.08),0 8px 16px -10px rgba(var(--shade),.55);flex:0 0 auto}
.hoop i{display:block;width:62%;height:62%;border-radius:50%;background:repeating-linear-gradient(115deg,var(--accent) 0 2px,transparent 2px 5px);opacity:.85}
.hoop.sm{width:46px;height:46px}

/* ── header ── */
.nav.gr{position:sticky;top:0;z-index:90;background:rgba(245,241,234,.93);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav.gr .nav-in{display:flex;align-items:center;gap:30px;height:var(--nav-h)}
.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;flex:0 0 auto;min-height:44px}
.bw{display:grid;line-height:1}
.bw b{font-family:var(--serif);font-size:30px;font-weight:400;font-style:italic}
.bw span{font-size:12.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-txt);margin-top:6px}
.nav.gr .nlinks{display:flex;gap:28px;margin-left:8px}
.nav.gr .nlinks a{position:relative;display:inline-flex;align-items:center;min-height:44px;font-size:17px;font-weight:600;color:var(--ink);text-decoration:none}
.nav.gr .nlinks a::after{content:'';position:absolute;left:0;right:100%;bottom:8px;height:3px;background:repeating-linear-gradient(115deg,var(--accent) 0 2px,transparent 2px 5px);transition:right .35s var(--ease-out,ease)}
.nav.gr .nlinks a:hover::after,.nav.gr .nlinks a[aria-current]::after{right:0}
.nav.gr .ncta{margin-left:auto;display:flex;align-items:center;gap:22px}
.nav.gr .nphone{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;min-height:44px;font-size:17px;font-weight:700;color:var(--ink);text-decoration:none;line-height:1.15}
.nav.gr .nphone span{font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent-txt);margin-bottom:3px}
.nav.gr .btn.gbtn{padding:13px 22px;font-size:15px}
@media(max-width:1180px){.nav.gr .nlinks,.nav.gr .nphone{display:none}.nav.gr .menubtn{display:inline-flex}}
@media(max-width:640px){:root{--nav-h:78px}.bw b{font-size:23px}.bw span{font-size:11px;letter-spacing:.08em}.hoop.sm{width:38px;height:38px}.nav.gr .ncta .btn.gbtn{display:none}}

/* ── hero: the headline with her work tucked between the words ── */
body.gr2 [data-hero="tucked"] h1{--hx-fs:clamp(3rem,9.4vw,10.4rem);font-family:var(--serif);font-weight:400;text-transform:none;letter-spacing:-.02em;--hx-lh:.98}
body.gr2 .hx-tuck{background:linear-gradient(180deg,var(--paper) 0%,var(--paper-2) 100%)}
body.gr2 .hx-tuck .hx-chip{width:1.25em;height:.86em}
body.gr2 .hx-tuck .hx-chip img{border-radius:50%;box-shadow:0 0 0 6px var(--wood),0 0 0 9px var(--wood-dk),0 18px 30px -16px rgba(var(--shade),.6)}
body.gr2 .hx-tuck .hx-line:nth-child(2){padding-left:.6em}
body.gr2 .hx-tuck .hx-line:nth-child(3) span:first-child{font-style:italic;color:var(--accent-txt)}
body.gr2 .hx-tuck .hx-k{font-size:15px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--accent-txt)}
body.gr2 .hx-btn{background:var(--ink)}

/* ── the Best of Elkton ribbon ── */
.ribbon{background:var(--ink);color:#FBF9F5;padding:30px 0;position:relative}
.ribbon-in{display:grid;grid-template-columns:auto repeat(3,minmax(0,1fr));gap:20px 40px;align-items:center}
.plaque img{display:block;width:84px;height:auto;box-shadow:0 10px 20px -10px rgba(0,0,0,.6)}
.rb-big{font-family:var(--serif);font-size:1.7rem;margin:0;line-height:1.1;color:#FBF9F5}
.rb-sm{margin:4px 0 0;font-size:15.5px;color:rgba(251,249,245,.9)}
@media(max-width:900px){.ribbon-in{grid-template-columns:auto 1fr}.ribbon-in .rb-tx:nth-child(n+3){grid-column:2}}

/* ── THE SIGNATURE MOMENT: five hoops on the sampler ── */
.sampler{position:relative;padding:clamp(80px,10vw,140px) 0;background:var(--paper-2)}
.sampler::before{content:'';position:absolute;left:0;right:0;top:0;height:6px}
.sp-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:20px 60px;align-items:end;margin-bottom:40px}
.sp-head h2{margin:0}
.hoops{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-bottom:34px}
.mpr{position:absolute;opacity:0;width:1px;height:1px}
.hoops label{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:18px 10px;cursor:pointer;border-radius:4px;transition:background-color .3s var(--ease-out,ease)}
.hoops .hoop{width:96px;height:96px;transition:transform .45s var(--ease-out,ease)}
.hn{font-family:var(--serif);font-size:1.45rem;color:var(--ink);line-height:1.1}
.ht{font-size:15px;color:var(--muted)}
.hoops label:hover .hoop{transform:rotate(-12deg)}
.mpr:checked+label{background:var(--stone)}
.mpr:checked+label .hoop{transform:scale(1.08);box-shadow:0 0 0 3px var(--paper-2),0 0 0 5px var(--accent),0 12px 20px -10px rgba(var(--shade),.6)}
.mpr:checked+label .hn{color:var(--accent-txt)}
.mpr:focus-visible+label{outline:3px solid var(--accent-lt);outline-offset:2px}
.sp-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:start;animation:spIn .5s var(--ease-out,ease)}
.sp-ph{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.sp-ph figure:nth-child(2){margin-top:44px}
.sp-ph img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}
.sp-tx h3{font-size:clamp(2rem,3.2vw,3rem);margin:0 0 12px}
.best{list-style:none;margin:20px 0 0;padding:0;border-top:1px solid var(--line)}
.best li{position:relative;padding:12px 0 12px 30px;border-bottom:1px solid var(--line);font-weight:600;color:var(--ink)}
.best li::before{content:'';position:absolute;left:0;top:50%;width:18px;height:5px;margin-top:-2px;background:repeating-linear-gradient(115deg,var(--accent) 0 2px,transparent 2px 4px)}
.lad-k{margin:26px 0 10px;font-size:15px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-txt)}
@keyframes spIn{from{opacity:.4;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.sp-card{animation:none}.hoops .hoop{transition:none}}
@media(max-width:1000px){.hoops{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:860px){.sp-card,.sp-head{grid-template-columns:1fr}}
@media(max-width:560px){.hoops{grid-template-columns:repeat(2,minmax(0,1fr))}.hoops .hoop{width:76px;height:76px}}

/* ── the DTF ladder, set like a price ticket ── */
.ladder{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:2px solid var(--ink);background:var(--paper)}
.rung{padding:18px 16px;display:grid;gap:2px}
.rung+.rung{border-left:1px dashed var(--line)}
.rn{margin:0;font-weight:700;color:var(--ink);font-size:16px}
.rn span{display:inline-block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#FBF9F5;background:var(--accent);padding:2px 6px;margin-left:4px;vertical-align:middle}
.rr{margin:0;font-size:15px;color:var(--muted)}
.rp{margin:6px 0 0;font-family:var(--serif);font-size:2.6rem;line-height:1;color:var(--accent-txt)}
.rs{margin:0;font-size:15px;color:var(--body)}
@media(max-width:620px){.ladder{grid-template-columns:1fr}.rung+.rung{border-left:0;border-top:1px dashed var(--line)}}

/* ── reviews ── */
.said{padding:clamp(80px,10vw,140px) 0;background:var(--stone)}
.said-in{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(30px,5vw,80px);align-items:start}
.lead-q blockquote{margin:0}
.hangq{font-family:var(--serif);font-style:italic;font-size:clamp(1.6rem,2.6vw,2.2rem);line-height:1.32;color:var(--ink);margin:0}
.lead-q figcaption,.sq figcaption{margin-top:14px;font-size:15px;font-weight:700;color:var(--accent-txt)}
.stars{color:var(--accent);letter-spacing:2px}
.said-r{display:grid;gap:0;border-top:2px solid var(--ink)}
.sq{padding:22px 0;border-bottom:1px solid var(--line)}
.sq blockquote{margin:0}.sq p{margin:0;font-size:16.5px;color:var(--body)}
.said.all .rv{columns:2 380px;column-gap:44px;margin-top:30px}
.said.all .sq{break-inside:avoid;padding:22px 24px;background:var(--paper-2);border:0;margin:0 0 22px;border-top:3px solid var(--accent)}
@media(max-width:860px){.said-in{grid-template-columns:1fr}}

/* ── the wall: work in round hoops ── */
.wallsec{padding:clamp(80px,10vw,140px) 0;background:var(--paper)}
.hoopwall{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px 24px;margin-top:34px}
.hw{text-align:center}
.hw img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:50%;box-shadow:0 0 0 7px var(--wood),0 0 0 10px var(--wood-dk),0 18px 30px -18px rgba(var(--shade),.6);transition:transform .5s var(--ease-out,ease)}
.hw:hover img{transform:rotate(-4deg)}
.hw figcaption{margin-top:20px;font-size:15px}
@media(max-width:900px){.hoopwall{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ── services, dtf, story ── */
.svcs,.dtf,.story{padding:clamp(80px,10vw,140px) 0}
.svcs{background:var(--paper)}
.svc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.svc{scroll-margin-top:110px}
.svc img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}
.svc h3{font-size:1.75rem;margin:16px 0 6px}
.svc p{margin:0;font-size:16.5px}
.more-cta{margin:40px 0 0;font-size:17.5px;color:var(--body)}
@media(max-width:900px){.svc-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.svc-grid{grid-template-columns:1fr}}
.dtf{background:var(--paper-2)}
.dtf-in{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:clamp(30px,5vw,80px);align-items:start}
.dtf-notes h3{font-size:1.8rem;margin:0 0 6px}
@media(max-width:860px){.dtf-in{grid-template-columns:1fr}}
.story{background:var(--paper-2)}
.story-in{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:clamp(30px,5vw,80px);align-items:center}
.plaque.big img{width:min(300px,100%);transform:rotate(2deg)}
@media(max-width:860px){.story-in{grid-template-columns:1fr}}

/* ── close + form ── */
.close{padding:clamp(80px,10vw,140px) 0;background:var(--paper-2);border-top:1px solid var(--line)}
.close-in{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,6vw,90px);align-items:start}
.ci{display:grid;gap:2px;margin:0 0 18px;font-size:18px;font-weight:600;color:var(--ink)}
.ci span{font-size:13px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--accent-txt)}
.ci a{color:var(--ink);text-decoration-color:var(--accent-lt);text-underline-offset:4px;display:inline-block;padding:8px 0;margin:-8px 0}
.gform{background:var(--paper);border:1px solid var(--line);padding:clamp(24px,3.4vw,44px);box-shadow:var(--lift-2,0 30px 60px -44px rgba(var(--shade),.5));position:relative}
.gform::before{content:'';position:absolute;left:0;right:0;top:-1px;height:6px;background:repeating-linear-gradient(115deg,var(--accent) 0 3px,transparent 3px 7px)}
.gform .frow{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.gform .fld label{font-size:13.5px;letter-spacing:.14em;color:var(--ink-2);font-weight:700}
.gform .fld input,.gform .fld textarea{background:#FFFEFB;border:1px solid var(--line);border-radius:2px;padding:14px;font-size:17px}
.gform .btn.gbtn{width:100%;margin-top:6px}
.fnote{margin:16px 0 0;text-align:center;color:var(--muted);font-size:16px}
.fnote a{color:var(--ink);font-weight:700}
@media(max-width:860px){.close-in{grid-template-columns:1fr}}
@media(max-width:560px){.gform .frow{grid-template-columns:1fr}}

/* ── page heads ── */
.ghead{padding:clamp(56px,7vw,100px) 0 clamp(44px,5vw,70px);background:var(--paper);border-bottom:1px solid var(--line)}
.ghead-in{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:clamp(30px,5vw,80px);align-items:center}
body.gr2 .ghead h1{font-size:clamp(2.8rem,5.6vw,5.4rem);margin:0 0 14px}
.ghead .sub{font-size:1.15rem;color:var(--muted);max-width:50ch;margin:0}
.ghead-ph img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:50%;box-shadow:0 0 0 9px var(--wood),0 0 0 13px var(--wood-dk),0 24px 40px -22px rgba(var(--shade),.6)}
.crumbs{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-txt);margin:0 0 14px}
.crumbs a{color:var(--ink);text-decoration:none;display:inline-flex;align-items:center;min-height:44px}
@media(max-width:800px){.ghead-in{grid-template-columns:1fr}.ghead-ph{max-width:280px}}

/* ── footer ── */
.gfoot{position:relative;background:var(--stone);padding:80px 0 120px}
.gfoot::before{content:'';position:absolute;left:0;right:0;top:0;height:6px}
.gf-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
.gf-brand p{margin:16px 0 0;max-width:36ch}
.gfoot h4{font-family:var(--sans);font-size:13.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent-txt);margin:0 0 14px}
.gfoot p{margin:0 0 8px}
.gfoot a:not(.btn):not(.brand){color:var(--ink);font-weight:600;text-decoration:none;display:inline-block;padding:10px 0;margin:-10px 0}
.gfoot .btn.gbtn{margin-top:12px;padding:13px 20px;font-size:15px}
.gf-bot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:56px;padding-top:22px;border-top:1px solid var(--line);font-size:14.5px}
@media(max-width:900px){.gf-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.gf-grid{grid-template-columns:1fr}}
.err404{padding:160px 0}
.bookbar .b1{background:var(--ink)!important;border-color:var(--ink)!important;color:#FBF9F5!important}
body.gr2 .hx-tuck .hx-chip{width:.92em;height:.92em}
/* gate fixes */
.svc h3{margin-bottom:12px}
@media(max-width:400px){.bw span{display:none}.bw b{font-size:21px}}
body.gr2 .hx-tuck .hx-chip img,body.gr2 .hx-tuck .hx-chip picture{box-shadow:0 0 0 6px var(--wood),0 0 0 9px var(--wood-dk),var(--lift-2,0 14px 26px -16px rgba(var(--shade),.45))}
body.gr2 .hx-tuck .hx-chip picture{box-shadow:none}
.plaque.big img,.plaque img{box-shadow:var(--lift-2,0 14px 26px -16px rgba(var(--shade),.45))}
.hoopwall .hw:nth-child(3n+2) img{aspect-ratio:4/5;border-radius:50%/42%}
.hoopwall .hw:nth-child(4n) img{aspect-ratio:5/4;border-radius:50%/56%}
.sp-ph figure:nth-child(2) img{aspect-ratio:3/4}

/* ── LUXURY PASS (10/1 night) ── */
body.gr2 .ribbon .rb-big{color:#FBF9F5}
body.gr2 .ribbon .rb-sm{color:rgba(251,249,245,.88)}
.ribbon{padding:36px 0}
.rb-tx{padding-left:28px;border-left:1px solid rgba(251,249,245,.22)}
/* the hoop wall: round and tall-oval hoops alternate, like a real hoop rack */
.hoopwall{align-items:center}
.hoopwall .hw img{aspect-ratio:1;border-radius:50%}
.hoopwall .hw:nth-child(3n+2) img,.hoopwall .hw:nth-child(4n) img{aspect-ratio:1;border-radius:50%}
.hoopwall .hw:nth-child(even) img{aspect-ratio:4/5;border-radius:50%}
/* folded type scale */
.lede,.sp-tx>p,.svc p,.story .lede{font-size:17.5px}
figcaption,.fnote,.more-cta,.rs,.rr,.ht{font-size:15px}
.kick,.ci span,.gfoot h4,.gform .fld label,.crumbs,.lad-k,.nav.gr .nphone span{font-size:13.5px}
body.gr2 .gfoot h4{letter-spacing:.2em!important}
a,button{transition-duration:.3s}
.more-cta{max-width:62ch}
.kick,p.kick{font-size:15px}

/* ── BRAND PASS (2026-10-06): her violet and orange, from her logo, at her ask ── */
/* the satin stitch, two-tone like her logo: orange bars with a violet bar between */
.stitch,.sampler::before,.gfoot::before,.gform::before{background:repeating-linear-gradient(115deg,var(--accent) 0 3px,transparent 3px 6px,var(--violet) 6px 9px,transparent 9px 12px)}
.hoop i{background:repeating-linear-gradient(115deg,var(--accent) 0 2px,transparent 2px 4px,var(--violet) 4px 6px,transparent 6px 8px);opacity:.95}
.nav.gr .nlinks a::after{background:repeating-linear-gradient(115deg,var(--accent) 0 2px,transparent 2px 4px,var(--violet) 4px 6px,transparent 6px 8px)}
.ed em,body.gr2 .hx-tuck .hx-line:nth-child(3) span:first-child{color:var(--violet)}
.btn.gbtn,body.gr2 .hx-btn{background:var(--btn);border-color:var(--btn);color:#FBF9F5}
.btn.gbtn:hover,body.gr2 .hx-btn:hover{background:var(--btn-hot);border-color:var(--btn-hot)}
.bookbar .b1{background:var(--btn)!important;border-color:var(--btn)!important}
/* the Best of Elkton ribbon: her violet, stitched in orange top and bottom */
.ribbon{background:var(--btn)}
.ribbon::before,.ribbon::after{content:'';position:absolute;left:0;right:0;height:5px;background:repeating-linear-gradient(115deg,var(--accent) 0 3px,transparent 3px 7px)}
.ribbon::before{top:8px}.ribbon::after{bottom:8px}
body.gr2 .ribbon .rb-sm{color:#FBF9F5}
.rb-tx{border-left-color:rgba(251,249,245,.3)}
.rn span{background:var(--accent-txt)}
.stars{color:var(--orange-deep)}
.mpr:checked+label .hoop{box-shadow:0 0 0 3px var(--paper-2),0 0 0 5px var(--violet),0 12px 20px -10px rgba(var(--shade),.6)}
.said.all .sq{border-top-color:var(--violet)}
@media(max-width:400px){.bw b{font-size:19px}}
@media(max-width:340px){.bw b{font-size:17.5px}.brand{gap:9px}}
/* the logo in the headline: "bold" in her orange, "statements." in her violet */
body.gr2 .hx-tuck .hx-line:nth-child(2)>span:not(.hx-chip){color:var(--orange-big)}
/* the DBA shows on phones too (her ask: both names) */
@media(max-width:400px){.bw span{display:block;font-size:11px;letter-spacing:.06em;margin-top:5px}}
@media(max-width:340px){.bw span{display:none}}

/* 2026-10-07: iPhone Safari hung the "(" of a phone number outside the link (finish.css hanging-punctuation): it ate the space before an in-sentence number and pulled footer numbers left. */
a[href^="tel:"]{hanging-punctuation:none}

/* ── PHOTO PASS (2026-10-09): the photographs Sheri emailed, each under the method she named ── */
/* six hoops (appliqué and 3D joined the five): six, three, two across, so no hoop is ever stranded */
.hoops{grid-template-columns:repeat(6,minmax(0,1fr))}
@media(max-width:1000px){.hoops{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){.hoops{grid-template-columns:repeat(2,minmax(0,1fr))}}
.hn{text-wrap:balance}
/* a sample is rows: a pair of portrait tiles (the second set lower), or one landscape photograph */
.sp-ph{grid-template-columns:1fr;gap:26px}
.sp-row{display:grid;gap:16px;align-items:start}
.sp-pair{grid-template-columns:1fr 1fr}
.sp-ph .sp-wide img{aspect-ratio:3/2}
.sp-ph figcaption,.dtf-trio figcaption{margin-top:10px;line-height:1.45}
/* the words stay beside a tall sample while it scrolls past */
@media(min-width:861px){.sp-tx{position:sticky;top:calc(var(--nav-h) + 28px)}}
/* DTF page: three pressed pieces. Three across, then one: never two, which strands the third */
.dtf-done{padding:clamp(80px,10vw,140px) 0;background:var(--paper)}
.dtf-trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:34px}
.dtf-trio img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}
@media(max-width:700px){.dtf-trio{grid-template-columns:1fr;max-width:440px}}

/* ── CONTRACT WORK (2026-10-09, her text: "Christiana Care is the contract job as well as the DSHA") ── */
.ctr{padding:clamp(80px,10vw,140px) 0;background:var(--paper-2);scroll-margin-top:110px}
.ctr-in{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(30px,5vw,80px);align-items:center}
.ctr-ph{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
.ctr-ph img{display:block;width:100%;aspect-ratio:1;object-fit:cover}
.ctr-ph figcaption{margin-top:10px;line-height:1.45}
@media(max-width:860px){.ctr-in{grid-template-columns:1fr}}

/* ── GO-LIVE PARITY (2026-10-09): what her current site has that this one must keep ── */
/* her two policy pages: plain reading pages, one measure wide */
.pol{padding:clamp(56px,7vw,100px) 0 clamp(80px,10vw,140px);background:var(--paper)}
.pol-in{max-width:74ch}
body.gr2 .pol h1{font-size:clamp(2.4rem,4.6vw,4.2rem);margin:0 0 12px}
.pol-date{margin:0 0 26px;font-size:15px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-txt)}
body.gr2 .pol h2{font-size:clamp(1.7rem,2.4vw,2.1rem);line-height:1.2;margin:46px 0 14px}
body.gr2 .pol h3{font-size:1.4rem;line-height:1.25;margin:28px 0 12px}   /* the gate: 6px under a heading reads as cramped */
.pol p{margin:0 0 14px}
.pol ul{margin:6px 0 16px;padding-left:24px}
.pol li{margin:6px 0;padding-left:4px}
.pol li::marker{color:var(--accent)}
/* the shop link under a sample, and the links inside the contract band */
.sp-more{margin:22px 0 0}
.sp-more a,.ctr-tx .lede a{color:var(--accent-txt);font-weight:700;text-decoration-thickness:2px;text-underline-offset:4px;display:inline-block;padding:8px 0;margin:-8px 0}
/* the policy links in the footer's last row */
.gf-pol{display:flex;flex-wrap:wrap;gap:6px 22px}

/* ── GO-LIVE SEO PASS (2026-10-09): DTF questions + the contact note, at the site's reading sizes ── */
.dtf-q{padding:clamp(56px,7vw,100px) 0;background:var(--paper)}
.dtf-q-in{max-width:880px}
body.gr2 .dtf-q .faq{margin-top:22px}
body.gr2 .dtf-q .faq summary{font-size:1.25rem;line-height:1.35;font-weight:600;color:var(--ink,#00404F)}
body.gr2 .dtf-q .faq .ans{font-size:17.5px;line-height:1.65;color:var(--txt-2,#3A3F45);max-width:68ch}
body.gr2 .send-what{font-size:17px;line-height:1.6;margin:18px 0 0;max-width:46ch;color:var(--txt-2,#3A3F45)}
/* the keyword line inside each money page's H1 (10/9 go-live): the eyebrow's own look, on its own line above the headline */
body.gr2 h1 .kw{display:block;font-family:var(--cond);font-weight:600;font-size:14.5px;line-height:1.5;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-txt);text-shadow:none;margin:0 0 18px;padding:0;text-wrap:wrap}
body.gr2 .hx-tuck h1 .kw{margin:0 0 18px}
body.gr2 .gf-brand p a{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
@media(max-width:600px){body.gr2 h1 .kw{letter-spacing:.06em}}
/* in-sentence links on the contact note: the same 44px tap target as the contract band's links */
body.gr2 .send-what a{color:var(--accent-txt);font-weight:700;text-decoration-thickness:2px;text-underline-offset:4px;display:inline-block;padding:9px 0;margin:-9px 0}
body.gr2 h1 .nw{white-space:nowrap}   /* keeps "Sheri makes." together: no one-word last line */
