/* TQ systemet – local styles. Sizes here are final (not reduced by the transformer).
   Illustration rules below are copied from tq-survey.html / tq-process.html. */
.draw{transition:stroke-dashoffset 1.8s cubic-bezier(.22,.8,.24,1) .2s}
.tqs-wait .draw{stroke-dashoffset:503}
.lvl{transform-box:fill-box;transform-origin:center;transition:opacity .6s ease,transform .7s cubic-bezier(.22,.8,.24,1)}
.tqs-wait .lvl{opacity:0;transform:scale(.2)}
.seg{transition:stroke-dasharray .9s cubic-bezier(.22,.8,.24,1)}
.org-wait .seg{stroke-dasharray:0 400 !important;transition:none}
.fadein{transition:opacity .6s ease 1.9s}
.org-wait .fadein{opacity:0;transition:none}
.bmline{stroke-dasharray:1;transition:stroke-dashoffset 2.2s cubic-bezier(.4,.1,.2,1)}
.org-wait .bmline{stroke-dashoffset:1;transition:none}
.pt{transition:opacity .5s ease,transform .6s cubic-bezier(.22,.8,.24,1)}
.org-wait .pt{opacity:0;transform:translateY(8px);transition:none}
@media (prefers-reduced-motion:reduce){.draw,.lvl,.seg,.bmline,.pt,.fadein{transition:none !important}}

.sy *{box-sizing:border-box}
.sy-k{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#5c5953}
.sy-dark .sy-k{color:#c9c6c0}
.sy-t{font-size:clamp(28px,3.6vw,44px);font-weight:300;line-height:1.1;letter-spacing:-.6px;margin:0}
.sy-cap{font-size:12px;color:#5c5953;letter-spacing:.02em}
.sy-dark .sy-cap{color:#b3aea6}
.sy-bleed{width:100%;overflow:hidden;position:relative}
.sy-bleed img{display:block;width:100%;height:100%;object-fit:cover}

/* Hero */
.sy-hero{padding:96px 40px 64px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:24px}
.sy-hero h1{font-size:12px;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:#5c5953;margin:0}
.sy-hero-t{font-size:clamp(34px,4.6vw,56px);font-weight:300;line-height:1.05;letter-spacing:-1.2px;max-width:900px}
.sy-hero-img{height:min(82vh,820px)}
.sy-trio{position:absolute;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:linear-gradient(transparent,rgba(29,28,27,.55))}
.sy-trio a{color:#f8f7f4;text-decoration:none;padding:120px 40px 36px;display:flex;flex-direction:column;gap:6px;border-left:1px solid rgba(248,247,244,.25);transition:background-color .3s ease}
.sy-trio a:first-child{border-left:0}
.sy-trio a:hover{background:rgba(29,28,27,.25);color:#f8f7f4}
.sy-trio b{font-size:24px;font-weight:300}
.sy-trio span{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#e4e1db}

/* Model band */
.sy-model{background:#efede8;padding:140px 40px}
.sy-model-in{max-width:1280px;margin:0 auto;display:flex;flex-direction:column;gap:72px;align-items:center;text-align:center}
.sy-model svg{width:100%;height:auto;max-width:1200px;display:block}

/* Survey dark */
.sy-dark{background:#1d1c1b;color:#f8f7f4}
.sy-survey{padding:140px 40px}
.sy-survey-in{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:80px;align-items:center}
.sy-survey svg.ring{width:100%;max-width:520px;height:auto;display:block;margin:0 auto}
.sy-lvls{display:flex;flex-direction:column}
.sy-lvls div{display:flex;justify-content:space-between;align-items:center;padding:22px 0;border-bottom:1px solid #3d3b38;font-size:22px;font-weight:300}
.sy-lvls div span{display:flex;align-items:center;gap:12px;font-size:14px;color:#c9c6c0}
.sy-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;max-width:1280px;margin:0 auto 64px}
.sy-a{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-size:13px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:inherit}
.sy-a:hover{color:inherit}
.sy-a svg{transition:transform .35s cubic-bezier(.22,.8,.24,1)}
.sy-a:hover svg{transform:translateX(4px)}

/* Photo pair */
.sy-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);height:min(70vh,680px)}
.sy-pair .sy-bleed{height:100%}

/* Process */
.sy-proc{padding:140px 40px}
.sy-bars{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;align-items:end;height:420px}
.sy-bars div{background:#d9d5ce}
.sy-bars-l{max-width:1280px;margin:20px auto 0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;font-size:13px;letter-spacing:1px;color:#3d3b38}
.sy-marks{max-width:1280px;margin:40px auto 0;padding-top:24px;border-top:1px solid #c9c6c0;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:14px;color:#3d3b38}
.sy-marks span{display:flex;align-items:center;gap:10px}
.sy-levels{max-width:1280px;margin:96px auto 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.sy-levels div{background:#efede8;padding:48px 28px;display:flex;flex-direction:column;gap:18px}
.sy-levels b{font-size:26px;font-weight:300}

/* Organisation */
.sy-org{background:#efede8;padding:140px 40px}
.sy-org-in{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:10px}
.sy-org-in > div{background:#f8f7f4;min-height:420px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:48px 24px;position:relative}
.sy-org-in svg{width:100%;height:auto;display:block}
.sy-ex{position:absolute;top:16px;right:18px}

/* Expert */
.sy-exp{height:min(88vh,860px)}
.sy-exp-over{position:absolute;inset:0;background:linear-gradient(90deg,rgba(29,28,27,.72),rgba(29,28,27,.1) 70%);color:#f8f7f4;display:flex;flex-direction:column;justify-content:flex-end;padding:0 40px 72px}
.sy-exp-in{max-width:1280px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:28px}
.sy-exp .sy-k{color:#e4e1db}
.sy-tl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:720px}
.sy-tl div{display:flex;flex-direction:column;gap:14px;font-size:20px;font-weight:300}
.sy-tl .n{position:relative;height:36px}
.sy-tl .n i{position:absolute;left:36px;right:0;top:17px;height:1px;background:rgba(248,247,244,.4)}
.sy-tl .n b{position:relative;display:block;width:36px;height:36px;border-radius:50%;border:1px solid #f8f7f4}

/* Close */
.sy-close{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:560px}
.sy-close-t{padding:96px 64px;display:flex;flex-direction:column;justify-content:center;gap:32px}
.sy-links{display:flex;flex-direction:column;border-top:1px solid #3d3b38}
.sy-links a{display:flex;justify-content:space-between;align-items:baseline;padding:18px 0;border-bottom:1px solid #3d3b38;color:#f8f7f4;text-decoration:none;font-size:22px;font-weight:300;transition:color .2s}
.sy-links a span{font-size:12px;letter-spacing:.14em;color:#b3aea6}
.sy-links a:hover{color:#b3aea6}
.sy a:focus-visible{outline:1px solid currentColor;outline-offset:4px}

@media (max-width:900px){
  .sy-survey-in,.sy-org-in,.sy-close,.sy-pair{grid-template-columns:minmax(0,1fr)}
  .sy-pair{height:auto}.sy-pair .sy-bleed{height:60vh}
  .sy-trio{position:static;grid-template-columns:minmax(0,1fr);background:#1d1c1b}
  .sy-trio a{padding:22px 24px;border-left:0;border-top:1px solid #3d3b38}
  .sy-hero-img{height:auto}.sy-hero-img > img{height:60vh}
  .sy-bars{height:240px}.sy-bars-l{font-size:10px;letter-spacing:0}
  .sy-levels{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sy-close-t{padding:64px 24px}
}
@media (max-width:600px){
  .sy-model,.sy-survey,.sy-proc,.sy-org{padding:88px 20px}
  .sy-hero{padding:72px 20px 48px}
  .sy-exp-over{padding:0 20px 48px}
  .sy-tl div{font-size:16px}
}
@media (prefers-reduced-motion:reduce){.sy *{transition:none !important}}

/* ---- Six-section version ---- */
.sy-center{text-align:center;display:flex;flex-direction:column;align-items:center;gap:18px}
.sy-hero-t{max-width:820px}
.sy-paths,.sy-plat{padding:140px 40px}
.sy-paths-in{max-width:1360px;margin:64px auto 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.sy-path{display:flex;flex-direction:column;gap:20px;padding:48px;min-height:640px;text-decoration:none;color:inherit;transition:opacity .3s ease}
a.sy-path.sy-dark{color:#f8f7f4}
.sy-path:hover{color:inherit;opacity:.94}
.sy-alt{background:#efede8}
.sy-path-vis{flex:1;display:flex;align-items:center;justify-content:center}
.sy-path-vis svg.ring{width:100%;max-width:340px;height:auto}
.sy-path-bars{flex-direction:column;align-items:stretch;justify-content:flex-end}
.sy-path-bars .sy-bars{height:300px;width:100%;max-width:none;gap:8px}
.sy-path-bars .sy-bars-l{margin-top:14px;max-width:none;width:100%;gap:8px;font-size:10px;letter-spacing:.06em}
.sy-path-name{display:flex;align-items:center;justify-content:space-between;font-size:28px;font-weight:300;border-top:1px solid currentColor;padding-top:20px}
.sy-path-name svg{transition:transform .35s cubic-bezier(.22,.8,.24,1)}
.sy-path:hover .sy-path-name svg{transform:translateX(4px)}

.sy-plat{background:#efede8}
.sy-bento{max-width:1360px;margin:64px auto 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:300px;gap:10px}
.sy-bento figure{margin:0;background:#f8f7f4;padding:28px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}
.sy-bento figure.sy-dark{background:#1d1c1b}
.sy-bento figcaption{position:absolute;top:22px;left:26px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#5c5953}
.sy-bento .sy-dark figcaption{color:#c9c6c0}
.b-dash{grid-column:span 2;grid-row:span 2;flex-direction:column;align-items:stretch !important}
.b-dash .sy-lvls{width:100%;margin-top:40px}
.b-agg{grid-row:span 1}.b-agg svg{max-width:210px !important}
.b-follow{grid-column:span 1}
.b-follow svg{width:100%;height:auto}
.sy-doc{width:150px;background:#f8f7f4;border:1px solid #e4e1db;padding:18px;display:flex;flex-direction:column;gap:8px;box-shadow:0 18px 36px -24px rgba(29,28,27,.4);margin-top:20px}
.sy-doc svg{width:70px;height:70px;margin-bottom:6px}
.sy-doc i{display:block;height:5px;background:#e4e1db}
.b-book{background:#efede8 !important;border:1px solid #e4e1db}
.sy-book{width:150px;height:200px;background:#1d1c1b;color:#f8f7f4;display:flex;flex-direction:column;justify-content:space-between;padding:20px 16px;margin-top:20px;box-shadow:6px 6px 0 #c9c6c0}
.sy-book span{font-size:28px;font-weight:300;letter-spacing:.1em}
.sy-book svg{width:100%;height:auto}

.sy-add{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);min-height:680px}
.sy-add-img{min-height:480px}.sy-add-img img{position:absolute;inset:0}
.sy-add-t{padding:96px 64px;display:flex;flex-direction:column;justify-content:center;gap:24px}
.sy-addl{list-style:none;margin:16px 0 0;padding:0;border-top:1px solid #1d1c1b}
.sy-addl li{padding:20px 0;border-bottom:1px solid #c9c6c0;font-size:24px;font-weight:300}

.sy-logos{padding:140px 40px}
.sy-logos h2{margin:0}
.sy-logo-grid{max-width:1200px;margin:56px auto 0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:48px 32px;align-items:center;justify-items:center}
.sy-logo-grid img{height:30px;width:auto;max-width:130px;object-fit:contain;opacity:.7}
.sy-close-t{gap:24px}

@media (max-width:1000px){
  .sy-bento{grid-template-columns:repeat(2,minmax(0,1fr))}
  .b-dash{grid-column:span 2}.b-agg{grid-row:span 1}.b-follow{grid-column:span 1}
  .sy-logo-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (max-width:900px){
  .sy-paths-in,.sy-add{grid-template-columns:minmax(0,1fr)}
  .sy-path{min-height:520px;padding:32px 24px}
  .sy-add-t{padding:64px 24px}
}
@media (max-width:600px){
  .sy-paths,.sy-plat,.sy-logos{padding:88px 16px}
  .sy-bento{grid-template-columns:minmax(0,1fr);grid-auto-rows:280px}
  .b-dash,.b-follow{grid-column:span 1}.b-dash{grid-row:span 2}
  .sy-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sy-path-bars .sy-bars-l{font-size:8px;letter-spacing:0}
}
