/*
Theme Name: Linda & co Child
Theme URI: https://lindaco.fi
Description: Moderni feminiininen parturi-kampaamo-ulkoasu — Dusty Rose & Mauve, lämmin ja tyylikäs.
Author: Linda & co
Template: astra
Version: 3.0.0
Text Domain: linda-co-child
*/

:root{
    --bg:#ffffff;
    --bg-2:#FBF6F6;
    --cream:#FBF6F6;
    --paper:#ffffff;
    --ink:#3D2424;
    --ink-soft:#5C3F3F;
    --ink-mute:#8B6F6F;
    --line:rgba(61,36,36,.10);
    --line-light:rgba(61,36,36,.10);
    --p-50:#FAF3F3;
    --p-100:#F3E0E0;
    --p-200:#E5C0C0;
    --p-300:#D4A0A0;
    --p-400:#C9A0A0;
    --p-500:#A87171;
    --p-600:#7E4F4F;
    --p-700:#3D2424;
    --pink-400:#C9A0A0;
    --gold:#C9A0A0;
    --gold-soft:#D4A0A0;
    --grad: linear-gradient(135deg,#C9A0A0 0%, #A87171 50%, #7E4F4F 100%);
    --grad-gold: linear-gradient(135deg,#E5C0C0 0%, #C9A0A0 50%, #A87171 100%);
    --grad-soft: linear-gradient(135deg,#FAF3F3 0%, #F3E0E0 100%);
    --grad-text: linear-gradient(135deg,#A87171 0%, #7E4F4F 100%);
    --r-sm:14px; --r:20px; --r-lg:32px; --r-xl:48px;
    --shadow-sm:0 2px 10px rgba(61,36,36,.06), 0 8px 24px -8px rgba(126,79,79,.18);
    --shadow:0 18px 50px -12px rgba(126,79,79,.30), 0 6px 18px rgba(201,160,160,.14);
    --shadow-lg:0 40px 100px -20px rgba(126,79,79,.45), 0 14px 34px -8px rgba(168,113,113,.22);
    --card-rest:0 1px 2px rgba(61,36,36,.04), 0 12px 32px -12px rgba(126,79,79,.22), 0 2px 6px rgba(61,36,36,.05);
    --t:320ms cubic-bezier(.2,.7,.2,1);
    --t-spring:500ms cubic-bezier(.34,1.56,.64,1);
}
@property --ang{ syntax:'<angle>'; initial-value:0deg; inherits:false; }

.pl-app *,.pl-app *::before,.pl-app *::after{ box-sizing:border-box; }
body.pl-app #page,body.pl-app .site-header,body.pl-app .ast-primary-header-bar,body.pl-app .ast-primary-header,body.pl-app #masthead,body.pl-app .site-footer,body.pl-app #colophon,body.pl-app .astra-advanced-hook,body.pl-app .ast-above-header,body.pl-app .ast-below-header,body.pl-blog #page,body.pl-blog .site-header,body.pl-blog .ast-primary-header-bar,body.pl-blog .ast-primary-header,body.pl-blog #masthead,body.pl-blog .site-footer,body.pl-blog #colophon,body.pl-blog .astra-advanced-hook,body.pl-blog .ast-above-header,body.pl-blog .ast-below-header{ display:none !important; }
html,body.pl-app{ overflow-x:clip; max-width:100%; }
body.pl-app img,body.pl-app iframe,body.pl-app video{ max-width:100%; height:auto; }

.pl-app{
    font-family:'Inter','Helvetica Neue',Arial,sans-serif;
    color:var(--ink); background:var(--paper);
    line-height:1.65; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
    position:relative;
}
.pl-app::before{
    content:""; position:fixed; inset:0; z-index:1; pointer-events:none;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.55 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.45'/></svg>");
    opacity:.05; mix-blend-mode:multiply;
}
.pl-app::after{ content:none; }
.pl-app a{ color:var(--p-600); text-decoration:none; transition:color var(--t); }
.pl-app a:hover{ color:var(--p-500); }
.pl-app img{ max-width:100%; display:block; }
.pl-app h1,.pl-app h2,.pl-app h3,.pl-app h4{
    font-family:'Cormorant Garamond',Georgia,serif; color:var(--ink);
    line-height:1.08; letter-spacing:-.02em; margin:0 0 .5em; font-weight:700;
}
.pl-app h1{ font-size:clamp(2.6rem,5.6vw,4.6rem); font-weight:800; letter-spacing:-.03em; }
.pl-app h2{ font-size:clamp(2rem,3.6vw,3rem); }
.pl-app h3{ font-size:1.35rem; }
.pl-app p{ margin:0 0 1em; color:var(--ink-soft); }
.pl-wrap{ width:min(1240px,92%); margin:0 auto; position:relative; z-index:2; }
.pl-app ::selection{ background:rgba(168,113,113,.25); color:var(--ink); }

/* Booking overrides */
.pl-pricing > div{ min-width:0; }
.pl-pricing .pb-wrap{ padding:1.5rem; box-shadow:none; max-width:100%; background:transparent; }
.pl-pricing .pb-cards{ grid-template-columns:repeat(auto-fit, minmax(min(180px,100%), 1fr)); }
.pl-pricing .pb-cards--sm{ grid-template-columns:repeat(auto-fit, minmax(min(130px,100%), 1fr)); }
.pl-pricing .pb-grid{ grid-template-columns:repeat(auto-fit, minmax(min(200px,100%), 1fr)); }
.pl-pricing .pb-card-body{ padding:14px 12px; word-break:break-word; }
.pl-app .pb-slot{ color:var(--ink) !important; background:#fff !important; border-radius:10px; }
.pl-app .pb-slot.is-active{ color:#fff !important; background:var(--grad) !important; box-shadow:0 6px 16px rgba(201,160,160,.35); }
.pl-app .pb-slot:disabled{ color:#b5b1bd !important; }

/* TOPBAR */
.pl-topbar{ background:var(--bg); color:#cfc6e3; font-size:13px; border-bottom:1px solid var(--line); }
.pl-topbar-inner{ display:flex; justify-content:space-between; align-items:center; padding:10px 0; gap:1rem; flex-wrap:wrap; }
.pl-topbar a{ color:#fff; }
.pl-topbar .pl-topbar-left{ display:flex; gap:1.4rem; align-items:center; flex-wrap:wrap; }
.pl-topbar .pl-topbar-left span{ display:inline-flex; align-items:center; gap:.4rem; }
.pl-topbar .pl-topbar-cta{
    display:inline-flex; align-items:center; gap:.5rem; background:var(--grad);
    padding:6px 16px; border-radius:999px; font-weight:700; color:#fff;
    box-shadow:0 6px 24px rgba(168,113,113,.4); transition:transform var(--t);
}
.pl-topbar .pl-topbar-cta:hover{ transform:translateY(-1px); color:#fff; }

/* HEADER */
.pl-header{
    position:sticky; top:0; z-index:60;
    background:#fff;
    border-bottom:1px solid var(--line-light);
    box-shadow:0 2px 12px rgba(11,8,20,.06);
    transition:border-color var(--t), box-shadow var(--t), background var(--t);
}
.pl-header.scrolled{ border-color:var(--p-200); background:#fff; box-shadow:0 8px 30px rgba(11,8,20,.10); }
.pl-header-inner{ display:flex; align-items:center; justify-content:space-between; padding:1rem 0; gap:1.5rem; }
.pl-brand{ display:inline-flex; align-items:center; gap:.7rem; color:var(--ink); font-weight:700; }
.pl-brand-mark{
    width:46px; height:46px; border-radius:14px; background:var(--grad);
    display:grid; place-items:center; color:#fff;
    font-family:'Cormorant Garamond',serif; font-weight:800; font-size:1.5rem;
    box-shadow:0 12px 30px -6px rgba(168,113,113,.55), inset 0 1px 0 rgba(255,255,255,.4);
    position:relative;
}
.pl-brand-mark::after{
    content:""; position:absolute; inset:-3px; border-radius:16px; z-index:-1;
    background:conic-gradient(from 0deg, transparent 0%, rgba(168,113,113,.6), transparent 30%);
    animation:plRotate 6s linear infinite; filter:blur(6px); opacity:.7;
}
@keyframes plRotate{ to{ transform:rotate(360deg); } }
.pl-brand-text{ line-height:1.1; font-family:'Cormorant Garamond',serif; font-size:1.18rem; }
.pl-brand-text small{ display:block; font-family:'Inter',sans-serif; font-size:11px; letter-spacing:3px; text-transform:uppercase; color:var(--ink-mute); font-weight:600; }
.pl-nav ul{ display:flex; gap:1.6rem; list-style:none; padding:0; margin:0; }
.pl-nav a{ color:var(--ink-soft); font-weight:500; font-size:.95rem; padding:.4em 0; position:relative; }
.pl-nav a::after{ content:''; position:absolute; left:0; right:100%; bottom:-4px; height:2px; background:var(--grad); border-radius:2px; transition:right var(--t-spring); }
.pl-nav a:hover{ color:var(--ink); }
.pl-nav a:hover::after{ right:0; }
.pl-header-cta{ display:flex; gap:.6rem; align-items:center; }
.pl-nav-toggle{ display:none; background:var(--grad); border:0; cursor:pointer; width:44px; height:44px; padding:10px; flex-direction:column; gap:5px; justify-content:center; border-radius:12px; box-shadow:0 8px 20px -6px rgba(168,113,113,.55), inset 0 1px 0 rgba(255,255,255,.35); transition:transform var(--t), box-shadow var(--t), filter var(--t); }
.pl-nav-toggle:hover{ transform:translateY(-1px); filter:brightness(1.05); box-shadow:0 12px 26px -6px rgba(168,113,113,.7), inset 0 1px 0 rgba(255,255,255,.4); }
.pl-nav-toggle:focus-visible{ outline:2px solid var(--gold); outline-offset:3px; }
.pl-nav-toggle span{ display:block; height:2px; width:100%; background:#fff; border-radius:2px; transition:transform var(--t),opacity var(--t); }
.pl-nav-toggle[aria-expanded="true"] span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.pl-nav-toggle[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.pl-nav-toggle[aria-expanded="true"] span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
.pl-mobile-menu{ display:none; flex-direction:column; padding:1rem 0; background:rgba(255,255,255,.98); border-top:1px solid var(--line-light); }
.pl-mobile-menu a{ color:var(--ink); padding:.85rem 1.2rem; border-bottom:1px solid rgba(15,10,30,.05); font-weight:500; }
.pl-mobile-menu .pl-btn{ margin:1rem 1.2rem 0; }

/* BUTTONS */
.pl-app .pl-btn{
    display:inline-flex !important; align-items:center; gap:.6em;
    padding:.95em 1.8em; border-radius:999px;
    font-weight:600 !important; font-size:.95rem; border:1.5px solid transparent;
    cursor:pointer; text-decoration:none !important;
    transition:transform var(--t-spring), box-shadow var(--t), background var(--t), color var(--t), border-color var(--t);
    white-space:nowrap; line-height:1.2; position:relative; overflow:hidden; isolation:isolate;
}
.pl-app .pl-btn-lg{ padding:1.05em 2em; font-size:1rem; }
.pl-app .pl-btn::before{
    content:""; position:absolute; inset:0;
    background:linear-gradient(120deg, transparent 30%, rgba(255,255,255,.35) 50%, transparent 70%);
    transform:translateX(-110%); transition:transform .8s ease; pointer-events:none;
}
.pl-app .pl-btn:hover::before{ transform:translateX(110%); }
.pl-app .pl-btn-primary,.pl-app .pl-btn-primary:visited{
    background:var(--grad) !important; color:#fff !important;
    box-shadow:0 14px 40px -10px rgba(168,113,113,.55), inset 0 1px 0 rgba(255,255,255,.25);
}
.pl-app .pl-btn-primary:hover{ transform:translateY(-3px) scale(1.02); box-shadow:0 22px 50px -10px rgba(168,113,113,.55); color:#fff !important; }
.pl-app .pl-btn-outline,.pl-app .pl-btn-outline:visited{ background:transparent !important; color:var(--p-600) !important; border-color:var(--p-400); }
.pl-app .pl-btn-outline:hover{ background:var(--p-500) !important; color:#fff !important; transform:translateY(-2px); border-color:transparent; }
.pl-app .pl-btn-ghost,.pl-app .pl-btn-ghost:visited{ background:rgba(255,255,255,.7) !important; color:var(--ink) !important; border-color:var(--line-light); backdrop-filter:blur(10px); }
.pl-app .pl-btn-ghost:hover{ background:#fff !important; border-color:var(--p-300); color:var(--p-600) !important; transform:translateY(-2px); }
.pl-app .pl-btn-light,.pl-app .pl-btn-light:visited{ background:#fff !important; color:var(--p-700) !important; border-color:var(--p-100); box-shadow:0 6px 18px rgba(11,8,20,.08); }
.pl-app .pl-btn-light:hover{ border-color:var(--p-500); color:var(--p-500) !important; transform:translateY(-2px); }

/* HERO */
.pl-hero{ position:relative; padding:6rem 0; background:var(--bg); color:#fff; overflow:hidden; isolation:isolate; }
.pl-hero::before{
    content:""; position:absolute; inset:-20%; z-index:-2; pointer-events:none;
    background:var(--bg);
}
.pl-hero::after{
    content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
    background:linear-gradient(180deg, rgba(11,8,20,.2) 0%, rgba(11,8,20,.55) 100%),
        repeating-linear-gradient(45deg, transparent 0 22px, rgba(255,255,255,.025) 22px 23px);
}
@keyframes plMesh{
    0%{ transform:translate3d(0,0,0) rotate(0deg) scale(1); }
    50%{ transform:translate3d(2%,-1%,0) rotate(8deg) scale(1.06); }
    100%{ transform:translate3d(-2%,2%,0) rotate(-6deg) scale(1.04); }
}
.pl-hero-grid{ display:grid; grid-template-columns:1.1fr 1fr; gap:4rem; align-items:center; }
.pl-hero h1,.pl-hero h2,.pl-hero h3{ color:#fff; }
.pl-hero p{ color:rgba(255,255,255,.78); }
.pl-hero-eyebrow{
    display:inline-flex; align-items:center; gap:.55em;
    padding:.5em 1.1em; border-radius:999px;
    background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12);
    -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
    color:#f5e1a4; font-size:.78rem; font-weight:700; letter-spacing:3px; text-transform:uppercase;
    margin-bottom:1.6rem;
}
.pl-hero-eyebrow .pl-dot{ width:7px; height:7px; border-radius:50%; background:var(--gold); box-shadow:0 0 0 4px rgba(168,113,113,.25); animation:plPulse 2s ease-in-out infinite; }
@keyframes plPulse{ 0%,100%{ box-shadow:0 0 0 4px rgba(168,113,113,.25); } 50%{ box-shadow:0 0 0 10px rgba(168,113,113,.05); } }
.pl-hero h1{
    margin-bottom:1.2rem;
    background:var(--grad-text);
    -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
.pl-hero h1 em{ font-style:normal; color:var(--p-500); }
.pl-hero-sub{ font-size:1.18rem; max-width:560px; margin-bottom:2rem; color:rgba(255,255,255,.78) !important; }
.pl-hero-cta{ display:flex; gap:.8rem; flex-wrap:wrap; margin-bottom:2.2rem; }
.pl-hero-trust{ display:flex; gap:1.2rem; align-items:center; flex-wrap:wrap; font-size:.92rem; color:rgba(255,255,255,.6); }
.pl-hero-trust strong{ color:#fff; font-weight:700; }
.pl-hero-stars{ color:var(--gold); letter-spacing:1px; filter:drop-shadow(0 0 8px rgba(168,113,113,.5)); }
.pl-hero-visual{ position:relative; min-height:540px; perspective:1600px; }
.pl-hero-img{
    position:relative; z-index:2; border-radius:var(--r-xl); overflow:hidden;
    box-shadow:var(--shadow-lg), 0 0 0 1px rgba(255,255,255,.08) inset;
    transform:rotateY(-7deg) rotateX(4deg);
    transition:transform .8s cubic-bezier(.2,.7,.2,1); will-change:transform;
}
.pl-hero-img:hover{ transform:rotateY(0) rotateX(0) translateY(-4px); }
.pl-hero-img::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent 50%, rgba(11,8,20,.55) 100%); pointer-events:none; }
.pl-hero-img img{ width:100%; height:580px; object-fit:cover; filter:saturate(1.15) contrast(1.05); }
.pl-hero-decor{ display:none; }
.pl-hero-floating{
    position:absolute; z-index:3; background:rgba(255,255,255,.92); border-radius:var(--r);
    padding:.95rem 1.2rem;
    box-shadow:0 16px 50px -12px rgba(11,8,20,.45), 0 1px 0 rgba(255,255,255,.5) inset;
    -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
    display:flex; align-items:center; gap:.8rem;
    animation:plBob 6s ease-in-out infinite; border:1px solid rgba(255,255,255,.5);
}
.pl-hero-floating-1{ top:30px; left:-30px; }
.pl-hero-floating-2{ bottom:30px; right:-30px; animation-delay:-3s; }
@keyframes plBob{ 0%,100%{transform:translateY(0);} 50%{transform:translateY(-14px);} }
.pl-hero-floating .pl-ico{
    width:42px; height:42px; border-radius:12px; background:var(--grad);
    display:grid; place-items:center; color:#fff; font-size:18px; flex:0 0 42px;
    box-shadow:0 6px 14px -4px rgba(168,113,113,.5);
}
.pl-hero-floating strong{ display:block; font-family:'Cormorant Garamond',serif; font-size:1.05rem; line-height:1.1; color:var(--ink); }
.pl-hero-floating small{ font-size:11px; color:var(--ink-mute); letter-spacing:1.5px; text-transform:uppercase; }

/* Trust strip */
.pl-trust-strip{ border-top:1px solid var(--line-light); border-bottom:1px solid var(--line-light); background:#fff; padding:2rem 0; position:relative; overflow:hidden; }
.pl-trust-strip::before{ content:none; }
.pl-trust-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem; align-items:center; }
.pl-trust-item{ text-align:center; padding:.6rem; border-radius:var(--r); transition:transform var(--t); }
.pl-trust-item:hover{ transform:translateY(-3px); }
.pl-trust-num{
    font-family:'Cormorant Garamond',serif; font-weight:800; font-size:2.6rem; line-height:1;
    background:var(--grad); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
    filter:drop-shadow(0 4px 14px rgba(168,113,113,.25));
}
.pl-trust-label{ margin-top:8px; font-size:11px; letter-spacing:2.5px; text-transform:uppercase; color:var(--ink-mute); font-weight:700; }

/* SECTION */
.pl-section{ padding:7rem 0; position:relative; }
.pl-section.alt{ background:#fff; }
.pl-section.alt::before{ content:none; }
.pl-section.dark{ background:var(--bg); color:#e8e2f4; }
.pl-section.dark h2,.pl-section.dark h3{ color:#fff; }
.pl-section.dark p{ color:#bdb3cf; }
.pl-section-head{ text-align:center; max-width:760px; margin:0 auto 4rem; position:relative; }
.pl-eyebrow{ display:inline-block; color:var(--p-600); font-size:.78rem; letter-spacing:3px; text-transform:uppercase; font-weight:700; margin-bottom:.8rem; }
.pl-eyebrow::before,.pl-eyebrow::after{ content:""; display:inline-block; width:24px; height:1px; vertical-align:middle; background:linear-gradient(90deg, transparent, currentColor); margin-right:.6em; }
.pl-eyebrow::after{ background:linear-gradient(90deg, currentColor, transparent); margin:0 0 0 .6em; }
.pl-section.dark .pl-eyebrow{ color:var(--gold); }
.pl-section-head h2{ margin-bottom:.6rem; }
.pl-section-head p{ font-size:1.08rem; }

/* SERVICES */
.pl-services{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; }
.pl-service{
    position:relative; overflow:hidden; background:var(--paper); border-radius:var(--r-lg);
    padding:2.2rem 1.9rem; border:1px solid var(--line-light);
    box-shadow:var(--card-rest);
    transition:transform var(--t), box-shadow var(--t), border-color var(--t);
    will-change:transform;
}
.pl-service::before{
    content:""; position:absolute; inset:0; padding:1.5px; border-radius:inherit;
    background:conic-gradient(from var(--ang,0deg), transparent 0deg, rgba(168,113,113,.4) 60deg, rgba(168,113,113,.4) 120deg, transparent 200deg);
    -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite:xor; mask-composite:exclude;
    opacity:0; transition:opacity var(--t); pointer-events:none;
}
.pl-service:hover{ transform:translateY(-8px); box-shadow:var(--shadow-lg); border-color:transparent; }
.pl-service:hover::before{ opacity:1; animation:plSpin 4s linear infinite; }
@keyframes plSpin{ to{ --ang:360deg; } }
.pl-service::after{
    content:""; position:absolute; inset:auto -30% -50% auto; width:240px; height:240px;
    background:radial-gradient(circle,rgba(168,113,113,.18),transparent 70%);
    transition:transform .8s ease; transform:scale(.4); pointer-events:none;
}
.pl-service:hover::after{ transform:scale(1.6); }
.pl-service > *{ position:relative; z-index:1; }
.pl-service-icon{
    width:60px; height:60px; border-radius:16px; background:var(--grad);
    display:grid; place-items:center; color:#fff; font-size:26px;
    box-shadow:0 12px 28px -6px rgba(168,113,113,.55), inset 0 1px 0 rgba(255,255,255,.3);
    margin-bottom:1.3rem; transition:transform var(--t-spring);
}
.pl-service:hover .pl-service-icon{ transform:rotate(-8deg) scale(1.08); }
.pl-service h3{ margin:0 0 .4rem; font-size:1.3rem; }
.pl-service p{ margin:0 0 1.1rem; font-size:.95rem; }
.pl-service-link{ display:inline-flex; align-items:center; gap:.4em; color:var(--p-600); font-weight:700; font-size:.9rem; transition:gap var(--t); }
.pl-service-link::after{ content:"→"; transition:transform var(--t); }
.pl-service:hover .pl-service-link{ gap:.8em; }
.pl-service-price{
    position:absolute; top:1.4rem; right:1.4rem;
    font-family:'Cormorant Garamond',serif; font-size:.95rem; font-weight:800;
    background:var(--grad); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
    border:1px solid var(--p-100); padding:.32em .9em; border-radius:999px;
    background-color:rgba(244,236,255,.55);
}

/* ABOUT */
.pl-about-grid{ display:grid; grid-template-columns:1fr 1.1fr; gap:4rem; align-items:center; }
.pl-about-img{ position:relative; border-radius:var(--r-xl); overflow:hidden; box-shadow:var(--shadow-lg); isolation:isolate; }
.pl-about-img img{ width:100%; height:580px; object-fit:cover; transition:transform 1.2s cubic-bezier(.2,.7,.2,1); }
.pl-about-img:hover img{ transform:scale(1.05); }
.pl-about-img::before{ content:""; position:absolute; inset:auto auto -40px -40px; width:170px; height:170px; border-radius:var(--r-lg); background:var(--grad); z-index:-1; filter:blur(2px); }
.pl-about-img::after{ content:""; position:absolute; inset:auto -40px -40px auto; width:120px; height:120px; border-radius:50%; background:var(--grad-gold); z-index:-1; filter:blur(2px); }
.pl-about-badge{
    position:absolute; top:24px; left:24px;
    padding:.6rem 1.1rem; border-radius:999px;
    font-size:.78rem; font-weight:800; letter-spacing:2px; text-transform:uppercase;
    background:rgba(255,255,255,.95);
    color:var(--p-700);
    box-shadow:var(--shadow-sm); border:1px solid rgba(255,255,255,.8);
    -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
}
.pl-about-stats{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; margin-top:2rem; padding-top:2rem; border-top:1px solid var(--line-light); }
.pl-about-stats div + div{ padding-left:1.2rem; border-left:1px solid var(--line-light); }
.pl-about-stats div strong{ display:block; font-family:'Cormorant Garamond',serif; font-size:2.2rem; line-height:1; background:var(--grad); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.pl-about-stats div small{ color:var(--ink-mute); font-size:.78rem; letter-spacing:1.5px; text-transform:uppercase; font-weight:700; }

/* FEATURES */
.pl-features{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.2rem; }
.pl-feature{
    background:var(--paper); border-radius:var(--r-lg); padding:2rem 1.5rem;
    border:1px solid var(--line-light);
    box-shadow:var(--card-rest);
    transition:transform var(--t), box-shadow var(--t), border-color var(--t);
    text-align:center; position:relative; overflow:hidden;
}
.pl-feature::before{ content:""; position:absolute; inset:auto auto -40% -40%; width:160px; height:160px; border-radius:50%; background:radial-gradient(circle, rgba(168,113,113,.18), transparent 70%); transition:transform .6s ease; transform:scale(.4); }
.pl-feature:hover::before{ transform:scale(2); }
.pl-feature:hover{ transform:translateY(-6px); box-shadow:var(--shadow); border-color:var(--p-200); }
.pl-feature-icon{
    width:70px; height:70px; border-radius:50%; background:var(--grad-soft);
    display:grid; place-items:center; color:var(--p-700); font-size:30px;
    margin:0 auto 1.1rem; border:2px solid var(--p-100);
    box-shadow:0 8px 20px -6px rgba(168,113,113,.3); position:relative;
}
.pl-feature-icon::before{ content:""; position:absolute; inset:-6px; border-radius:50%; background:conic-gradient(from 0deg, var(--p-300), var(--pink-400), var(--gold), var(--p-300)); z-index:-1; opacity:0; transition:opacity var(--t); filter:blur(8px); }
.pl-feature:hover .pl-feature-icon::before{ opacity:.6; }
.pl-feature h3{ font-size:1.1rem; margin:0 0 .3rem; }
.pl-feature p{ font-size:.92rem; margin:0; }

/* TESTIMONIALS */
.pl-testimonials{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.6rem; }
.pl-quote{ position:relative; background:var(--paper); border-radius:var(--r-lg); padding:2.6rem 1.9rem 1.9rem; border:1px solid var(--line-light); box-shadow:var(--card-rest); transition:transform var(--t), box-shadow var(--t); }
.pl-quote:hover{ transform:translateY(-8px) rotate(-.4deg); box-shadow:var(--shadow); }
.pl-quote::before{
    content:"\201C"; position:absolute; top:-26px; left:24px;
    font-family:'Cormorant Garamond',serif; font-size:6rem; line-height:1;
    background:var(--grad); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
    padding:0 8px;
}
.pl-quote-stars{ color:var(--gold); letter-spacing:2px; font-size:14px; margin-bottom:.8rem; filter:drop-shadow(0 0 6px rgba(168,113,113,.5)); }
.pl-quote p{ font-size:1.02rem; line-height:1.75; font-style:italic; color:var(--ink); margin:0 0 1.4rem; }
.pl-quote-author{ display:flex; align-items:center; gap:.9rem; border-top:1px solid var(--line-light); padding-top:1rem; }
.pl-quote-avatar{ width:48px; height:48px; border-radius:50%; background:var(--grad); color:#fff; display:grid; place-items:center; font-family:'Cormorant Garamond',serif; font-weight:700; box-shadow:0 6px 16px -4px rgba(168,113,113,.5); }
.pl-quote-name strong{ display:block; font-family:'Cormorant Garamond',serif; font-weight:700; }
.pl-quote-name small{ color:var(--ink-mute); font-size:12px; letter-spacing:1.5px; text-transform:uppercase; }

/* PRICING */
.pl-pricing{ display:grid; grid-template-columns:1fr 1fr; gap:3rem; background:var(--paper); border-radius:var(--r-xl); padding:3rem; box-shadow:var(--shadow); border:1px solid var(--line-light); position:relative; overflow:hidden; }
.pl-pricing::before{ content:""; position:absolute; top:-50%; right:-30%; width:600px; height:600px; background:radial-gradient(circle, rgba(168,113,113,.10), transparent 60%); pointer-events:none; }
.pl-pricing > *{ position:relative; z-index:1; }
.pl-pricing h2{ margin-top:0; }
.pl-pricing-list{ list-style:none; padding:0; margin:1.5rem 0; display:grid; gap:.6rem; }
.pl-pricing-list li{ display:flex; justify-content:space-between; align-items:center; padding:.95rem 1.2rem; border-radius:12px; background:var(--cream); transition:background var(--t), transform var(--t); border:1px solid transparent; }
.pl-pricing-list li:hover{ background:#fff; transform:translateX(4px); border-color:var(--p-100); box-shadow:var(--shadow-sm); }
.pl-pricing-list strong{ font-family:'Cormorant Garamond',serif; background:var(--grad); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; font-size:1.15rem; font-weight:800; }

/* INFO (hours/contact) */
.pl-info-grid{ display:grid; grid-template-columns:1fr 1fr; gap:2rem; }
.pl-info-card{ background:var(--paper); border-radius:var(--r-lg); padding:2.4rem; border:1px solid var(--line-light); box-shadow:var(--card-rest); transition:transform var(--t), box-shadow var(--t); position:relative; overflow:hidden; }
.pl-info-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow); }
.pl-info-card h3{ margin:0 0 1rem; }
.pl-info-card .pl-info-icon{ width:60px; height:60px; border-radius:16px; background:var(--grad-soft); color:var(--p-600); display:grid; place-items:center; font-size:26px; margin-bottom:1.3rem; border:1px solid var(--p-100); }
.pl-hours{ list-style:none; padding:0; margin:0; }
.pl-hours li{ display:flex; justify-content:space-between; padding:.9rem 0; border-bottom:1px dashed var(--line-light); font-size:.97rem; transition:color var(--t); }
.pl-hours li:last-child{ border-bottom:0; }
.pl-hours li:hover{ color:var(--p-600); }
.pl-hours li.is-today{ background:linear-gradient(135deg, var(--p-50), #fff); margin:0 -1rem; padding:.95rem 1rem; border-radius:12px; border:1px solid var(--p-100); font-weight:700; color:var(--p-700); box-shadow:0 4px 14px -4px rgba(168,113,113,.18); }
.pl-info-line{ display:flex; align-items:center; gap:.85rem; margin:.7rem 0; font-size:1.02rem; }
.pl-info-line .pl-info-ico-sm{ width:38px; height:38px; border-radius:12px; flex:0 0 38px; background:var(--p-50); color:var(--p-600); display:grid; place-items:center; font-size:16px; border:1px solid var(--p-100); }
.pl-info-line a{ color:var(--ink); font-weight:600; }
.pl-info-line a:hover{ color:var(--p-600); }
.pl-map{ border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shadow); margin-top:2rem; position:relative; }
.pl-map iframe{ width:100%; height:380px; border:0; display:block; filter:contrast(1.05); }

/* CTA banner */
.pl-cta{ position:relative; overflow:hidden; background:var(--bg); color:#fff; border-radius:var(--r-xl); padding:4.5rem 3rem; box-shadow:var(--shadow-lg); isolation:isolate; }
.pl-cta::before{
    content:""; position:absolute; inset:-30%; z-index:-2;
    background:var(--bg);
}
.pl-cta::after{
    content:""; position:absolute; inset:0; z-index:-1;
    background-image:linear-gradient(to right, rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(to bottom, rgba(255,255,255,.05) 1px, transparent 1px);
    background-size:32px 32px;
    mask-image:radial-gradient(ellipse at top right, black, transparent 70%);
    -webkit-mask-image:radial-gradient(ellipse at top right, black, transparent 70%);
    pointer-events:none;
}
.pl-cta-inner{ position:relative; z-index:1; display:grid; grid-template-columns:1.2fr 1fr; gap:3rem; align-items:center; }
.pl-cta h2{ color:#fff; background:var(--grad-text); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.pl-cta p{ color:rgba(255,255,255,.85); font-size:1.1rem; margin-bottom:1.6rem; }
.pl-cta-phonecard{ background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.18); -webkit-backdrop-filter:blur(16px); backdrop-filter:blur(16px); padding:1.8rem; border-radius:var(--r-lg); color:#fff; text-align:center; position:relative; }
.pl-cta-phonecard small{ display:block; font-size:11px; letter-spacing:3px; text-transform:uppercase; opacity:.85; margin-bottom:.4rem; color:var(--gold-soft); }
.pl-cta-phonecard a{ display:block; color:#fff; font-family:'Cormorant Garamond',serif; font-size:2rem; font-weight:800; line-height:1; margin-bottom:.4rem; }
.pl-cta-phonecard a:hover{ color:#f5e1a4; }
.pl-cta-phonecard .pl-btn{ margin-top:.8rem; }

/* FOOTER */
.pl-footer{ background:#fff; color:var(--ink-soft); padding:5rem 0 1.5rem; position:relative; overflow:hidden; }
.pl-footer::before{ content:none; }
.pl-footer::after{ content:none; }
.pl-footer-grid{ display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:2.5rem; padding-bottom:3rem; border-bottom:1px solid rgba(255,255,255,.08); position:relative; z-index:1; }
.pl-footer h4{ color:#fff; font-size:.92rem; font-family:'Inter',sans-serif; text-transform:uppercase; letter-spacing:2.5px; margin:0 0 1.2rem; position:relative; padding-bottom:.7rem; }
.pl-footer h4::after{ content:""; position:absolute; left:0; bottom:0; width:36px; height:2px; background:var(--grad); border-radius:2px; }
.pl-footer ul{ list-style:none; padding:0; margin:0; display:grid; gap:.65rem; }
.pl-footer a{ color:#bfb6d3; font-size:.92rem; transition:color var(--t), padding-left var(--t); }
.pl-footer a:hover{ color:#fff; padding-left:4px; }
.pl-footer .pl-brand{ color:#fff; }
.pl-footer .pl-brand-text small{ color:#8b80a3; }
.pl-footer-tag{ color:#8b80a3; font-size:.92rem; max-width:340px; margin-top:1rem; }
.pl-footer-bottom{ display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; padding-top:1.6rem; color:#8b80a3; font-size:.85rem; position:relative; z-index:1; }

/* PAGE HERO / CONTENT */
.pl-page-hero{ position:relative; overflow:hidden; padding:6rem 0 4rem; background:var(--bg); color:#fff; text-align:center; }
.pl-page-hero::before{ content:""; position:absolute; inset:-20%; z-index:0; background:radial-gradient(40% 50% at 30% 30%, rgba(168,113,113,.45), transparent 60%), radial-gradient(40% 50% at 70% 70%, rgba(168,113,113,.35), transparent 60%); filter:blur(20px); animation:plMesh 22s ease-in-out infinite alternate; }
.pl-page-hero::after{ content:""; position:absolute; inset:0; z-index:0; background-image:linear-gradient(to right, rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(to bottom, rgba(255,255,255,.05) 1px, transparent 1px); background-size:48px 48px; mask-image:radial-gradient(ellipse at center, black 40%, transparent 80%); -webkit-mask-image:radial-gradient(ellipse at center, black 40%, transparent 80%); }
.pl-page-hero > *{ position:relative; z-index:1; }
.pl-page-hero h1{ color:#fff; background:var(--grad-text); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.pl-page-hero p{ color:rgba(255,255,255,.85); margin-top:.6rem; max-width:680px; margin-left:auto; margin-right:auto; }
.pl-content-wrap{ padding:4rem 0; }
.pl-content{ max-width:820px; margin:0 auto; background:var(--paper); border-radius:var(--r-xl); padding:3rem; box-shadow:var(--shadow); border:1px solid var(--line-light); }
.pl-content h2{ margin-top:2rem; padding-bottom:.5rem; border-bottom:2px solid var(--p-100); font-size:1.4rem; }
.pl-content h2:first-of-type{ margin-top:0; }
.pl-content h3{ color:var(--p-700); margin-top:1.4em; }
.pl-content p,.pl-content li{ color:var(--ink-soft); }
.pl-content ul{ padding-left:1.2rem; }
.pl-content li{ margin-bottom:.4rem; }

/* REVEAL */
.pl-reveal{ opacity:0; transform:translateY(28px) scale(.98); transition:opacity .9s ease, transform 1s cubic-bezier(.2,.7,.2,1), filter .9s ease; filter:blur(6px); }
.pl-reveal.in{ opacity:1; transform:none; filter:blur(0); }

/* PROGRESS */
.pl-progress{ position:fixed; top:0; left:0; height:3px; width:0; z-index:9999; background:var(--grad); box-shadow:0 0 14px rgba(168,113,113,.7), 0 0 4px rgba(168,113,113,.5); transition:width .1s linear; }

/* Booking widget */
.parturi-booking-form,.pb-form{ background:var(--paper); border-radius:var(--r-lg); padding:2rem; border:1px solid var(--line-light); box-shadow:var(--shadow-sm); position:relative; overflow:hidden; }

/* Cursor */
.pl-cursor{ position:fixed; top:0; left:0; z-index:9998; pointer-events:none; width:36px; height:36px; border-radius:50%; border:1.5px solid rgba(168,113,113,.6); transform:translate(-50%,-50%); transition:transform .18s ease, width .18s ease, height .18s ease, border-color .18s ease, background .18s ease, opacity .2s; mix-blend-mode:exclusion; will-change:transform; }
.pl-cursor.is-hover{ width:60px; height:60px; border-color:rgba(168,113,113,.8); background:rgba(168,113,113,.1); }
.pl-cursor.is-hidden{ opacity:0; }
@media (hover:none){ .pl-cursor{ display:none; } }

/* RESPONSIVE */
@media (max-width: 980px){
    .pl-hero{ padding:4rem 0 3rem; }
    .pl-hero-grid{ grid-template-columns:1fr; gap:3rem; }
    .pl-hero-visual{ min-height:auto; max-width:480px; margin:0 auto; }
    .pl-hero-img img{ height:380px; }
    .pl-trust-grid{ grid-template-columns:repeat(2,1fr); gap:2rem; }
    .pl-services{ grid-template-columns:repeat(2,1fr); }
    .pl-features{ grid-template-columns:repeat(2,1fr); }
    .pl-testimonials{ grid-template-columns:1fr; }
    .pl-about-grid{ grid-template-columns:1fr; gap:2.5rem; }
    .pl-about-img img{ height:380px; }
    .pl-pricing{ grid-template-columns:1fr; padding:2rem; }
    .pl-info-grid{ grid-template-columns:1fr; }
    .pl-cta{ padding:3rem 2rem; }
    .pl-cta-inner{ grid-template-columns:1fr; }
    .pl-footer-grid{ grid-template-columns:1fr 1fr; gap:2rem; }
    .pl-section{ padding:5rem 0; }
}
@media (max-width: 720px){
    .pl-nav,.pl-header-cta .pl-hide-mobile{ display:none; }
    .pl-nav-toggle{ display:flex; }
    body.pl-menu-open .pl-mobile-menu{ display:flex; }
    .pl-services{ grid-template-columns:1fr; }
    .pl-features{ grid-template-columns:1fr; }
    .pl-trust-grid{ grid-template-columns:1fr 1fr; gap:1.5rem; }
    .pl-footer-grid{ grid-template-columns:1fr; }
    .pl-content{ padding:1.6rem; }
    .pl-hero h1{ font-size:2.4rem; }
    .pl-about-stats{ grid-template-columns:1fr; }
    .pl-about-stats div + div{ padding-left:0; border-left:0; padding-top:1rem; border-top:1px solid var(--line-light); margin-top:1rem; }
}
@media (prefers-reduced-motion: reduce){
    *,*::before,*::after{ animation:none !important; transition:none !important; }
    .pl-reveal{ opacity:1; transform:none; filter:none; }
}

/* ===== BLOG ===== */
.pl-post-hero{ position:relative; overflow:hidden; padding:6.5rem 0 4.5rem; color:#fff; background:var(--bg); isolation:isolate; }
.pl-post-hero::before{ content:""; position:absolute; inset:-20%; z-index:-2; background:radial-gradient(40% 50% at 25% 30%, rgba(168,113,113,.5), transparent 60%), radial-gradient(40% 50% at 80% 70%, rgba(168,113,113,.35), transparent 60%); filter:blur(20px); animation:plMesh 22s ease-in-out infinite alternate; }
.pl-post-hero.has-image::after{ content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(135deg, rgba(11,8,20,.78), rgba(126,79,79,.7)), var(--pl-hero-img) center/cover no-repeat; filter:saturate(1.1); }
.pl-post-hero-overlay{ position:absolute; inset:auto -10% -50% auto; width:700px; height:700px; background:radial-gradient(circle, rgba(168,113,113,.35), transparent 60%); filter:blur(20px); pointer-events:none; }
.pl-post-hero-inner{ position:relative; z-index:1; max-width:880px; }
.pl-post-hero h1{ color:#fff; background:var(--grad-text); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; font-size:clamp(2.2rem,4.6vw,3.6rem); margin:.5rem 0 1rem; }
.pl-app .pl-post-hero .pl-post-lede,.pl-post-lede{ color:#fff !important; font-size:1.18rem; max-width:720px; margin:0 0 1.6rem; text-shadow:0 2px 16px rgba(11,8,20,.5); font-weight:500; }
.pl-breadcrumbs{ display:flex; align-items:center; gap:.5rem; flex-wrap:wrap; font-size:.78rem; letter-spacing:1.5px; text-transform:uppercase; color:rgba(255,255,255,.7); margin-bottom:1.4rem; }
.pl-breadcrumbs a{ color:rgba(255,255,255,.85); }
.pl-breadcrumbs a:hover{ color:#fff; }
.pl-breadcrumbs span{ color:rgba(255,255,255,.4); }
.pl-post-meta{ display:flex; flex-wrap:wrap; gap:1.2rem; align-items:center; color:rgba(255,255,255,.85); font-size:.9rem; }
.pl-post-meta-item{ display:inline-flex; align-items:center; gap:.4rem; }
.pl-post-meta-cats{ display:inline-flex; gap:.4rem; flex-wrap:wrap; }
.pl-post-cat{ display:inline-block; padding:.28em .9em; border-radius:999px; background:rgba(255,255,255,.12); color:#fff !important; font-size:.74rem; letter-spacing:1.2px; text-transform:uppercase; font-weight:700; -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); border:1px solid rgba(255,255,255,.15); transition:background var(--t), transform var(--t); }
.pl-post-cat:hover{ background:var(--grad); border-color:transparent; transform:translateY(-1px); }

.pl-blog-wrap{ padding:4rem 0 5rem; background:var(--paper); }
.pl-blog-grid{ display:grid; grid-template-columns: minmax(0, 1fr) 340px; gap:3rem; align-items:stretch; }
.pl-blog-grid > .pl-post,.pl-blog-grid > .pl-search-results,.pl-blog-grid > .pl-list-col{ align-self:start; }
@media (max-width: 1024px){
    .pl-blog-grid{ grid-template-columns:1fr; gap:2rem; }
    .pl-blog-side-inner{ position:static; max-height:none; overflow:visible; padding-right:0; }
    .pl-blog-wrap{ padding:2.5rem 0 3rem; }
}
@media (max-width: 720px){
    .pl-post-hero{ padding:4rem 0 3rem; }
    .pl-post-hero h1{ font-size:2rem; line-height:1.2; }
    .pl-post-lede{ font-size:1rem; }
    .pl-post-meta{ gap:.6rem; font-size:.82rem; }
    .pl-blog-hero{ padding:4rem 0 3rem; }
    .pl-search-hero-form{ padding:.3rem; }
    .pl-search-hero-form input{ padding:.6rem .8rem; font-size:.95rem; }
}

.pl-post{ background:var(--paper); border-radius:var(--r-xl); padding:3rem; box-shadow:var(--shadow); border:1px solid var(--line-light); overflow:hidden; position:relative; }
.pl-post-figure{ margin:-3rem -3rem 2.4rem; overflow:hidden; position:relative; }
.pl-post-figure::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent 60%, rgba(11,8,20,.18)); pointer-events:none; }
.pl-post-figure img{ width:100%; height:auto; max-height:520px; object-fit:cover; display:block; transition:transform 1s cubic-bezier(.2,.7,.2,1); }
.pl-post:hover .pl-post-figure img{ transform:scale(1.04); }
.pl-post-content{ max-width:none; margin:0; padding:0; box-shadow:none; border:0; background:transparent; }
.pl-post-content > h2,.pl-post-content > h3{ font-family:'Cormorant Garamond',serif; }
.pl-post-content > h2{ margin-top:2rem; padding-bottom:.5rem; border-bottom:2px solid var(--p-100); font-size:1.6rem; }
.pl-post-content > h2:first-child{ margin-top:0; }
.pl-post-content > h3{ color:var(--p-700); margin-top:1.6em; font-size:1.2rem; }
.pl-post-content p{ font-size:1.05rem; line-height:1.85; }
.pl-post-content blockquote{ margin:1.8rem 0; padding:1.4rem 1.6rem 1.4rem 2.8rem; background:linear-gradient(135deg, var(--p-50) 0%, #fff 100%); border-left:4px solid var(--p-500); border-radius:0 var(--r-lg) var(--r-lg) 0; font-family:'Cormorant Garamond',serif; font-style:italic; font-size:1.18rem; color:var(--ink); position:relative; box-shadow:0 8px 24px -8px rgba(168,113,113,.18); }
.pl-post-content blockquote::before{ content:"\201C"; position:absolute; top:-12px; left:.7rem; font-size:3.6rem; line-height:1; background:var(--grad); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; font-family:'Cormorant Garamond',serif; }
.pl-post-content img{ border-radius:var(--r-lg); box-shadow:var(--shadow); margin:1.5rem 0; }
.pl-post-content a{ color:var(--p-600); text-decoration:underline; text-decoration-color:var(--p-200); text-underline-offset:3px; }
.pl-post-content a:hover{ color:var(--p-500); text-decoration-color:var(--p-500); }
.pl-post-content code{ background:var(--p-50); color:var(--p-700); padding:.15em .45em; border-radius:6px; font-size:.92em; }
.pl-post-content pre{ background:var(--bg); color:#e8e2f4; padding:1.2rem; border-radius:var(--r); overflow:auto; border:1px solid var(--line); }
.pl-post-content ul,.pl-post-content ol{ padding-left:1.4rem; }
.pl-post-content li{ margin-bottom:.4rem; line-height:1.75; }
.pl-post-content li::marker{ color:var(--p-500); }

.pl-post-tags,.pl-post-share{ display:flex; align-items:center; gap:1rem; flex-wrap:wrap; margin-top:2rem; padding-top:1.5rem; border-top:1px solid var(--line-light); }
.pl-post-tags > div,.pl-share-buttons{ display:flex; flex-wrap:wrap; gap:.5rem; }
.pl-tag{ display:inline-flex; align-items:center; gap:.4em; padding:.45em 1em; border-radius:999px; background:var(--cream); color:var(--ink-soft) !important; font-size:.85rem; font-weight:600; border:1px solid var(--line-light); transition:all var(--t); }
.pl-tag span{ background:var(--grad); color:#fff; padding:0 .55em; border-radius:999px; font-size:.7rem; }
.pl-tag:hover{ background:var(--p-50); color:var(--p-700) !important; border-color:var(--p-200); transform:translateY(-2px); box-shadow:0 6px 16px -6px rgba(168,113,113,.4); }
.pl-tag-sm{ font-size:.78rem; padding:.32em .8em; }
.pl-share-btn{ width:42px; height:42px; border-radius:14px; background:var(--cream); color:var(--ink-soft) !important; display:grid; place-items:center; font-family:'Cormorant Garamond',serif; font-weight:700; border:1px solid var(--line-light); transition:all var(--t); }
.pl-share-btn:hover{ background:var(--grad); color:#fff !important; border-color:transparent; transform:translateY(-3px); box-shadow:0 12px 28px -8px rgba(168,113,113,.5); }
.pl-post-nav{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-top:2rem; padding-top:1.6rem; border-top:1px solid var(--line-light); }
.pl-post-nav-item{ display:flex; flex-direction:column; gap:.3rem; padding:1.2rem 1.4rem; border-radius:var(--r); background:var(--cream); border:1px solid var(--line-light); color:var(--ink) !important; transition:all var(--t); }
.pl-post-nav-item:hover{ background:#fff; border-color:var(--p-200); box-shadow:var(--shadow); transform:translateY(-3px); }
.pl-post-nav-item small{ color:var(--p-600); font-weight:700; font-size:.78rem; letter-spacing:1.5px; text-transform:uppercase; }
.pl-post-nav-item strong{ font-family:'Cormorant Garamond',serif; font-size:1rem; line-height:1.3; }
.pl-post-nav-next{ text-align:right; }

.pl-related{ margin-top:3rem; padding-top:2rem; border-top:1px solid var(--line-light); }
.pl-related h2{ margin:.3rem 0 1.4rem; font-size:1.6rem; }
.pl-related-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.pl-related-card{ display:flex; flex-direction:column; border-radius:var(--r); overflow:hidden; background:var(--cream); border:1px solid var(--line-light); color:var(--ink) !important; transition:all var(--t); }
.pl-related-card:hover{ transform:translateY(-6px); border-color:var(--p-200); box-shadow:var(--shadow); }
.pl-related-thumb{ display:block; height:140px; background:var(--grad-soft) center/cover no-repeat; }
.pl-related-body{ padding:1rem 1.1rem 1.2rem; display:flex; flex-direction:column; gap:.3rem; }
.pl-related-body small{ font-size:.72rem; letter-spacing:1.5px; text-transform:uppercase; color:var(--p-600); font-weight:700; }
.pl-related-body strong{ font-family:'Cormorant Garamond',serif; font-size:1.04rem; line-height:1.3; color:var(--ink); }
.pl-related-more{ font-size:.85rem; color:var(--p-600); font-weight:600; margin-top:.4rem; }

@media (max-width: 720px){
    .pl-related-grid{ grid-template-columns:1fr; }
    .pl-post{ padding:1.6rem; }
    .pl-post-figure{ margin:-1.6rem -1.6rem 1.6rem; }
    .pl-post-nav{ grid-template-columns:1fr; }
    .pl-post-nav-next{ text-align:left; }
}

.pl-blog-side{ position:relative; }
.pl-blog-side-inner{ position:sticky; top:96px; display:grid; gap:1.2rem; max-height:calc(100vh - 110px); overflow:auto; padding-right:4px; scrollbar-width:thin; scrollbar-color:var(--p-200) transparent; }
.pl-blog-side-inner::-webkit-scrollbar{ width:6px; }
.pl-blog-side-inner::-webkit-scrollbar-thumb{ background:var(--p-200); border-radius:3px; }
.pl-side-card{ background:var(--paper); border:1px solid var(--line-light); border-radius:var(--r-lg); padding:1.5rem; box-shadow:var(--card-rest); transition:transform var(--t), box-shadow var(--t), border-color var(--t); }
.pl-side-card:hover{ border-color:var(--p-200); box-shadow:var(--shadow); }
.pl-side-card h4{ font-family:'Cormorant Garamond',serif; font-size:1.18rem; margin:.2rem 0 1rem; color:var(--ink); }
.pl-search-form{ display:flex; gap:.5rem; align-items:center; background:var(--cream); border:1px solid var(--line-light); border-radius:999px; padding:.3rem .35rem .3rem 1rem; transition:border-color var(--t), box-shadow var(--t); }
.pl-search-form:focus-within{ border-color:var(--p-300); box-shadow:0 0 0 5px rgba(168,113,113,.12); background:#fff; }
.pl-search-form input{ flex:1; border:0; background:transparent; outline:none; font:inherit; color:var(--ink); padding:.55rem 0; font-size:.95rem; }
.pl-search-form button{ width:38px; height:38px; border-radius:50%; background:var(--grad); color:#fff; border:0; cursor:pointer; display:grid; place-items:center; box-shadow:0 6px 16px -4px rgba(168,113,113,.5); transition:transform var(--t-spring); }
.pl-search-form button:hover{ transform:scale(1.1) rotate(8deg); }
.pl-latest-list{ list-style:none; padding:0; margin:0; display:grid; gap:.7rem; }
.pl-latest-item{ display:grid; grid-template-columns:64px 1fr; gap:.8rem; align-items:center; padding:.5rem; border-radius:12px; color:var(--ink) !important; transition:background var(--t), transform var(--t); }
.pl-latest-item:hover{ background:var(--p-50); transform:translateX(3px); }
.pl-latest-thumb{ width:64px; height:64px; border-radius:12px; background:var(--grad-soft) center/cover no-repeat; display:grid; place-items:center; flex:0 0 64px; border:1px solid var(--p-100); overflow:hidden; box-shadow:0 4px 12px -4px rgba(168,113,113,.3); }
.pl-latest-mark{ font-family:'Cormorant Garamond',serif; font-weight:800; font-size:1.7rem; background:var(--grad); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.pl-latest-text{ display:flex; flex-direction:column; gap:.15rem; min-width:0; }
.pl-latest-text strong{ font-family:'Cormorant Garamond',serif; font-weight:600; font-size:.96rem; line-height:1.25; color:var(--ink); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.pl-latest-text small{ font-size:.72rem; letter-spacing:1.5px; text-transform:uppercase; color:var(--p-600); font-weight:700; }
.pl-latest-empty{ color:var(--ink-mute); font-size:.92rem; }
.pl-tag-cloud{ display:flex; flex-wrap:wrap; gap:.4rem; }
.pl-side-cta{ background:var(--bg) !important; color:#fff; border:0 !important; position:relative; overflow:hidden; }
.pl-side-cta::before{ content:""; position:absolute; inset:-30%; background:radial-gradient(40% 50% at 30% 30%, rgba(168,113,113,.55), transparent 60%), radial-gradient(40% 50% at 70% 70%, rgba(168,113,113,.4), transparent 60%); filter:blur(20px); pointer-events:none; animation:plMesh 18s ease-in-out infinite alternate; }
.pl-side-cta-inner{ position:relative; z-index:1; }
.pl-side-cta h4{ color:#fff; }
.pl-side-cta p{ color:rgba(255,255,255,.85); font-size:.92rem; margin:0 0 1rem; }
.pl-side-cta .pl-btn{ width:100%; justify-content:center; }
.pl-side-call{ display:block; text-align:center; margin-top:.8rem; color:#fff !important; font-family:'Cormorant Garamond',serif; font-weight:700; font-size:1.1rem; }
.pl-side-call:hover{ color:var(--gold-soft) !important; }

.pl-search-hero h1 em{ font-style:normal; background:var(--grad-text); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.pl-search-hero strong{ color:#fff; }
.pl-search-hero-form{ margin:1.6rem auto 0; max-width:640px; display:flex; align-items:center; gap:.4rem; background:rgba(255,255,255,.95); border-radius:999px; padding:.35rem .4rem; box-shadow:0 24px 60px -12px rgba(11,8,20,.5); color:var(--ink); border:1px solid rgba(255,255,255,.5); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); }
.pl-search-hero-submit{ flex:0 0 46px; width:46px; height:46px; border:0; cursor:pointer; border-radius:50%; background:var(--grad); color:#fff; display:grid; place-items:center; box-shadow:0 8px 20px -4px rgba(168,113,113,.55); transition:transform var(--t-spring); }
.pl-search-hero-submit:hover{ transform:scale(1.1) rotate(8deg); }
.pl-search-hero-form input{ flex:1 1 auto; min-width:0; border:0; background:transparent; outline:none; padding:.7rem 1rem; font:inherit; color:var(--ink); font-size:1rem; }
.pl-search-results{ background:var(--paper); border-radius:var(--r-xl); padding:2rem; box-shadow:var(--shadow); border:1px solid var(--line-light); }
.pl-result-list{ list-style:none; padding:0; margin:0; display:grid; gap:1rem; }
.pl-result-link{ display:grid; grid-template-columns:200px 1fr; gap:1.4rem; padding:1rem; border-radius:var(--r-lg); background:var(--cream); border:1px solid var(--line-light); color:var(--ink) !important; transition:all var(--t); }
.pl-result-link:hover{ background:#fff; border-color:var(--p-200); box-shadow:var(--shadow); transform:translateX(6px); }
.pl-result-thumb{ height:140px; border-radius:var(--r); background:var(--grad-soft) center/cover no-repeat; display:grid; place-items:center; border:1px solid var(--p-100); }
.pl-result-mark{ font-family:'Cormorant Garamond',serif; font-weight:800; font-size:2.6rem; background:var(--grad); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.pl-result-body{ display:flex; flex-direction:column; gap:.4rem; min-width:0; }
.pl-result-meta{ font-size:.74rem; letter-spacing:2px; text-transform:uppercase; color:var(--ink-mute); font-weight:700; display:flex; gap:.5rem; flex-wrap:wrap; }
.pl-result-type{ color:var(--p-600); }
.pl-result-body h3{ margin:0; font-size:1.25rem; line-height:1.3; }
.pl-result-body p{ margin:0; color:var(--ink-soft); font-size:.95rem; }
.pl-result-more{ color:var(--p-600); font-weight:600; font-size:.9rem; margin-top:.2rem; }
@media (max-width: 720px){
    .pl-result-link{ grid-template-columns:1fr; }
    .pl-result-thumb{ height:180px; }
    .pl-search-hero-form{ flex-wrap:wrap; }
}
.pl-empty{ text-align:center; padding:3rem 1.5rem; }
.pl-empty-icon{ font-size:3.4rem; margin-bottom:.6rem; filter:drop-shadow(0 8px 18px rgba(168,113,113,.35)); }
.pl-empty h2{ margin:.4rem 0 .6rem; }
.pl-empty em{ color:var(--p-600); font-style:normal; }
.pl-empty p{ max-width:520px; margin:0 auto 1.4rem; color:var(--ink-soft); }
.pl-pagination{ display:flex; gap:.4rem; flex-wrap:wrap; justify-content:center; margin-top:2rem; padding-top:1.5rem; border-top:1px solid var(--line-light); }
.pl-pagination .page-numbers{ display:inline-grid; place-items:center; min-width:44px; height:44px; padding:0 .9rem; border-radius:12px; background:var(--cream); border:1px solid var(--line-light); color:var(--ink-soft); font-weight:700; transition:all var(--t); }
.pl-pagination .page-numbers:hover{ background:var(--p-50); color:var(--p-700); border-color:var(--p-200); transform:translateY(-2px); }
.pl-pagination .page-numbers.current{ background:var(--grad); color:#fff; border-color:transparent; box-shadow:0 8px 22px -6px rgba(168,113,113,.5); }
.pl-pagination .page-numbers.dots{ background:transparent; border:0; }

.pl-blog-hero{ background:var(--bg); text-align:center; padding:5.5rem 0 4.5rem; }
.pl-blog-hero p{ font-size:1.1rem; max-width:680px; margin-left:auto; margin-right:auto; }

.pl-list-col{ min-width:0; }
.pl-post-grid{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:1.4rem; }
@media (max-width: 1280px){ .pl-post-grid{ grid-template-columns:1fr; } }

.pl-post-card{ background:var(--paper); border:1px solid var(--line-light); border-radius:var(--r-lg); overflow:hidden; display:flex; flex-direction:column; box-shadow:var(--card-rest); transition:transform var(--t), box-shadow var(--t), border-color var(--t); position:relative; }
.pl-post-card:hover{ transform:translateY(-8px); box-shadow:var(--shadow-lg); border-color:var(--p-200); }
.pl-post-card-thumb{ display:block; height:240px; background:var(--grad-soft) center/cover no-repeat; position:relative; overflow:hidden; }
.pl-post-card-thumb::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent 50%, rgba(11,8,20,.55) 100%); opacity:.8; transition:opacity var(--t); }
.pl-post-card:hover .pl-post-card-thumb::after{ opacity:1; }
.pl-post-card-mark{ position:absolute; inset:0; display:grid; place-items:center; font-family:'Cormorant Garamond',serif; font-weight:800; font-size:3.4rem; background:var(--grad); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.pl-post-card-cat{ position:absolute; top:14px; left:14px; z-index:1; background:rgba(255,255,255,.92); color:var(--p-700); font-size:.7rem; font-weight:800; letter-spacing:1.4px; text-transform:uppercase; padding:.45em 1em; border-radius:999px; -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); box-shadow:var(--shadow-sm); border:1px solid rgba(255,255,255,.7); }
.pl-post-card-body{ padding:1.5rem 1.6rem 1.7rem; display:flex; flex-direction:column; gap:.6rem; flex:1; }
.pl-post-card-meta{ display:flex; gap:1rem; flex-wrap:wrap; font-size:.78rem; letter-spacing:1.2px; text-transform:uppercase; color:var(--ink-mute); font-weight:700; }
.pl-post-card h3{ margin:0; font-size:1.3rem; line-height:1.3; font-family:'Cormorant Garamond',serif; }
.pl-post-card h3 a{ color:var(--ink) !important; background-image:var(--grad); background-size:0 2px; background-repeat:no-repeat; background-position:0 100%; transition:background-size var(--t), color var(--t); }
.pl-post-card:hover h3 a{ color:var(--p-600) !important; background-size:100% 2px; }
.pl-post-card p{ margin:0; color:var(--ink-soft); font-size:.94rem; line-height:1.65; flex:1; }
.pl-post-card-link{ margin-top:.4rem; color:var(--p-600); font-weight:700; font-size:.92rem; transition:gap var(--t); display:inline-flex; align-items:center; gap:.3em; }
.pl-post-card:hover .pl-post-card-link{ gap:.7em; }

.pl-post-comments{ margin-top:2.5rem; padding-top:2rem; border-top:1px solid var(--line-light); }
.pl-post-comments .comment-list{ list-style:none; padding:0; margin:0 0 2rem; display:grid; gap:1rem; }
.pl-post-comments .comment-body{ background:var(--cream); border-radius:var(--r); padding:1rem 1.2rem; border:1px solid var(--line-light); }
.pl-post-comments input[type="text"],.pl-post-comments input[type="email"],.pl-post-comments input[type="url"],.pl-post-comments textarea{ width:100%; padding:.8rem 1rem; border-radius:12px; border:1px solid var(--line-light); background:#fff; font:inherit; transition:border-color var(--t), box-shadow var(--t); }
.pl-post-comments input:focus,.pl-post-comments textarea:focus{ outline:none; border-color:var(--p-300); box-shadow:0 0 0 5px rgba(168,113,113,.12); }
.pl-post-comments .submit{ background:var(--grad); color:#fff; border:0; padding:.85em 1.7em; border-radius:999px; font-weight:700; cursor:pointer; box-shadow:0 12px 32px -8px rgba(168,113,113,.5); transition:transform var(--t-spring); }
.pl-post-comments .submit:hover{ transform:translateY(-3px); }

/* ===== WHITE THEME OVERRIDES (cyan #4BFFFF + valkoinen vain) ===== */
.pl-app .pl-topbar{ background:#fff; color:var(--ink-soft); border-bottom:1px solid var(--line-light); }
.pl-app .pl-topbar a{ color:var(--ink); }
.pl-app .pl-topbar .pl-topbar-cta{ color:#fff; }

.pl-app .pl-hero,
.pl-app .pl-cta,
.pl-app .pl-page-hero,
.pl-app .pl-post-hero,
.pl-app .pl-blog-hero,
.pl-app .pl-footer,
.pl-app .pl-section.dark{ background:#fff !important; color:var(--ink) !important; }

.pl-app .pl-hero h1,.pl-app .pl-hero h2,.pl-app .pl-hero h3,
.pl-app .pl-cta h2,.pl-app .pl-cta h3,
.pl-app .pl-page-hero h1,
.pl-app .pl-post-hero h1,
.pl-app .pl-section.dark h2,.pl-app .pl-section.dark h3,
.pl-app .pl-footer h4{ color:var(--ink) !important; }

.pl-app .pl-hero p,
.pl-app .pl-hero-sub,
.pl-app .pl-hero-trust,
.pl-app .pl-cta p,
.pl-app .pl-page-hero p,
.pl-app .pl-post-hero .pl-post-lede,
.pl-app .pl-section.dark p,
.pl-app .pl-footer p,
.pl-app .pl-footer a,
.pl-app .pl-footer .pl-footer-tag,
.pl-app .pl-footer-bottom,
.pl-app .pl-blog-hero p{ color:var(--ink-soft) !important; }

.pl-app .pl-hero-trust strong,
.pl-app .pl-footer .pl-brand,
.pl-app .pl-footer .pl-brand-text small{ color:var(--ink) !important; }

/* Hero h1 gradient: cyan-only on white */
.pl-app .pl-hero h1,
.pl-app .pl-cta h2,
.pl-app .pl-page-hero h1,
.pl-app .pl-post-hero h1{
    background:none !important;
    color:var(--p-700) !important;
    -webkit-text-fill-color:initial !important;
}

/* Eyebrow & tags on white hero */
.pl-app .pl-hero-eyebrow{ background:rgba(168,113,113,.10); border-color:rgba(168,113,113,.35); color:var(--p-700); }
.pl-app .pl-hero-stars{ color:var(--p-500); }
.pl-app .pl-hero-img::after{ display:none; }
.pl-app .pl-hero::after{ display:none; }
.pl-app .pl-page-hero::after{ display:none; }
.pl-app .pl-post-hero::after{ display:none; }

/* Soften hero mesh on white so it does not overpower */
.pl-app .pl-hero::before,
.pl-app .pl-cta::before,
.pl-app .pl-page-hero::before,
.pl-app .pl-post-hero::before,
.pl-app .pl-side-cta::before{ opacity:.55; }

/* CTA card switches to light surface */
.pl-app .pl-cta{ border:1px solid var(--line-light); box-shadow:var(--shadow); }
.pl-app .pl-cta-phonecard{ background:var(--cream); border:1px solid var(--line-light); color:var(--ink); }
.pl-app .pl-cta-phonecard small{ color:var(--p-700); }
.pl-app .pl-cta-phonecard a{ color:var(--ink); }
.pl-app .pl-cta-phonecard a:hover{ color:var(--p-500); }

/* Side CTA (blog sidebar) */
.pl-app .pl-side-cta{ background:var(--cream) !important; color:var(--ink); }
.pl-app .pl-side-cta h4{ color:var(--ink); }
.pl-app .pl-side-cta p{ color:var(--ink-soft); }
.pl-app .pl-side-call{ color:var(--p-600) !important; }

/* Footer borders & links */
.pl-app .pl-footer{ border-top:1px solid var(--line-light); }
.pl-app .pl-footer-grid{ border-bottom-color:var(--line-light); }
.pl-app .pl-footer a:hover{ color:var(--p-500) !important; }

/* Hero floating cards remain white but ensure border subtle */
.pl-app .pl-hero-floating{ border:1px solid var(--line-light); }

/* Post hero overlay tinted gradient → cyan only */
.pl-app .pl-post-hero.has-image::after{ background:linear-gradient(135deg, rgba(255,255,255,.5), rgba(168,113,113,.35)), var(--pl-hero-img) center/cover no-repeat !important; }
.pl-app .pl-post-hero.has-image,
.pl-app .pl-post-hero.has-image h1,
.pl-app .pl-post-hero.has-image .pl-post-lede{ color:var(--ink) !important; }


/* ============================================
   LINDA & CO — FEMINIININEN TYYLIPÄIVITYS
   Erottuu parturi-tyylistä: pyöreät muodot,
   floraali-aksentit, italic-otsikkokorostukset
   ============================================ */

/* Cormorant Garamond - lisää italic eyebrow-tyyli */
.pl-app h1 em,
.pl-app h2 em {
    font-family:'Cormorant Garamond',serif;
    font-style:italic;
    font-weight:500;
    background:linear-gradient(135deg,#C9A0A0 0%,#A87171 100%);
    -webkit-background-clip:text; background-clip:text;
    -webkit-text-fill-color:transparent;
}

/* Italianno-koristefontti pieniin signature-aksentteihin */
.pl-app .pl-signature {
    font-family:'Italianno',cursive;
    font-size:2.4rem;
    font-weight:400;
    color:var(--p-500);
    line-height:1;
    letter-spacing:.5px;
}

/* Eyebrow uudelleen — laajempi spacing, pisteellä koristeltu */
.pl-app .pl-eyebrow,
.pl-app .pl-hero-eyebrow {
    text-transform:uppercase;
    letter-spacing:4px;
    font-size:.78rem;
    font-weight:600;
    color:var(--p-600);
}

/* Otsikoissa pehmeämpi rivivälit */
.pl-app h1, .pl-app h2 {
    line-height:1.05;
    letter-spacing:-.015em;
    font-weight:600;
}
.pl-app h1 { font-weight:600; }
.pl-app h2 { font-weight:600; }

/* HERO — vaihda kuvan muoto orgaaniseksi blob-muodoksi */
.pl-app .pl-hero-img {
    border-radius: 60% 40% 55% 45% / 50% 55% 45% 50% !important;
    transform: rotate(-2deg) !important;
    transition: border-radius 1.4s cubic-bezier(.34,1.56,.64,1), transform .8s ease !important;
}
.pl-app .pl-hero-img:hover {
    border-radius: 50% 50% 50% 50% / 50% 50% 50% 50% !important;
    transform: rotate(0) translateY(-6px) !important;
}
.pl-app .pl-hero-img img {
    height: 620px !important;
    filter: saturate(1.05) contrast(1.02) brightness(1.02) !important;
}

/* Dekoratiiviset gradient-pilvet hero-osioon */
.pl-app .pl-hero {
    position: relative;
    overflow: hidden;
}
.pl-app .pl-hero::before,
.pl-app .pl-hero::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
    filter: blur(80px);
    opacity: .55;
}
.pl-app .pl-hero::before {
    width: 520px; height: 520px;
    background: radial-gradient(circle, #E5C0C0 0%, transparent 70%);
    top: -120px; left: -160px;
    animation: plFloat 16s ease-in-out infinite;
}
.pl-app .pl-hero::after {
    width: 420px; height: 420px;
    background: radial-gradient(circle, #D4A0A0 0%, transparent 70%);
    bottom: -100px; right: -120px;
    animation: plFloat 18s ease-in-out infinite reverse;
}
@keyframes plFloat {
    0%,100% { transform: translate(0,0) scale(1); }
    50% { transform: translate(30px,-20px) scale(1.08); }
}
.pl-app .pl-hero-grid { position: relative; z-index: 1; }

/* Decoratiivinen badge "Avoinna tänään" — kullanhohto pois, eleganttimpi */
.pl-app .pl-about-badge {
    background: rgba(255,255,255,.95) !important;
    color: var(--p-600) !important;
    border: 1px solid var(--p-200) !important;
    backdrop-filter: blur(10px);
    font-family: 'Inter',sans-serif;
    text-transform: uppercase;
    letter-spacing: 2.5px;
    font-size: 10.5px;
    font-weight: 600;
    box-shadow: 0 8px 24px -6px rgba(168,113,113,.25);
}

/* SERVICES — kortin yläreunaan koristeellinen korostuspalkki */
.pl-app .pl-service {
    border-radius: 28px !important;
    background: linear-gradient(180deg, #ffffff 0%, #FAF3F3 100%) !important;
    overflow: visible !important;
}
.pl-app .pl-service::before {
    content: "";
    position: absolute;
    top: 0; left: 50%;
    transform: translateX(-50%);
    width: 60px; height: 4px;
    background: var(--grad);
    border-radius: 0 0 999px 999px;
    transition: width .5s ease;
    z-index: 2;
}
.pl-app .pl-service:hover::before { width: 120px; }
.pl-app .pl-service:hover {
    transform: translateY(-10px) !important;
    box-shadow: 0 30px 70px -20px rgba(168,113,113,.35) !important;
}
.pl-app .pl-service-icon {
    background: linear-gradient(135deg,#FAF3F3 0%, #F3E0E0 100%) !important;
    border: 1px solid var(--p-100) !important;
    color: var(--p-600) !important;
    width: 64px !important; height: 64px !important;
    font-size: 1.6rem !important;
    box-shadow: inset 0 -2px 6px rgba(168,113,113,.1) !important;
}

/* Service price tag - kullanhohto pois, mauve-pinkki */
.pl-app .pl-service-price {
    background: var(--grad-soft) !important;
    background-color: rgba(243,224,224,.8) !important;
    border-color: var(--p-200) !important;
    font-family: 'Cormorant Garamond',serif !important;
    font-style: italic;
    font-weight: 700 !important;
    font-size: 1.15rem !important;
    padding: .4em 1.1em !important;
}

/* PALVELUT-osion taustakoriste - hieno botaaninen vihje */
.pl-app .pl-section#palvelut::before {
    content: "";
    position: absolute;
    top: 8%; right: -100px;
    width: 360px; height: 360px;
    background: radial-gradient(circle, rgba(229,192,192,.4) 0%, transparent 70%);
    border-radius: 50%;
    filter: blur(60px);
    pointer-events: none;
    z-index: 0;
}
.pl-app .pl-section { position: relative; }
.pl-app .pl-section .pl-wrap { position: relative; z-index: 1; }

/* TESTIMONIALS — lainausmerkit Cormorantilla suuremmaksi */
.pl-app .pl-quote::before {
    font-family: 'Cormorant Garamond',serif !important;
    content: "\201C" !important;
    position: absolute !important;
    top: -28px !important; left: 24px !important;
    font-size: 6rem !important;
    line-height: 1 !important;
    color: var(--p-300) !important;
    opacity: .6 !important;
    font-style: italic !important;
}
.pl-app .pl-quote {
    border-radius: 32px !important;
    background: linear-gradient(180deg,#ffffff 0%, #FAF3F3 100%) !important;
}
.pl-app .pl-quote p {
    font-family: 'Cormorant Garamond',serif;
    font-size: 1.25rem;
    font-style: italic;
    font-weight: 500;
    line-height: 1.5;
    color: var(--ink-soft);
}
.pl-app .pl-quote-stars {
    background: var(--grad);
    -webkit-background-clip: text; background-clip: text;
    -webkit-text-fill-color: transparent;
    font-size: 1.1rem;
    letter-spacing: 3px;
}
.pl-app .pl-quote-avatar {
    background: var(--grad) !important;
    font-family: 'Cormorant Garamond',serif !important;
    font-weight: 600 !important;
    font-size: 1.25rem !important;
    box-shadow: 0 8px 22px -6px rgba(168,113,113,.45) !important;
}

/* FEATURES (Miksi meidät) — pyöreät kortit + ikoni-aksentti */
.pl-app .pl-feature {
    border-radius: 28px !important;
    background: linear-gradient(180deg, #ffffff 0%, #FAF3F3 50%) !important;
    text-align: center;
}
.pl-app .pl-feature-icon {
    background: var(--grad) !important;
    color: #fff !important;
    width: 70px !important; height: 70px !important;
    border-radius: 50% !important;
    margin: 0 auto 1.2rem !important;
    font-size: 1.8rem !important;
    box-shadow: 0 14px 30px -8px rgba(168,113,113,.5),
                inset 0 -3px 8px rgba(126,79,79,.2) !important;
}

/* ABOUT — kuvan blob-muoto + leijuva orb-koriste */
.pl-app .pl-about-img {
    border-radius: 55% 45% 60% 40% / 50% 60% 40% 50% !important;
    transition: border-radius 1.4s cubic-bezier(.34,1.56,.64,1) !important;
}
.pl-app .pl-about-img:hover {
    border-radius: 50% 50% 50% 50% / 50% 50% 50% 50% !important;
}
.pl-app .pl-about-img::before {
    width: 200px !important; height: 200px !important;
    border-radius: 50% !important;
    bottom: -50px !important; left: -50px !important;
    background: var(--grad) !important;
    opacity: .35 !important;
    filter: blur(20px) !important;
}

/* Buttons - pillin muoto + shimmer */
.pl-app .pl-btn {
    border-radius: 999px !important;
    font-family: 'Inter',sans-serif;
    letter-spacing: .4px;
    padding: .85em 2em !important;
}
.pl-app .pl-btn-lg {
    padding: 1em 2.4em !important;
    font-size: 1.02rem !important;
}
.pl-app .pl-btn-primary {
    background: var(--grad) !important;
    box-shadow: 0 10px 30px -6px rgba(168,113,113,.55),
                inset 0 1px 0 rgba(255,255,255,.35),
                inset 0 -2px 4px rgba(126,79,79,.25) !important;
    text-shadow: 0 1px 2px rgba(126,79,79,.25);
}
.pl-app .pl-btn-primary:hover {
    transform: translateY(-3px) scale(1.03) !important;
    box-shadow: 0 18px 40px -6px rgba(168,113,113,.65),
                inset 0 1px 0 rgba(255,255,255,.35) !important;
}

/* CTA-osio - lämmin gradient + dekoratiivinen orb */
.pl-app .pl-cta {
    border-radius: 42px !important;
    background: linear-gradient(135deg,#7E4F4F 0%, #A87171 50%, #C9A0A0 100%) !important;
    position: relative;
    overflow: hidden;
}
.pl-app .pl-cta::after {
    content: "";
    position: absolute;
    top: -200px; right: -200px;
    width: 500px; height: 500px;
    background: radial-gradient(circle, rgba(255,255,255,.18) 0%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
}

/* Pricing-list - kohtaan elegantimpia rivejä */
.pl-app .pl-pricing-list li {
    padding: 1em 0 !important;
    border-bottom: 1px solid var(--p-100) !important;
    transition: padding-left .3s ease;
}
.pl-app .pl-pricing-list li:hover {
    padding-left: .6em !important;
}
.pl-app .pl-pricing-list li strong {
    font-family: 'Cormorant Garamond',serif !important;
    font-style: italic;
    font-size: 1.55rem !important;
    font-weight: 700 !important;
    background-image: var(--grad) !important;
    background-color: transparent !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    color: transparent !important;
}

/* Sectiondevidaattorit - lisää pehmeä siirtymä */
.pl-app .pl-section.alt {
    background: linear-gradient(180deg, #FBF6F6 0%, #FAF3F3 100%) !important;
    position: relative;
}

/* Trust strip - pinkki tausta */
.pl-app .pl-trust-strip {
    background: linear-gradient(180deg,#FAF3F3 0%, #FBF6F6 100%);
    border-top: 1px solid var(--p-100);
    border-bottom: 1px solid var(--p-100);
    padding: 2.5rem 0;
}
.pl-app .pl-trust-num {
    font-weight: 600 !important;
    font-style: italic !important;
}

/* Brand mark - pyöreä + sisävalon korostus */
.pl-app .pl-brand-mark {
    border-radius: 50% !important;
    font-family: 'Cormorant Garamond',serif !important;
    font-style: italic !important;
    font-weight: 600 !important;
    box-shadow: 0 12px 30px -6px rgba(168,113,113,.55),
                inset 0 1px 0 rgba(255,255,255,.4),
                inset 0 -3px 8px rgba(126,79,79,.25) !important;
}

/* Floating-elementit Hero-kuvassa */
.pl-app .pl-hero-floating {
    border-radius: 24px !important;
    background: rgba(255,255,255,.96) !important;
    backdrop-filter: blur(14px) !important;
    border: 1px solid var(--p-100) !important;
    box-shadow: 0 18px 40px -8px rgba(168,113,113,.3) !important;
}
.pl-app .pl-hero-floating .pl-ico {
    border-radius: 50% !important;
}

/* Mobile-pyöristykset */
@media (max-width: 720px) {
    .pl-app .pl-hero-img {
        border-radius: 40px !important;
        transform: none !important;
    }
    .pl-app .pl-about-img {
        border-radius: 40px !important;
    }
}