/* FOLBEN Atelier / V3 — editorial identity and section-following scarlet route */
:root{
  --signal-red:#cb3040;
  --signal-red-bright:#ec4c53;
  --warm-paper:#f4f4f0;
  --line-paper:#d9dfdf;
  --matte-ink:#112b39;
}
::selection{background:#cc3040;color:#fff}
html{scroll-padding-top:90px}
body{background:var(--warm-paper)}
/* Make typography intentional rather than template-gradient based */
h2{font-weight:700;letter-spacing:-.059em;line-height:1.13}
h2 em,.hero-copy h1 em{color:inherit;font-style:normal}
.about-copy h2 em,.section-heading-row h2 em,.contact-intro h2 em{color:inherit}
.section-eyebrow,.section-eyebrow.on-dark{font-size:10px;letter-spacing:.19em;font-weight:800}
.section-eyebrow i,.section-eyebrow.on-dark i{width:27px;height:2px;background:var(--signal-red)}
.text-link{border-bottom-color:#b5c1c6}
.text-link:hover,.footer-nav-col a:hover{color:var(--signal-red)}
.site-header.scrolled{background:rgba(248,248,245,.975);box-shadow:0 1px 0 #18334518,0 10px 40px #0b202512}
.nav-link{position:relative;letter-spacing:-.01em}
.nav-link.active::after{background:var(--signal-red);width:100%;height:2px;bottom:-14px;left:0;margin:0}
.nav-quote,.site-header.scrolled .nav-quote{border-radius:0}
.site-header.scrolled .nav-quote:hover{background:var(--signal-red);color:#fff}
/* Hero: dark filmic aesthetic with small signature marks in scarlet */
.hero-kicker .kicker-line,.hero-progress-wrapper span{background:var(--signal-red-bright)}
.hero-progress-wrapper span{box-shadow:0 0 9px #ec4c535a}
.hero-copy h1{font-weight:700;letter-spacing:-.071em}
.hero-copy h1 em{color:#f1f3f1}
.hero-actions .btn-fill{background:#f5f6f4;color:#102d3d}
.hero-actions .btn-fill:hover{background:#e3e8e7}
.hero-step.is-current i{background:var(--signal-red-bright)}
.hero-film-note{font-weight:700}
.hero-bottom-left{font-size:9px;letter-spacing:.14em}
.intro-strip{background:#112b3a;border-top:1px solid #ffffff1a;border-bottom:1px solid #ffffff1a}
.intro-strip i{border-radius:0;background:var(--signal-red);width:17px;height:1px}
.intro-strip span{font-weight:700;letter-spacing:.14em;font-size:10px}
/* Discrete chapter rules crossing content sections */
main section[id]:not(.hero-sequence){position:relative}
.chapter-rule{position:absolute;top:0;left:max(4%,calc((100% - 1320px)/2));right:max(4%,calc((100% - 1320px)/2));height:2px;background:#a7b4b930;z-index:3;pointer-events:none}
.chapter-rule-fill{position:absolute;inset:0 auto 0 0;background:var(--signal-red);width:0%;box-shadow:0 0 12px #cf303c28;transition:width .14s linear}
.chapter-rule-label{position:absolute;right:0;top:16px;font:800 9px 'DM Sans',Arial,sans-serif;letter-spacing:.19em;color:#80939a;white-space:nowrap}
.products-section .chapter-rule,.contact-section .chapter-rule{background:#ffffff2c}
.products-section .chapter-rule-label,.contact-section .chapter-rule-label{color:#a0b9c5}
/* The journey fixed at the right edge, no conflict with left social rail */
.journey-rail{position:fixed;z-index:87;right:17px;top:50%;transform:translateY(-44%);display:flex;flex-direction:column;align-items:flex-end;gap:20px;width:121px;color:#dae5e8;pointer-events:none;mix-blend-mode:normal;transition:opacity .25s}
.journey-rail a{pointer-events:auto}
.journey-capsule{text-align:right;display:flex;align-items:flex-end;flex-direction:column;gap:4px;padding-right:13px;border-right:1px solid #99a5ab6e;min-width:120px}
.journey-heading{font:800 8px 'DM Sans',Arial,sans-serif;letter-spacing:.13em;color:#adbdc5}
.journey-current{display:flex;align-items:baseline;gap:5px;font-family:'Manrope',Arial,sans-serif;line-height:1}
.journey-current strong{font-size:26px;font-weight:800;letter-spacing:-.07em}
.journey-slash{font-size:11px;color:#a5b5bd}
.journey-name{font:800 10px 'DM Sans',Arial,sans-serif;letter-spacing:.12em}
.journey-percent{font:800 10px 'DM Sans',Arial,sans-serif;color:var(--signal-red-bright);letter-spacing:.05em}
.journey-track{display:flex;flex-direction:column;width:116px;position:relative;gap:0;padding:0;margin-right:0;pointer-events:auto}
.journey-line-base,.journey-line-fill{position:absolute;right:16px;top:18px;bottom:18px;width:1px;pointer-events:none}
.journey-line-base{background:#8b989d85}
.journey-line-fill{background:var(--signal-red-bright);bottom:auto;height:0;transition:height .12s linear;box-shadow:0 0 8px #e8434670}
.journey-node{height:37px;display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:12px;white-space:nowrap;color:#c8d6dba8;opacity:.75;outline-offset:3px}
.journey-node span{font:800 9px 'DM Sans',Arial,sans-serif;letter-spacing:.03em;opacity:0;transform:translateX(5px);transition:opacity .18s,transform .18s}
.journey-node i{display:block;border:1px solid currentColor;background:#16303c;width:9px;height:9px;border-radius:50%;margin-right:12px;position:relative;z-index:1;transition:background .25s,transform .25s;flex-shrink:0}
.journey-node:hover span,.journey-node:focus-visible span,.journey-node.is-active span{opacity:1;transform:translateX(0)}
.journey-node.is-active{color:#fff;opacity:1}
.journey-node.is-active i{background:var(--signal-red-bright);border-color:var(--signal-red-bright);transform:scale(1.3);box-shadow:0 0 0 4px #e94b4a29}
.journey-node.is-passed i{background:var(--signal-red-bright);border-color:var(--signal-red-bright)}
.journey-footer{padding-right:13px;font:800 8px 'DM Sans',Arial,sans-serif;letter-spacing:.12em;color:#adb9bf;writing-mode:vertical-rl;align-self:flex-end;max-height:135px}
/* A light background adapts tracker automatically. */
.journey-rail.is-light{color:#263c48}
.journey-rail.is-light .journey-capsule{border-color:#193a4960}
.journey-rail.is-light .journey-heading,.journey-rail.is-light .journey-slash,.journey-rail.is-light .journey-footer{color:#6c7b82}
.journey-rail.is-light .journey-node{color:#45616b}
.journey-rail.is-light .journey-node.is-active{color:#102f3f}
.journey-rail.is-light .journey-node i{background:#f2f3f0}
.journey-rail.is-light .journey-node.is-active i,.journey-rail.is-light .journey-node.is-passed i{background:var(--signal-red)}
.journey-mobile{display:none}
body.menu-open .journey-rail,body.menu-open .journey-mobile{opacity:0;pointer-events:none}
/* Metric strip: real site figures; editorial layout, not marketing vanity counts */
.facts-strip{background:#ebefee;color:#132f3e;border-bottom:1px solid #d5dddd;position:relative}
.facts-strip::before{content:"";position:absolute;height:2px;background:var(--signal-red);left:0;top:0;width:8%}
.facts-grid{display:grid;grid-template-columns:1.2fr repeat(3,1fr);align-items:stretch}
.facts-intro,.fact-item{min-height:170px;padding:34px 30px 34px 0;display:flex;align-items:center;gap:14px}
.facts-intro{font-size:11px;line-height:1.6;font-weight:800;letter-spacing:.17em;color:#496271}
.facts-signal{background:var(--signal-red);width:23px;height:2px;flex-shrink:0}
.fact-item{padding-left:26px;border-left:1px solid #bac7c9a9;align-items:flex-end;justify-content:center;flex-direction:column;gap:12px}
.fact-item strong{font-family:'Manrope',Arial,sans-serif;font-weight:700;font-size:clamp(50px,4.7vw,68px);line-height:1;letter-spacing:-.08em;color:#0b2a39;display:flex;align-items:flex-start;gap:3px}
.fact-item strong sup{font:800 12px 'DM Sans',Arial,sans-serif;color:var(--signal-red);letter-spacing:.01em;padding-top:8px}
.fact-item>span{font-size:10px;line-height:1.55;letter-spacing:.12em;color:#5d7078;font-weight:800}
/* Photo/typography composition: precision and restrained editorial hierarchy */
.about-section{background:#f4f4f0}
.about-grid{grid-template-columns:1.06fr .94fr}
.about-visual{border-radius:0}
.about-image-stamp{background:#f4f3e9ed;box-shadow:0 0 0 1px #fff8}
.about-image-stamp::before{content:"";position:absolute;width:3px;height:100%;background:var(--signal-red);top:0;left:0}
.about-values{border-color:#cdd5d8}
.about-value-icon{color:var(--signal-red)!important}
.about-copy .large-lead{font-weight:600;line-height:1.55}
/* Service cards: less generic rounded promo tiles, stronger image to copy balance */
.services-section{background:#fff}
.service-card{border-radius:0;overflow:hidden}
.service-card::after{content:"";position:absolute;bottom:0;left:0;width:0;height:3px;background:var(--signal-red);z-index:5;transition:width .5s ease}
.service-card:hover::after{width:100%}
.service-top{font-size:10px;letter-spacing:.13em}
.service-arrow{background:transparent!important;border:1px solid #fff8;display:grid;place-items:center}
.service-bottom p{max-width:340px}
.service-bottom h3{letter-spacing:-.043em}
/* Products: subtle off-grid visual rhythm, maintain uniform imagery */
.products-section{background:#091f2e}
.products-grid{gap:13px}
.product-card,.product-feature{border:1px solid #ffffff22;background:#0d2c3e;transition:border-color .25s,transform .25s,background .25s}
.product-card:hover{border-color:#e34b566f;background:#103347;transform:translateY(-3px)}
.product-card:first-child{border-top:3px solid var(--signal-red)}
.product-body{border-top:1px solid #fff2}
.product-body h3{line-height:1.22;letter-spacing:-.045em}
.product-body>span{font-size:10px;letter-spacing:.15em}
.product-link{border-bottom:1px solid #ffffff55}
.product-card:hover .product-link{color:#f3aeb1;border-color:var(--signal-red)}
.product-image-index{font-weight:700;letter-spacing:.16em}
/* Reference marks: not pretend client endorsement; remove generic elevated tiles */
.references-section{background:#f0f2ef}
.reference-note .note-dot{background:var(--signal-red)}
.sample-brand{box-shadow:none!important;border-radius:0!important;transition:background .2s}
.sample-brand:hover{background:#e3eae9}
/* Journal: custom editorial line and number treatment */
.blog-section{background:#fff}
.blog-card{border-top:2px solid #173647;padding-top:16px}
.blog-card:nth-child(2){border-top-color:var(--signal-red)}
.blog-card .blog-category{font-size:10px;letter-spacing:.1em}
.blog-read{border-bottom:1px solid #a4b3bc}
.blog-read:hover{color:var(--signal-red)}
/* Contact and footer contain the red accent as a brand signature */
.contact-section{background:#081e2c}
.contact-points>a:hover strong{color:#efadb2}
.contact-form{border-top:4px solid var(--signal-red)}
.contact-form-tag i{color:var(--signal-red)}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--signal-red);outline-color:var(--signal-red)}
.form-submit:hover{background:var(--signal-red)}
.site-footer{background:#051520;border-top:1px solid #ffffff29}
.footer-bottom{border-top-color:#ffffff2b}
.footer-bottom a:hover{color:var(--signal-red-bright)}
/* Progressive entrance and accessible focus */
.journey-node:focus-visible,.nav-link:focus-visible,.btn:focus-visible{outline:2px solid var(--signal-red-bright)}
@media(min-width:1500px){.journey-rail{right:27px}}
@media(max-width:1400px){
 .journey-rail{right:0;width:54px}
 .journey-capsule,.journey-footer,.journey-node span{display:none}
 .journey-track{width:50px}
 .journey-line-base,.journey-line-fill{right:16px}
 .journey-node i{margin-right:12px}
 .journey-node:hover span,.journey-node:focus-visible span,.journey-node.is-active span{display:none}
 .chapter-rule{left:5%;right:5%}
 .facts-intro{padding-right:10px}
}
@media(max-width:1100px){
 .journey-rail{display:none}
 .journey-mobile{display:flex;position:fixed;top:88px;left:0;right:0;z-index:89;height:31px;background:#092333eb;color:#e9f0f2;align-items:center;justify-content:space-between;padding:0 24px 3px;font-size:9px;font-weight:800;letter-spacing:.15em;pointer-events:none;transition:opacity .2s}
 .journey-mobile-track{position:absolute;bottom:0;left:0;right:0;height:2px;background:#64737a78;overflow:hidden}
 .journey-mobile-track i{height:100%;width:0;display:block;background:var(--signal-red-bright);transition:width .12s linear}
 .journey-mobile.is-light{background:#f0f2eefa;color:#102f41}
 .facts-grid{grid-template-columns:repeat(3,1fr)}
 .facts-intro{grid-column:1/-1;min-height:80px;padding:25px 0 12px}
 .fact-item{min-height:135px;padding:18px 20px 30px}
 .fact-item:first-of-type{padding-left:0;border-left:0}
 .chapter-rule{left:4%;right:4%}
}
@media(max-width:750px){
 html{scroll-padding-top:90px}
 .journey-mobile{top:72px}
 .chapter-rule{left:21px;right:21px}
 .chapter-rule-label{top:12px;font-size:8px}
 .facts-grid{grid-template-columns:1fr 1fr}
 .facts-intro{grid-column:1/-1;min-height:77px}
 .fact-item{min-height:137px;border-top:1px solid #cbd3d4;padding:19px 8px 25px 0;align-items:flex-start}
 .fact-item:nth-child(2){border-left:0}
 .fact-item:nth-child(4){grid-column:1/-1;min-height:118px;flex-direction:row;align-items:center;justify-content:flex-start;gap:35px}
 .fact-item:nth-child(4)>span{margin:0}
 .fact-item strong{font-size:50px}
 .about-section,.references-section{background:#f4f4f0}
 .about-copy h2{font-size:clamp(38px,8.5vw,60px)}
 .section-heading-row h2{font-size:clamp(39px,8.3vw,60px)}
 .hero-copy{z-index:5}
 .hero-steps{gap:7px}
 .products-grid{gap:13px}
 .product-card:hover{transform:none}
 .service-card:hover::after{width:100%}
}
@media(max-width:390px){
 .journey-mobile{padding-inline:20px}
 .facts-grid{width:calc(100% - 38px)}
 .fact-item strong{font-size:47px}
 .chapter-rule-label{font-size:7px}
}
@media(prefers-reduced-motion:reduce){
 .journey-line-fill,.chapter-rule-fill,.journey-mobile-track i,.journey-node,.journey-node i,.journey-node span,.product-card,.service-card::after{transition:none!important}
}

/* Final balance adjustments after desktop review */
@media(min-width:1101px){
  .folben-atelier .section-pad > .container{width:min(1170px,calc(100% - 200px))}
  .folben-atelier .about-copy h2{font-size:clamp(43px,4.35vw,67px)}
  .folben-atelier .section-heading-row h2{font-size:clamp(44px,4.45vw,69px)}
  .hero-side{top:auto;bottom:113px;right:max(11%,calc((100% - 1150px)/2));transform:none;gap:0}
  .hero-side .side-eyebrow{display:none}
  .hero-steps{flex-direction:row;gap:14px}
  .hero-step{gap:6px;align-items:center}
  .hero-step i{width:12px;height:2px}
  .hero-step.is-current i{width:26px;height:2px}
}
.site-header.site-header-dark,.site-header.site-header-dark.scrolled{background:rgba(5,23,35,.975)!important;color:#f4f8fa!important;box-shadow:0 1px 0 #dcebf220!important}
.site-header.site-header-dark .brand-light{opacity:1!important}
.site-header.site-header-dark .brand-dark{opacity:0!important}
.site-header.site-header-dark .nav-quote{background:#f3f4f2;color:#102f40}
.site-header.site-header-dark .mobile-toggle{color:#fff}
@media(max-width:1100px){.site-header.site-header-dark+.mobile-menu{background:#f8fbfc}}
