@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Inter:wght@300;400;500;600;700&display=swap');

/* ===== Furniture Story — "O nas" / Our Story =====
   Ported 1:1 from mockup +Makieta/our-story.html (editorial content sections only;
   OpenCart header/footer chrome is kept). Everything scoped under .fs-about so it
   does not collide with OpenCart's Bootstrap theme. :root tokens stay global and
   match furniture_story_pdp.css (adds --bg-deep, --line-strong). */

:root{
  --bg:#FAF8F4;
  --bg-alt:#F2EDE5;
  --bg-warm:#E8DFD2;
  --bg-deep:#1F1B17;
  --ink:#1A1A1A;
  --ink-soft:#4A4744;
  --muted:#8B857E;
  --line:#E5DFD5;
  --line-strong:#D7CFC2;
  --accent:#5C5347;
  --sage:#8A9A7B;
  --terracotta:#B66B4A;
  --white:#FFFFFF;
  --serif:'Cormorant Garamond', Georgia, serif;
  --sans:'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  --transition:0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.fs-about{
  font-family:var(--sans);font-size:16px;line-height:1.7;
  color:var(--ink);background:var(--bg);
  -webkit-font-smoothing:antialiased;
}
.fs-about *{margin:0;padding:0;box-sizing:border-box;}
.fs-about img{max-width:100%;display:block;}
.fs-about a{color:inherit;text-decoration:none;transition:opacity var(--transition);}
.fs-about a:hover{opacity:0.7;}
.fs-about button{font-family:inherit;cursor:pointer;border:none;background:none;}
/* OpenCart's stylesheet.css forces h1..h6{color:#444}. Restore the mockup's behaviour:
   headings inherit their section colour (white on the dark hero, --ink on light sections). */
.fs-about h1,.fs-about h2,.fs-about h3,.fs-about h4,.fs-about h5,.fs-about h6{color:inherit;}

/* ===== HERO — full-bleed editorial cover ===== */
.fs-about .hero{
  position:relative;
  height:90vh;min-height:640px;max-height:880px;
  overflow:hidden;
  color:var(--white);
}
.fs-about .hero img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center 30%;
}
.fs-about .hero::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0.3) 50%, rgba(0,0,0,0.55) 100%);
}
.fs-about .hero-content{
  position:absolute;inset:0;
  display:flex;flex-direction:column;justify-content:flex-end;
  padding:0 48px 80px;
  z-index:2;
}
.fs-about .hero-eyebrow{
  font-family:var(--sans);
  font-size:12px;letter-spacing:0.2em;text-transform:uppercase;
  color:rgba(255,255,255,0.85);
  display:flex;align-items:center;gap:14px;
  margin-bottom:24px;
}
.fs-about .hero-eyebrow::before, .fs-about .hero-eyebrow::after{
  content:"";flex:0 0 36px;height:1px;background:rgba(255,255,255,0.5);
}
.fs-about .hero h1{
  font-family:var(--serif);
  font-size:clamp(54px, 7vw, 112px);
  line-height:1;font-weight:500;letter-spacing:-0.015em;
  max-width:14ch;
}
.fs-about .hero h1 em{font-style:italic;color:#E0C5A8;font-weight:400;}
.fs-about .hero-sub{
  margin-top:24px;
  font-family:var(--serif);font-style:italic;
  font-size:22px;line-height:1.4;
  max-width:520px;color:rgba(255,255,255,0.92);
}
.fs-about .hero-meta{
  position:absolute;top:40px;right:48px;
  font-size:11px;letter-spacing:0.2em;text-transform:uppercase;
  color:rgba(255,255,255,0.85);
  display:flex;flex-direction:column;align-items:flex-end;gap:4px;
}
.fs-about .hero-meta strong{font-weight:500;}

/* ===== Prologue — editorial intro ===== */
.fs-about .prologue{
  padding:120px 48px 100px;
  background:var(--bg);
}
.fs-about .prologue-inner{
  max-width:1080px;margin:0 auto;
  text-align:center;
}
.fs-about .chapter-tag{
  font-family:var(--sans);font-size:11px;letter-spacing:0.3em;text-transform:uppercase;
  color:var(--terracotta);font-weight:500;
  display:inline-flex;align-items:center;gap:14px;
  margin-bottom:28px;
}
.fs-about .chapter-tag::before, .fs-about .chapter-tag::after{
  content:"";flex:0 0 36px;height:1px;background:var(--line-strong);
}
.fs-about .prologue h2{
  font-family:var(--serif);
  font-size:clamp(34px, 4vw, 56px);
  line-height:1.15;font-weight:500;letter-spacing:-0.01em;
  margin-bottom:36px;
}
.fs-about .prologue h2 em{font-style:italic;color:var(--terracotta);font-weight:400;}
.fs-about .prologue-lead{
  font-family:var(--serif);font-style:italic;
  font-size:24px;line-height:1.55;color:var(--ink-soft);
  max-width:760px;margin:0 auto;
}

/* ===== Two-column body text ===== */
.fs-about .body-spread{
  padding:0 48px 120px;
  background:var(--bg);
}
.fs-about .body-inner{
  max-width:1080px;margin:0 auto;
  columns:2;column-gap:56px;
  font-size:17px;line-height:1.8;color:var(--ink-soft);
}
.fs-about .body-inner p{margin-bottom:18px;break-inside:avoid;}
.fs-about .body-inner p:first-child::first-letter{
  font-family:var(--serif);
  font-size:78px;line-height:0.85;
  font-weight:500;color:var(--terracotta);
  float:left;margin:8px 12px 0 0;
  padding-top:6px;
}
.fs-about .body-inner p:first-child{break-inside:avoid;}

/* ===== Image spread ===== */
.fs-about .spread{
  position:relative;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  background:var(--bg-alt);
}
.fs-about .spread-img{
  aspect-ratio:4/5;
  background:var(--bg-warm);
  overflow:hidden;
}
.fs-about .spread-img img{width:100%;height:100%;object-fit:cover;}
.fs-about .spread-text{
  padding:96px 80px;
  display:flex;flex-direction:column;justify-content:center;
  background:var(--bg);
}
.fs-about .spread.reverse .spread-img{order:2;}
.fs-about .spread.reverse .spread-text{order:1;}
.fs-about .spread-text .chapter-num{
  font-family:var(--serif);font-style:italic;
  font-size:18px;color:var(--terracotta);
  margin-bottom:14px;
}
.fs-about .spread-text h3{
  font-family:var(--serif);
  font-size:clamp(34px, 3vw, 48px);
  line-height:1.15;font-weight:500;letter-spacing:-0.01em;
  margin-bottom:24px;
}
.fs-about .spread-text h3 em{font-style:italic;color:var(--terracotta);font-weight:400;}
.fs-about .spread-text p{
  font-size:16px;line-height:1.8;color:var(--ink-soft);
  margin-bottom:18px;
}
.fs-about .spread-caption{
  position:absolute;bottom:28px;left:28px;
  font-size:11px;letter-spacing:0.15em;text-transform:uppercase;
  color:rgba(255,255,255,0.85);
  background:rgba(26,26,26,0.4);backdrop-filter:blur(8px);
  padding:8px 14px;border-radius:2px;
}
.fs-about .spread.reverse .spread-caption{left:auto;right:28px;}

/* ===== Pull quote ===== */
.fs-about .pullquote{
  padding:120px 48px;
  background:var(--bg-deep);
  color:var(--bg);
  text-align:center;
}
.fs-about .pullquote-inner{
  max-width:920px;margin:0 auto;
  position:relative;
}
.fs-about .pullquote::before{
  content:"";display:block;
  width:48px;height:1px;background:var(--terracotta);
  margin:0 auto 32px;
}
.fs-about .pullquote q{
  quotes:none;
  font-family:var(--serif);font-style:italic;
  font-size:clamp(28px, 3.2vw, 44px);
  line-height:1.35;font-weight:400;
  color:var(--bg);
  letter-spacing:-0.005em;
}
.fs-about .pullquote q::before{content:"\201C ";}
.fs-about .pullquote q::after{content:" \201D";}
.fs-about .pullquote-attr{
  margin-top:36px;
  font-family:var(--sans);font-size:11px;letter-spacing:0.25em;text-transform:uppercase;
  color:rgba(255,255,255,0.6);font-weight:500;
}
.fs-about .pullquote-attr strong{color:var(--bg);font-weight:500;}

/* ===== Four hands grid ===== */
.fs-about .four-hands{
  padding:120px 48px;
  background:var(--bg);
  text-align:center;
}
.fs-about .section-head{
  max-width:780px;margin:0 auto 80px;
}
.fs-about .section-head h2{
  font-family:var(--serif);
  font-size:clamp(34px, 4vw, 52px);
  line-height:1.15;font-weight:500;letter-spacing:-0.01em;
  margin:18px 0 16px;
}
.fs-about .section-head h2 em{font-style:italic;color:var(--terracotta);font-weight:400;}
.fs-about .section-head p{
  font-family:var(--serif);font-style:italic;
  font-size:20px;line-height:1.5;color:var(--ink-soft);
}
.fs-about .hands-grid{
  max-width:1280px;margin:0 auto;
  display:grid;grid-template-columns:repeat(4, 1fr);
  gap:1px;
  background:var(--line);
  border:1px solid var(--line);
}
.fs-about .hand{
  background:var(--bg);
  padding:48px 36px;
  text-align:left;
  position:relative;
}
.fs-about .hand-num{
  font-family:var(--serif);font-style:italic;
  font-size:18px;color:var(--terracotta);
  margin-bottom:24px;
  display:flex;align-items:center;gap:10px;
}
.fs-about .hand-num::before{
  content:"";width:24px;height:1px;background:var(--terracotta);
}
.fs-about .hand h4{
  font-family:var(--serif);
  font-size:26px;font-weight:500;line-height:1.2;
  margin-bottom:14px;
}
.fs-about .hand p{font-size:14px;line-height:1.7;color:var(--ink-soft);}
.fs-about .hand-icon{
  width:42px;height:42px;
  display:flex;align-items:center;justify-content:center;
  color:var(--accent);
  margin-bottom:24px;
  border:1px solid var(--line-strong);
  border-radius:50%;
}
.fs-about .hand-icon svg{width:20px;height:20px;}

/* ===== Specs section ===== */
.fs-about .specs{
  padding:120px 48px;
  background:var(--bg-alt);
}
.fs-about .specs-grid{
  max-width:1280px;margin:0 auto;
  display:grid;grid-template-columns:0.9fr 1.1fr;gap:80px;
  align-items:center;
}
.fs-about .specs-img{
  aspect-ratio:4/5;
  background:var(--bg-warm);
  overflow:hidden;
  border-radius:2px;
}
.fs-about .specs-img img{width:100%;height:100%;object-fit:cover;}
.fs-about .specs-content .chapter-num{
  font-family:var(--serif);font-style:italic;
  font-size:18px;color:var(--terracotta);
  margin-bottom:14px;
}
.fs-about .specs-content h3{
  font-family:var(--serif);
  font-size:clamp(34px, 3vw, 48px);
  line-height:1.15;font-weight:500;letter-spacing:-0.01em;
  margin-bottom:32px;
}
.fs-about .specs-content h3 em{font-style:italic;color:var(--terracotta);font-weight:400;}
.fs-about .spec-list{list-style:none;padding:0;}
.fs-about .spec-list li{
  display:grid;grid-template-columns:auto 1fr;gap:20px;
  padding:22px 0;
  border-top:1px solid var(--line-strong);
  align-items:flex-start;
}
.fs-about .spec-list li:last-child{border-bottom:1px solid var(--line-strong);}
.fs-about .spec-list .spec-label{
  font-family:var(--serif);font-style:italic;
  font-size:18px;color:var(--terracotta);
  white-space:nowrap;min-width:100px;
}
.fs-about .spec-list .spec-body strong{
  display:block;font-family:var(--serif);font-size:22px;font-weight:500;
  color:var(--ink);margin-bottom:6px;line-height:1.3;
}
.fs-about .spec-list .spec-body p{
  font-size:14px;line-height:1.7;color:var(--ink-soft);margin:0;
}

/* ===== Numbers strip ===== */
.fs-about .numbers{
  background:var(--bg-deep);color:var(--bg);
  padding:80px 48px;
}
.fs-about .numbers-inner{
  max-width:1280px;margin:0 auto;
  display:grid;grid-template-columns:repeat(4, 1fr);
  gap:0;
  border-left:1px solid rgba(255,255,255,0.12);
}
.fs-about .num-cell{
  padding:32px 28px;
  border-right:1px solid rgba(255,255,255,0.12);
  text-align:center;
}
.fs-about .num-cell .n{
  font-family:var(--serif);
  font-size:64px;font-weight:500;line-height:1;
  margin-bottom:12px;color:var(--bg);
}
.fs-about .num-cell .n em{font-style:italic;color:#E0C5A8;font-weight:400;}
.fs-about .num-cell .l{
  font-family:var(--sans);font-size:11px;letter-spacing:0.2em;text-transform:uppercase;
  color:rgba(255,255,255,0.7);
}

/* ===== Values ===== */
.fs-about .values{
  padding:120px 48px;
  background:var(--bg);
  text-align:center;
}
.fs-about .values-grid{
  max-width:1280px;margin:0 auto;
  display:grid;grid-template-columns:repeat(3, 1fr);
  gap:56px;
  text-align:left;
}
.fs-about .value-card{
  padding:48px 0;
  border-top:1px solid var(--line-strong);
}
.fs-about .value-card .vt{
  font-family:var(--serif);font-style:italic;
  font-size:16px;color:var(--terracotta);
  margin-bottom:18px;
}
.fs-about .value-card h4{
  font-family:var(--serif);
  font-size:30px;font-weight:500;line-height:1.2;
  margin-bottom:18px;
}
.fs-about .value-card p{font-size:15px;line-height:1.8;color:var(--ink-soft);}

/* ===== London showroom ===== */
.fs-about .showroom{
  position:relative;
  min-height:560px;
  display:grid;
  grid-template-columns:1fr 1fr;
  background:var(--bg-warm);
}
.fs-about .showroom-img{overflow:hidden;}
.fs-about .showroom-img img{width:100%;height:100%;object-fit:cover;}
.fs-about .showroom-content{
  padding:96px 80px;
  display:flex;flex-direction:column;justify-content:center;
}
.fs-about .showroom-content .chapter-num{
  font-family:var(--serif);font-style:italic;
  font-size:18px;color:var(--terracotta);
  margin-bottom:14px;
}
.fs-about .showroom-content h3{
  font-family:var(--serif);
  font-size:clamp(34px, 3vw, 52px);
  line-height:1.15;font-weight:500;letter-spacing:-0.01em;
  margin-bottom:24px;
}
.fs-about .showroom-content h3 em{font-style:italic;color:var(--terracotta);font-weight:400;}
.fs-about .showroom-content p{
  font-size:16px;line-height:1.8;color:var(--ink-soft);
  margin-bottom:18px;
}
.fs-about .showroom-meta{
  margin-top:24px;padding-top:24px;
  border-top:1px solid var(--line-strong);
  display:grid;grid-template-columns:1fr 1fr;gap:24px;
  font-size:13px;line-height:1.6;color:var(--ink-soft);
}
.fs-about .showroom-meta strong{
  display:block;font-family:var(--sans);font-size:11px;letter-spacing:0.18em;
  text-transform:uppercase;color:var(--ink);margin-bottom:8px;font-weight:600;
}

/* ===== CTA ===== */
.fs-about .cta{
  background:var(--bg-alt);
  padding:120px 48px;
  text-align:center;
}
.fs-about .cta h2{
  font-family:var(--serif);
  font-size:clamp(36px, 4vw, 56px);
  line-height:1.15;font-weight:500;letter-spacing:-0.01em;
  margin-bottom:18px;
}
.fs-about .cta h2 em{font-style:italic;color:var(--terracotta);font-weight:400;}
.fs-about .cta p{
  font-family:var(--serif);font-style:italic;
  font-size:20px;color:var(--ink-soft);
  max-width:600px;margin:0 auto 40px;
}
.fs-about .cta-buttons{display:inline-flex;gap:14px;flex-wrap:wrap;justify-content:center;}
.fs-about .btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:18px 32px;
  font-family:var(--sans);font-size:13px;font-weight:600;
  letter-spacing:0.12em;text-transform:uppercase;
  border-radius:2px;
  transition:background var(--transition), color var(--transition), border-color var(--transition);
}
.fs-about .btn-primary{background:var(--ink);color:var(--bg);}
.fs-about .btn-primary:hover{background:var(--accent);opacity:1;}
.fs-about .btn-outline{background:transparent;color:var(--ink);border:1px solid var(--ink);}
.fs-about .btn-outline:hover{background:var(--ink);color:var(--bg);opacity:1;}
.fs-about .btn svg{width:14px;height:14px;}

/* ===== Responsive ===== */
@media(max-width:1024px){
  .fs-about .body-inner{columns:1;}
  .fs-about .hands-grid{grid-template-columns:repeat(2, 1fr);}
  .fs-about .specs-grid{grid-template-columns:1fr;gap:48px;}
  .fs-about .values-grid{grid-template-columns:1fr;gap:0;}
  .fs-about .showroom{grid-template-columns:1fr;}
  .fs-about .showroom-img{aspect-ratio:16/10;}
  .fs-about .showroom-content{padding:64px 40px;}
  .fs-about .numbers-inner{grid-template-columns:repeat(2, 1fr);}
  .fs-about .num-cell:nth-child(2){border-right:none;}
  .fs-about .spread{grid-template-columns:1fr;}
  .fs-about .spread.reverse .spread-img{order:1;}
  .fs-about .spread.reverse .spread-text{order:2;}
  .fs-about .spread-text{padding:64px 40px;}
}
@media(max-width:640px){
  .fs-about .hero-content{padding:0 24px 48px;}
  .fs-about .hero-meta{display:none;}
  .fs-about .prologue, .fs-about .body-spread, .fs-about .four-hands,
  .fs-about .specs, .fs-about .values, .fs-about .cta{padding-left:24px;padding-right:24px;}
  .fs-about .pullquote{padding:80px 24px;}
  .fs-about .hands-grid{grid-template-columns:1fr;}
  .fs-about .num-cell .n{font-size:46px;}
}
