/* Filling Happiness editorial direction — Design System 01. */
:root{
  --fh-ivory:#F7F5F1;
  --fh-warm-sand:#E9E2D8;
  --fh-taupe:#BFAE9B;
  --fh-sage:#C8CDC5;
  --fh-charcoal:#2F2F2C;
  --fh-champagne:#B89663;
  --fh-font-display:'Cormorant Garamond',serif;
  --fh-font-body:Manrope,sans-serif;
  --fh-font-ui:Inter,sans-serif;
}
body{background:var(--fh-ivory);color:var(--fh-charcoal);font-family:var(--fh-font-body)}
.fh-home-editorial{background:var(--fh-ivory)}

/* FH Start / section 02 */
.fh-hero-editorial{padding:0!important;background:var(--fh-charcoal)!important;border:0!important;overflow:hidden}
.fh-hero-editorial-grid{min-height:clamp(590px,68vh,760px)!important;gap:0!important;margin:0!important;max-width:none!important;position:relative;overflow:hidden}
.fh-hero-editorial-copy{display:flex;align-items:center;flex:0 0 52%!important;background:linear-gradient(90deg,var(--fh-charcoal) 0%,var(--fh-charcoal) 72%,rgba(47,47,44,.94) 84%,rgba(47,47,44,.60) 94%,rgba(47,47,44,0) 100%);color:var(--fh-ivory);padding:72px clamp(42px,6vw,112px)!important;position:relative;z-index:2}
.fh-hero-copy-inner{width:min(100%,620px);margin-left:auto;margin-right:0;position:relative;z-index:3}
.fh-hero-editorial .fh-hero-v5-title{margin:0 0 30px;color:var(--fh-ivory)!important;font-family:var(--fh-font-display)!important;font-size:clamp(3.25rem,4.7vw,5.7rem)!important;font-weight:400;letter-spacing:-.035em;line-height:.97}
.fh-hero-editorial .fh-hero-v5-lead{display:block;max-width:520px;margin:0 0 34px;color:var(--fh-ivory)!important;font-family:var(--fh-font-body);font-size:clamp(.95rem,1vw,1.08rem)!important;font-weight:500;line-height:1.7;text-align:left!important;opacity:.94}
.fh-hero-lead-line{display:block;width:100%}
.fh-hero-editorial .fh-hero-v5-actions{gap:22px!important;align-items:flex-start!important}
.fh-hero-editorial .fh-session-button .wp-element-button{min-width:205px;background:var(--fh-champagne)!important;color:var(--fh-ivory)!important;border:1px solid var(--fh-champagne)!important;border-radius:999px!important;padding:13px 30px!important;box-shadow:none!important;font-family:var(--fh-font-ui)!important;font-size:.72rem!important;font-weight:600!important;letter-spacing:.08em!important;text-align:center}
.fh-hero-story-link{position:relative;z-index:5;margin:0!important;font-family:var(--fh-font-ui)!important;font-size:.78rem!important;font-weight:500}
.fh-hero-story-link a{display:inline-flex;align-items:center;gap:12px;color:var(--fh-ivory)!important;text-decoration:none!important;opacity:.92;cursor:pointer}
.fh-hero-story-link a span{font-family:var(--fh-font-display);font-size:1.55rem;line-height:1;font-weight:400;transition:transform .2s ease}
.fh-hero-story-link a:hover{opacity:1}
.fh-hero-story-link a:hover span{transform:translateY(4px)}
.fh-hero-editorial .wp-element-button:hover{transform:translateY(-2px);filter:brightness(1.03)}
.fh-hero-photo{align-self:stretch!important;flex:0 0 58%!important;margin-left:-10%!important;min-height:590px;position:relative;z-index:1;background:var(--fh-charcoal);overflow:hidden}
.fh-hero-photo-image{position:absolute;inset:0;margin:0!important;width:100%;height:100%}
.fh-hero-photo-image img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 40%;filter:saturate(.92) contrast(.98)}
.fh-hero-photo:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(47,47,44,.80) 0%,rgba(47,47,44,.42) 13%,rgba(47,47,44,.12) 27%,rgba(47,47,44,0) 42%)}

/* Existing homepage sections in the same visual language. */
.fh-section{padding-top:96px!important;padding-bottom:96px!important}
.fh-about-pattern{background:var(--fh-warm-sand)!important;border-bottom:0!important}
.fh-cards-pattern{background:var(--fh-ivory)!important}
.fh-about-pattern .fh-intro-eyebrow,.fh-cards-pattern .fh-cards-title{color:var(--fh-champagne)!important}
.fh-about-pattern h2,.fh-cards-pattern h2,.fh-native-card h3{font-family:var(--fh-font-display)!important;color:var(--fh-charcoal)}
.fh-about-pattern p,.fh-cards-pattern p{font-family:var(--fh-font-body)}
.fh-native-card{border-radius:16px!important;border-color:rgba(47,47,44,.12)!important;box-shadow:none!important}
.fh-native-card:hover{transform:translateY(-3px);box-shadow:0 18px 46px rgba(47,47,44,.08)!important}

/* 04 / HISTORIA — editable template part */
.fh-history-template-part{display:block;margin:0!important;padding:0!important}
.fh-history-section{background:var(--fh-ivory)!important;padding-top:72px!important;padding-bottom:72px!important;scroll-margin-top:170px}
.fh-history-grid{gap:0!important;width:min(1380px,calc(100% - 64px))!important;max-width:1380px!important;margin-left:auto!important;margin-right:auto!important;background:var(--fh-ivory);border:1px solid rgba(47,47,44,.10)}
.fh-history-photo{position:relative;min-height:520px;overflow:hidden;background:var(--fh-warm-sand)}
.fh-history-image{position:absolute;inset:0;width:100%;height:100%;margin:0!important}
.fh-history-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center}
.fh-history-copy{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;min-width:0;padding:56px clamp(46px,5vw,82px)!important;background:var(--fh-ivory)}
.fh-history-title{width:100%;max-width:660px;margin:0 0 28px!important;color:var(--fh-charcoal)!important;font-family:var(--fh-font-display)!important;font-size:clamp(2.8rem,3.15vw,3.8rem)!important;font-weight:400!important;letter-spacing:-.03em;line-height:1.02}
.fh-history-text{width:100%;max-width:650px;margin:0 0 18px!important;color:var(--fh-charcoal)!important;font-family:var(--fh-font-body)!important;font-size:.94rem!important;line-height:1.78}
.fh-history-more{width:100%;margin:28px 0 0!important;font-family:var(--fh-font-ui)!important;font-size:.72rem!important;font-weight:600;letter-spacing:.08em}
.fh-history-more a{display:inline-flex;gap:12px;color:var(--fh-charcoal)!important;text-decoration:none!important}
.fh-history-more span{color:var(--fh-champagne);font-size:1rem;transition:transform .2s ease}
.fh-history-more a:hover span{transform:translateX(4px)}

/* 06 / STRATEGIA ZMIANY — editable template part */
.fh-strategy-template-part{display:block;margin:0!important;padding:0!important}
.fh-strategy-section{background:var(--fh-ivory)!important;padding-top:72px!important;padding-bottom:72px!important}
.fh-strategy-grid{display:flex!important;align-items:stretch!important;gap:0!important;width:min(1380px,calc(100% - 64px))!important;max-width:1380px!important;min-height:470px;margin-left:auto!important;margin-right:auto!important;background:var(--fh-ivory);border:1px solid rgba(47,47,44,.10);overflow:hidden;position:relative}
.fh-strategy-copy{display:flex!important;align-items:center!important;flex:0 0 58%!important;min-width:0;padding:58px clamp(46px,5vw,82px)!important;background:linear-gradient(90deg,var(--fh-ivory) 0%,var(--fh-ivory) 74%,rgba(247,245,241,.96) 84%,rgba(247,245,241,.70) 94%,rgba(247,245,241,0) 100%);position:relative;z-index:2}
.fh-strategy-copy-inner{width:100%;max-width:610px;margin:0!important;position:relative;z-index:3}
.fh-strategy-kicker{margin:0 0 12px!important;color:var(--fh-champagne)!important;font-family:var(--fh-font-ui)!important;font-size:.68rem!important;font-weight:600!important;letter-spacing:.16em!important;text-transform:uppercase}
.fh-strategy-title{margin:0 0 34px!important;color:var(--fh-charcoal)!important;font-family:var(--fh-font-display)!important;font-size:clamp(2.7rem,3.4vw,4.1rem)!important;font-weight:400!important;letter-spacing:-.03em;line-height:1}
.fh-strategy-steps{display:flex!important;flex-direction:column!important;gap:20px!important;margin:0!important}
.fh-strategy-step{display:grid!important;grid-template-columns:46px 34px minmax(0,1fr)!important;gap:14px!important;align-items:center!important;margin:0!important}
.fh-strategy-number{margin:0!important;color:var(--fh-champagne)!important;font-family:var(--fh-font-display)!important;font-size:1.55rem!important;font-weight:500!important;line-height:1}
.fh-strategy-line{width:34px!important;min-width:34px!important;margin:0!important;border:0!important;border-top:1px solid var(--fh-champagne)!important;opacity:.8}
.fh-strategy-step-text{margin:0!important;color:var(--fh-charcoal)!important;font-family:var(--fh-font-body)!important;font-size:.94rem!important;font-weight:500!important;line-height:1.55}
.fh-strategy-photo{align-self:stretch!important;flex:0 0 50%!important;margin-left:-8%!important;min-height:470px;position:relative;z-index:1;background:var(--fh-warm-sand);overflow:hidden}
.fh-strategy-image{position:absolute;inset:0;width:100%;height:100%;margin:0!important}
.fh-strategy-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 42%;filter:saturate(.90) contrast(.98)}
.fh-strategy-photo:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(247,245,241,.96) 0%,rgba(247,245,241,.65) 15%,rgba(247,245,241,.22) 30%,rgba(247,245,241,0) 46%)}

/* Session inquiry page */
.fh-session-page{padding:80px 22px 110px;background:var(--fh-ivory)}
.fh-session-card{width:min(100%,780px);margin:0 auto;padding:48px clamp(24px,5vw,64px);background:var(--fh-ivory);border:1px solid rgba(47,47,44,.14);border-radius:16px}
.fh-session-kicker{margin:0 0 12px;color:var(--fh-champagne);font-family:var(--fh-font-ui);font-size:.7rem;font-weight:600;letter-spacing:.18em}
.fh-session-card h1{margin:0 0 18px;font-family:var(--fh-font-display);font-size:clamp(3rem,6vw,5.2rem);font-weight:400;line-height:.95;color:var(--fh-charcoal)}
.fh-session-intro{max-width:600px;margin:0 0 36px;line-height:1.7}
.fh-session-success{margin:0 0 24px;padding:14px 16px;background:var(--fh-sage);border-radius:8px}
.fh-session-form{display:grid;gap:20px}
.fh-session-field label{display:block;margin-bottom:8px;font-family:var(--fh-font-ui);font-size:.78rem;font-weight:600}
.fh-session-field label span{font-weight:400;opacity:.65}
.fh-session-field input,.fh-session-field textarea{width:100%;border:1px solid var(--fh-taupe);border-radius:8px;background:var(--fh-ivory);color:var(--fh-charcoal);font:inherit;padding:13px 14px}
.fh-session-field input:focus,.fh-session-field textarea:focus{outline:2px solid var(--fh-champagne);outline-offset:2px}
.fh-session-consent{font-size:.82rem;line-height:1.5}
.fh-session-submit{justify-self:start;border:0;border-radius:999px;background:var(--fh-champagne);color:var(--fh-ivory);padding:14px 28px;font-family:var(--fh-font-ui);font-size:.72rem;font-weight:600;letter-spacing:.08em;cursor:pointer}

@media(max-width:900px){
  .fh-hero-editorial-grid{display:block!important;min-height:auto!important;position:relative}
  .fh-hero-editorial-copy{min-height:680px;padding:78px 24px 60px!important;background:linear-gradient(180deg,rgba(47,47,44,.30) 0%,rgba(47,47,44,.72) 52%,rgba(47,47,44,.94) 100%);position:relative;z-index:2}
  .fh-hero-copy-inner{margin:0;align-self:flex-end}
  .fh-hero-photo{position:absolute!important;inset:0;min-height:680px!important;margin-left:0!important;z-index:1}
  .fh-hero-photo-image{width:100%;left:0}
  .fh-hero-photo-image img{object-position:center 36%;filter:saturate(.88)}
  .fh-hero-photo:after{background:linear-gradient(180deg,rgba(47,47,44,.08) 0%,rgba(47,47,44,.18) 36%,rgba(47,47,44,.55) 70%,rgba(47,47,44,.82) 100%)}
  .fh-hero-editorial .fh-hero-v5-title{font-size:clamp(3rem,12vw,4.8rem)!important}
  .fh-history-grid{display:block!important;width:calc(100% - 36px)!important}
  .fh-history-photo{min-height:460px}
  .fh-history-image{position:absolute!important}
  .fh-history-copy{padding:44px 28px!important}
  .fh-strategy-grid{display:block!important;width:calc(100% - 36px)!important;min-height:auto}
  .fh-strategy-copy{min-height:390px;padding:48px 32px!important;background:var(--fh-ivory)!important}
  .fh-strategy-photo{min-height:420px!important;margin-left:0!important}
  .fh-strategy-image{position:absolute!important}
  .fh-strategy-photo:after{background:linear-gradient(180deg,rgba(247,245,241,.72) 0%,rgba(247,245,241,.18) 24%,rgba(247,245,241,0) 48%)}
}

@media(max-width:520px){
  .fh-hero-editorial-copy{min-height:650px;padding:64px 20px 42px!important;align-items:flex-end!important}
  .fh-hero-photo{min-height:650px!important}
  .fh-hero-editorial .fh-hero-v5-title{font-size:clamp(2.75rem,13vw,4rem)!important;margin-bottom:22px}
  .fh-hero-editorial .fh-hero-v5-lead{font-size:.94rem!important;margin-bottom:28px}
  .fh-hero-lead-line{display:inline}
  .fh-hero-lead-line:not(:last-child)::after{content:' '}
  .fh-hero-editorial .fh-session-button .wp-element-button{min-width:190px}
  .fh-section{padding-top:64px!important;padding-bottom:64px!important}
  .fh-history-section{padding-top:32px!important;padding-bottom:32px!important;scroll-margin-top:110px}
  .fh-history-grid{width:calc(100% - 24px)!important}
  .fh-history-photo{min-height:350px}
  .fh-history-copy{padding:34px 22px!important}
  .fh-history-title{font-size:2.55rem!important}
  .fh-strategy-section{padding-top:32px!important;padding-bottom:32px!important}
  .fh-strategy-grid{width:calc(100% - 24px)!important}
  .fh-strategy-copy{min-height:auto;padding:36px 24px!important}
  .fh-strategy-title{font-size:2.75rem!important;margin-bottom:28px!important}
  .fh-strategy-step{grid-template-columns:40px 28px minmax(0,1fr)!important;gap:10px!important}
  .fh-strategy-line{width:28px!important;min-width:28px!important}
  .fh-strategy-photo{min-height:340px!important}
  .fh-session-page{padding:48px 16px 72px}
  .fh-session-card{padding:34px 20px}
}
