/* ============================================================
   PRECISE FUMES — Sections (home / about / contact)
   ============================================================ */

/* Section heading block */
.pf-head{ max-width:680px; }
.pf-head--center{ margin-inline:auto; text-align:center; }
.pf-head h2{ font-size:clamp(2.2rem,5vw,3.6rem); margin:.35em 0 0; }
.pf-head p{ margin-top:1em; color:var(--pf-fg-soft); font-size:1.02rem; line-height:1.7; }
.pf-dark .pf-head p{ color:rgba(243,239,233,.66); }

/* Product grid + card body (shared with shop) */
.pf-grid{ display:grid; gap:26px 22px; }
.pf-grid--3{ grid-template-columns:repeat(3,1fr); }
.pf-grid--4{ grid-template-columns:repeat(4,1fr); }
.pf-card{ display:block; text-decoration:none; color:inherit; }
.pf-card__body{ padding-top:16px; }
.pf-card__name{ font-family:var(--pf-serif); font-weight:400; font-size:1.4rem; margin:0; }
.pf-card__mood{ margin:.25em 0 0; font-size:.72rem; text-transform:uppercase; letter-spacing:.16em; color:var(--pf-gold-deep); }
.pf-card__foot{ margin-top:14px; display:flex; align-items:center; justify-content:space-between; }
.pf-card__price{ font-family:var(--pf-serif); font-size:1.15rem; }
.pf-card__price .amount{ font-family:var(--pf-serif); }
.pf-card__cta{ font-size:.7rem; text-transform:uppercase; letter-spacing:.18em; color:var(--pf-fg-soft); transition:color .3s; }
.pf-card:hover .pf-card__cta{ color:var(--pf-gold-deep); }
.pf-bottle{ width:100%; height:100%; display:block; }
@media (max-width:880px){ .pf-grid--3,.pf-grid--4{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:520px){ .pf-grid--3,.pf-grid--4{ grid-template-columns:1fr; } }

/* THE HOUSE — 3 numbered pillars */
.pf-house{ }
.pf-pillars{ margin-top:54px; display:grid; grid-template-columns:repeat(3,1fr); gap:46px; }
.pf-pillar{ border-top:1px solid var(--pf-line); padding-top:26px; }
.pf-dark .pf-pillar{ border-color:var(--pf-line-invert); }
.pf-pillar__num{ font-family:var(--pf-serif); font-size:2.6rem; color:var(--pf-gold-deep); line-height:1; }
.pf-pillar h3{ font-size:1.5rem; margin:.5em 0 .4em; }
.pf-pillar p{ color:var(--pf-fg-soft); font-size:.96rem; line-height:1.7; }
.pf-dark .pf-pillar p{ color:rgba(243,239,233,.62); }
@media (max-width:880px){ .pf-pillars{ grid-template-columns:1fr; gap:30px; } }

/* THE PALETTE — family tiles */
.pf-palette-grid{ margin-top:48px; display:grid; grid-template-columns:repeat(5,1fr); gap:14px; }
.pf-fam-tile{ position:relative; aspect-ratio:3/4; border-radius:var(--pf-radius); overflow:hidden; display:flex; align-items:flex-end; padding:20px; text-decoration:none; color:#f3efe9; isolation:isolate; }
.pf-fam-tile::before{ content:""; position:absolute; inset:0; z-index:-1; transition:transform .8s var(--pf-ease); }
.pf-fam-tile:hover::before{ transform:scale(1.06); }
.pf-fam-tile span{ font-family:var(--pf-serif); font-size:1.4rem; letter-spacing:.04em; }
.pf-fam--Oud::before{ background:linear-gradient(160deg,#2a2018,#0a0a0a); }
.pf-fam--Floral::before{ background:linear-gradient(160deg,#3a2230,#0a0a0a); }
.pf-fam--Citrus::before{ background:linear-gradient(160deg,#2c3220,#0a0a0a); }
.pf-fam--Amber::before{ background:linear-gradient(160deg,#332313,#0a0a0a); }
.pf-fam--Musk::before{ background:linear-gradient(160deg,#26282b,#0a0a0a); }
@media (max-width:880px){ .pf-palette-grid{ grid-template-columns:repeat(2,1fr); } }

/* STATS — counters */
.pf-stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:30px; text-align:center; }
.pf-stat__label{ font-size:.72rem; text-transform:uppercase; letter-spacing:.18em; color:var(--pf-fg-soft); }
.pf-dark .pf-stat__label{ color:rgba(243,239,233,.6); }
@media (max-width:760px){ .pf-stats{ grid-template-columns:repeat(2,1fr); gap:40px 20px; } }

/* OLFACTORY PYRAMID */
.pf-pyramid{ margin-top:50px; display:grid; gap:22px; max-width:820px; margin-inline:auto; }
.pf-pyramid__row{ text-align:center; padding:26px; border:1px solid var(--pf-line); border-radius:var(--pf-radius); }
.pf-dark .pf-pyramid__row{ border-color:var(--pf-line-invert); }
.pf-pyramid__row h4{ font-family:var(--pf-sans); font-size:.72rem; text-transform:uppercase; letter-spacing:.2em; color:var(--pf-gold-deep); margin:0; }
.pf-pyramid__row .desc{ font-style:italic; font-family:var(--pf-serif); font-size:1.15rem; margin:.5em 0 1em; color:var(--pf-fg-soft); }
.pf-dark .pf-pyramid__row .desc{ color:rgba(243,239,233,.7); }
.pf-pyramid__row--top{ max-width:560px; margin-inline:auto; }
.pf-pyramid__row--heart{ max-width:690px; margin-inline:auto; }
.pf-pyramid__row--base{ max-width:820px; }

/* CTA band */
.pf-cta{ text-align:center; }
.pf-cta h2{ font-size:clamp(2.4rem,6vw,4.4rem); }
.pf-cta p{ max-width:46ch; margin:1.2em auto 2em; color:rgba(243,239,233,.66); }

/* ABOUT */
.pf-about-hero{ text-align:center; }
.pf-about-hero h1{ font-size:clamp(2.6rem,7vw,5.5rem); }
.pf-prose{ max-width:680px; margin-inline:auto; }
.pf-prose p{ font-size:1.08rem; line-height:1.9; color:var(--pf-fg-soft); margin-bottom:1.4em; }
.pf-prose .lead{ font-family:var(--pf-serif); font-style:italic; font-size:1.5rem; color:var(--pf-fg); line-height:1.6; }
.pf-quote{ font-family:var(--pf-serif); font-weight:300; font-size:clamp(1.8rem,4.5vw,3rem); line-height:1.4; text-align:center; max-width:18ch; margin:0 auto; }
.pf-quote .pf-italic{ font-style:italic; }

/* CONTACT */
.pf-contact-grid{ display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:start; }
.pf-contact__meta dt{ font-size:.72rem; text-transform:uppercase; letter-spacing:.18em; color:var(--pf-gold-deep); margin-top:24px; }
.pf-contact__meta dd{ margin:.4em 0 0; font-size:1.05rem; }
.pf-contact__meta a{ color:inherit; }
.pf-form{ display:grid; gap:18px; }
.pf-form label{ display:block; font-size:.7rem; text-transform:uppercase; letter-spacing:.16em; color:var(--pf-fg-soft); margin-bottom:8px; }
.pf-form input,.pf-form textarea{ width:100%; padding:14px 16px; border:1px solid var(--pf-line); border-radius:var(--pf-radius); background:transparent; font-family:var(--pf-sans); font-size:.98rem; color:var(--pf-fg); transition:border-color .3s; }
.pf-form input:focus,.pf-form textarea:focus{ outline:none; border-color:var(--pf-gold-deep); }
.pf-form textarea{ min-height:150px; resize:vertical; }
@media (max-width:760px){ .pf-contact-grid{ grid-template-columns:1fr; gap:36px; } }

/* LEGAL / POLICY pages */
.pf-legal{ padding-top:140px; padding-bottom:60px; }
.pf-legal__head{ text-align:center; margin-bottom:54px; }
.pf-legal__head h1{ font-family:var(--pf-serif); font-weight:300; font-size:clamp(2.2rem,5.5vw,3.6rem); margin:0; }
.pf-legal__head p{ color:var(--pf-fg-soft); margin-top:12px; font-size:.72rem; text-transform:uppercase; letter-spacing:.2em; }
.pf-legal__body{ max-width:760px; margin-inline:auto; }
.pf-legal__body h2{ font-family:var(--pf-serif); font-weight:400; font-size:1.55rem; margin:2em 0 .5em; }
.pf-legal__body p, .pf-legal__body li{ color:var(--pf-fg-soft); line-height:1.85; font-size:1rem; }
.pf-legal__body ul{ padding-left:1.2em; margin:.4em 0 1.2em; }
.pf-legal__body li{ margin-bottom:.4em; }
.pf-legal__body a{ color:var(--pf-gold-deep); }
.pf-legal__body strong{ color:var(--pf-fg); font-weight:500; }

/* generic two-col intro */
.pf-split2{ display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
@media (max-width:880px){ .pf-split2{ grid-template-columns:1fr; gap:30px; } }
