/* Personalised Labs — trustworthy UK premium, navy + gold (design-mockups/personalisedlabs/desktop-v1.png) */

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
body{margin:0;background:#F8F5EF;color:#152238;font-family:"Inter",system-ui,sans-serif;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:"Playfair Display",Georgia,serif;font-weight:500;margin:0}
img{max-width:100%;display:block}
:root{--pl-navy:#152238;--pl-soft:#5b6474;--pl-gold:#B9924C;--pl-line:#E5DFD2;--pl-paper:#F8F5EF}

/* announce */
.pl-announce{display:flex;justify-content:center;gap:.8rem;background:var(--pl-navy);color:#e8e2d4;font-size:.78rem;letter-spacing:.04em;padding:.55rem 1rem}

/* nav */
.pl-nav{display:flex;align-items:center;gap:2rem;max-width:1180px;margin:0 auto;padding:1.1rem 1.4rem}
.pl-nav__brand{display:inline-flex;flex-direction:column;line-height:1.1;color:var(--pl-navy);text-decoration:none}
.pl-nav__brand span{font-family:"Playfair Display",Georgia,serif;font-size:1.05rem;letter-spacing:.18em}
.pl-nav__brand em{font-style:normal;font-size:.6rem;letter-spacing:.34em;color:var(--pl-gold);text-align:center}
.pl-nav__brand--light{color:#f2ecdf}
.pl-nav__links{display:flex;gap:1.7rem;margin-left:auto}
.pl-nav__links a{color:var(--pl-navy);text-decoration:none;font-size:.9rem}
.pl-nav__links a:hover{color:var(--pl-gold)}
.pl-cta{color:var(--pl-navy);text-decoration:none;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--pl-navy);padding:.7rem 1.3rem;transition:background .15s ease,color .15s ease}
.pl-cta:hover{background:var(--pl-navy);color:#fff}
.pl-cta--underline{border:0;padding:.4rem 0;border-bottom:2px solid var(--pl-gold)}
.pl-cta--underline:hover{background:transparent;color:var(--pl-gold)}
@media(max-width:760px){.pl-nav__links{display:none}.pl-nav{justify-content:space-between}}

/* hero */
.pl-hero{position:relative;max-width:1180px;margin:0 auto;border-radius:8px;overflow:hidden;min-height:560px;display:flex;align-items:center}
.pl-hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:72% 30%}
.pl-hero__panel{position:relative;z-index:1;margin:3rem;padding:2.6rem;max-width:24rem;background:rgba(248,245,239,.92);backdrop-filter:blur(3px)}
.pl-hero__panel h1{font-size:clamp(2rem,4.4vw,2.9rem);line-height:1.12}
.pl-hero__panel p{font-size:.98rem;line-height:1.65;color:var(--pl-soft);margin:1rem 0 1.5rem}
@media(max-width:820px){.pl-hero{border-radius:0;min-height:480px}.pl-hero__panel{margin:1.2rem;padding:1.8rem}}

/* proof */
.pl-proof{display:grid;grid-template-columns:minmax(240px,1fr) minmax(320px,1.4fr);gap:3rem;align-items:center;max-width:1180px;margin:0 auto;padding:3.6rem 1.4rem}
.pl-proof__copy h2{font-size:clamp(1.8rem,3.6vw,2.4rem);line-height:1.15}
.pl-rule{display:block;width:3.4rem;height:2px;background:var(--pl-gold);margin:1.1rem 0}
.pl-rule--center{margin:1rem auto 2rem}
.pl-proof__copy p{font-size:.94rem;line-height:1.7;color:var(--pl-soft);max-width:20rem;margin:0}
.pl-proof__pair{display:flex;align-items:center;gap:1.2rem;margin:0}
.pl-proof__card{flex:1;background:#fff;border:1px solid var(--pl-line);padding:.8rem .8rem 0}
.pl-proof__card img{aspect-ratio:1;object-fit:cover;width:100%}
.pl-proof__card figcaption{text-align:center;font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--pl-soft);padding:.7rem 0}
.pl-proof__arrow{color:var(--pl-gold);font-size:1.4rem}
.pl-proof__cta{display:inline-block;margin-top:1.5rem}
@media(max-width:820px){.pl-proof{grid-template-columns:1fr;gap:1.6rem}}

/* story */
.pl-story{max-width:1180px;margin:0 auto;padding:.6rem 1.4rem 1rem;text-align:center}
.pl-story h2{font-size:clamp(1.7rem,3.4vw,2.2rem)}
.pl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;text-align:left}
.pl-card{background:#fff;border:1px solid var(--pl-line);padding:1rem 1rem 1.2rem;text-decoration:none;color:var(--pl-navy);transition:box-shadow .15s ease}
.pl-card:hover{box-shadow:0 16px 40px -24px rgba(21,34,56,.4)}
.pl-card img{aspect-ratio:1;object-fit:cover;width:100%;margin-bottom:1rem}
.pl-card__row{display:flex;justify-content:space-between;align-items:baseline}
.pl-card__row h3{font-size:1.2rem}
.pl-card__row span{color:var(--pl-gold)}
.pl-card__price{font-size:.85rem;color:var(--pl-soft)}
.pl-story__more{margin:1.8rem 0 0}
.pl-story__more a{color:var(--pl-gold);text-decoration:none;font-size:.9rem}
.pl-story__more a:hover{color:var(--pl-navy)}
@media(max-width:900px){.pl-grid{grid-template-columns:1fr}}

/* promise strip */
.pl-promise{display:grid;grid-template-columns:repeat(3,1fr);max-width:1180px;margin:2.6rem auto;border-top:1px solid var(--pl-line);border-bottom:1px solid var(--pl-line)}
.pl-promise>div{display:flex;align-items:center;justify-content:center;gap:1rem;padding:1.6rem 1rem}
.pl-promise>div+div{border-left:1px solid var(--pl-line)}
.pl-promise__ico{font-size:1.5rem}
.pl-promise p{margin:0;font-size:.86rem;line-height:1.45;color:var(--pl-soft)}
.pl-promise strong{color:var(--pl-navy);font-weight:600}
@media(max-width:820px){.pl-promise{grid-template-columns:1fr}.pl-promise>div+div{border-left:0;border-top:1px solid var(--pl-line)}}

/* capture */
.pl-band{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:center;max-width:1180px;margin:0 auto;padding:1rem 1.4rem 3.4rem}
.pl-band h2{font-size:1.5rem;margin-bottom:.4rem}
.pl-band p{margin:0;color:var(--pl-soft);font-size:.9rem;max-width:24rem}
.pl-band__form{display:flex;position:relative}
.pl-band__form input[type=email]{border:1px solid var(--pl-line);border-right:0;background:#fff;padding:.9rem 1.1rem;min-width:260px;font-size:.92rem;font-family:inherit}
.pl-band__form input[type=email]:focus{outline:1px solid var(--pl-gold)}
.pl-band__form button{border:0;background:var(--pl-navy);color:#fff;font-size:.8rem;letter-spacing:.18em;padding:.9rem 1.6rem;cursor:pointer}
.pl-band__form button:hover{background:#0e1728}
.pl-band__msg{position:absolute;top:100%;left:0;font-size:.78rem;color:var(--pl-soft);margin:.35rem 0 0}
.pl-band__msg[data-state=err]{color:#a33}
@media(max-width:820px){.pl-band{grid-template-columns:1fr}}

/* footer */
.pl-footer{background:var(--pl-navy);color:#cfd4de;padding:3rem 1.4rem 1.6rem}
.pl-footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2rem;max-width:1180px;margin:0 auto}
.pl-footer__grid p{font-size:.85rem;line-height:1.65;max-width:20rem;margin-top:1rem;color:#9aa3b5}
.pl-footer h4{font-family:"Playfair Display",Georgia,serif;font-size:1rem;color:#f2ecdf;margin:0 0 .8rem}
.pl-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:.5rem}
.pl-footer a{color:#cfd4de;text-decoration:none;font-size:.86rem}
.pl-footer a:hover{color:var(--pl-gold)}
.pl-footer__base{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.6rem;max-width:1180px;margin:2.4rem auto 0;padding-top:1.3rem;border-top:1px solid rgba(207,212,222,.2);font-size:.78rem;color:#9aa3b5}
.pl-footer__base a{color:var(--pl-gold);text-decoration:none}
@media(max-width:820px){.pl-footer__grid{grid-template-columns:1fr 1fr}}

.skip{position:absolute;left:-9999px}.skip:focus{position:fixed;left:1rem;top:1rem;background:#fff;padding:.6rem 1rem;z-index:99}

/* v3 build-out: occasion tabs, 6-card grid, craft band */
.pl-occas{display:flex;gap:.4rem;justify-content:center;flex-wrap:wrap;margin:1.6rem 0 2rem}
.pl-occ{border:1px solid var(--pl-line);background:#fff;color:var(--pl-soft);font-family:inherit;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;padding:.55rem 1.2rem;cursor:pointer}
.pl-occ:hover{color:var(--pl-navy)}
.pl-occ.is-on{background:var(--pl-navy);border-color:var(--pl-navy);color:#f2ecdf}
@media(min-width:901px){.pl-grid{grid-template-columns:repeat(3,1fr)}}
.pl-craft{display:grid;grid-template-columns:1fr 1.4fr;gap:2.4rem;align-items:center;max-width:1180px;margin:3rem auto 0;padding:0 1.4rem}
.pl-craft__art{margin:0}
.pl-craft__art img{width:100%;display:block;border-radius:2px}
.pl-craft h2{font-family:"Playfair Display",Georgia,serif;font-size:clamp(1.5rem,3vw,2.1rem);margin-bottom:.7rem}
.pl-craft p{color:var(--pl-soft);max-width:34rem;margin:0 0 1.4rem;line-height:1.65}
.pl-craft__row{display:flex;gap:2.2rem;flex-wrap:wrap;font-size:.86rem;color:var(--pl-soft)}
.pl-craft__row strong{color:var(--pl-navy)}
@media(max-width:820px){.pl-craft{grid-template-columns:1fr}}
